之前的chatgpt只是生成一段段文字,并不能精确地处理某项具体业务。
生成的文字,在大模型加持下,会让人类“以为它说的很对”而已。但它不是神,你问它明天的天气,就好比你问一个正常人类一样,都不可能知道具体数据,强行让它回答,也只能得到一个大概的猜测。人类需要去查询天气预报,才能回答你明天具体的天气情况,那么chatgpt也一样需要这么一个查询的过程才能精确回答你。但它作为通用模型,自己不干这些具体的业务,所以call你的function去查。
查询天气这个例子是官方介绍给的,虽然形象生动,但因为太easy了,反而让人产生难道它不会自动去搜索一下天气再回答吗这样的疑问。但现实中有很多功能、业务是非公开的,不调用具体的接口,根本做不到生成精确的回复。
其实chatgpt的能力某种程度上来说非常的弱,比如你随便扔给它一段话,问它上面出现重复次数最多的字是哪个字,共重复了几次,它的回答大概率就会出错。这就是它生成式模型的能力局限性了,此时你给它指定一个function call,只要是诸如统计字数的,都回调一个精确统计字数的函数,就能加强它在这方面的能力了。
所以,我对function call的理解就是,为了弥补chatgpt的模型局限性,即预学习的资料都是公开的,并且生成的文字不保证正确率,而作的一个改善。这一点在某些需要精确回复的场景下,就非常有用了。
【 在 lc900 的大作中提到: 】
: 我觉得function call这个功能, 有点多此一举的意思。
: 如果需要我提供工具,说明我知道了应该用什么工具, 也知道了将要处理的数据是什么样的。 那这件事的意义在哪呢?
: 求高人解惑。
--
FROM 183.157.71.*