因此,当大模型需要使用function call能力时,大模型至少会被调用两次:
-
大模型生成工具可用的json结构
-
大模型根据工具返回结果作为上下文进行答案生成
在整个程序运行的过程中,大模型的本质作用:
-
理解用户需求,判断是否调用工具、调用哪些工具?若需要调用工具,则把自然语言转化为工具需要的结构化语言
-
对用户问题 + 调用工具后的结果进行答案生成,返回给用户
其最终本质还是离不开大模型生成式的原理(废话哈哈,目的是为了更好理解误区)
误区:
大模型本身没有调用工具、执行工具的能力
是我们通过程序让大模型生成工具参数,并通过程序帮大模型执行工具
最后感叹一下:
开发工程师设计的太精妙了!完美利用了大模型的特质,再根据代码程序进行结合实现,在这样的工程实现下相当于给大模型进行了包装,让大模型看起来“拥有了”调用工具的能力