周五了,一个星期快结束了,闲来问问chatgpt (gpt-3.5) 今天 ( 2023.06.03星期五)星期几,chatgpt给出的回答如下:
今天是2023年6月2号没错,但是是星期几却回答错了,打工人对今天星期几,特别是星期五绝对是不会记错的。所以,没怀疑今天星期几。那chatgpt为什么回答错了呢?再细问:
哈哈,给出的逻辑没啥毛病,但是呢,还是认定今天是星期四。如果让程序员做的话,那就是写代码实现,通过写一个简单的调用系统时间函数就可以知道今天星期几了。我们知道chatgpt是生成模型,在做计算处理这种确定性任务时,生成模型是无法进行算术运算处理,无法保证答案的确定性,于是进一步问chatgpt能否给出代码实现:
chatgpt还贴心的给出了代码的解释,讲解的不错,但说代码打印的结果是:The weekday of 2023-6-2 is Thursday",哈哈,真是吗?我们亲自运行下chatgpt给出的代码:
import datetime
def get_weekday(year, month, day):
target_date = datetime.date(year, month, day)
weekday = target_date.weekday()
weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
return weekdays[weekday]
# 示例使用
year = 2023
month = 6
day = 2
weekday = get_weekday(year, month, day)
print(f"The weekday of {year}-{month}-{day} is {weekday}.")
在自己的电脑下运行的结果如下:
代码运行出来是:Friday,chatgpt给出了正确的代码,但是却给出了错误的结果,从运算过程到最终结果,chatgpt目前来看完全通过这种生成模式是很难保证这种计算的唯一性的。
chatgpt不是万能的,特别是需要做数值运算这些唯一性答案任务的时候,chatgpt是还不足以通过生成式这种方式代替算术进行运算,chatgpt是否可以与工具结合,避免这种问题?如下是运作流程:
上面的流程只是针对具体计算任务,我们可以继续衍生到各种类型的工具调用,让chatgtp与专业业务的应用处理工具相结合,为我们提供准确的效果。