智能助手不仅会动嘴,还要会动手!
Function Calling与Tools
依据上下文输出下一个TOKEN是大语言模型和核心工作模式。但是某些特定的应用场合下,例如当前时间、天气或者需要精确数学计算等无法通过预测输出的事实性信息,大语言模型往往会束手无策——它不掌握相关准确信息。
Function Calling(函数调用)就是解决这类问题的一种方案。这种方案的实现思想可以概括如下:
- 将特定功能封装为计算机可以执行的程序,例如获取当前天气。
- 将该函数的功能、所需要的参数以自然语言的形式描述清楚,然后嵌入大模型的上下文环境中。
- 大模型根据用户对话的上下文来判断是否需要调用工具。如果需要,则以规定好的形式(如JSON)与函数执行标记输出调用函数所需的参数。
- 当大模型的输出含有预定义的函数执行标记时,解析输出参数,调用对应的函数,再将调用结果返回给大模型。这一步可以从会话记录中隐藏,这样用户无感。
- 大模型结合函数调用的结果与之前的上下文,以自然语言的形式输出最终消息。
将类似功能的计算机程序、功能与参数描述等所需资源封装成一个一个方便大模型使用的模块,即为Tools(工具)。
所以,你可以将获取时间、天气、订票、叫车等等各种大模型天生不具备的功能封装成工具供大模型使用,让只会动嘴的大模型真正开始“动手”做事情。大语言模型成为真正负责思考的“大脑”,工具成为它的虚拟手臂,AI助手不再仅限于聊天,而是可以与现实交互,并解决具体问题。
MCP(Model Context Protocol)
有AI相关的想法,但不知道怎么落地?
我是国冰,独立AI开发者。十多年技术一线——半导体显示、智慧城市到自动驾驶;现在一个人+AI,接AI落地项目,从梳理需求到系统落地,陪你走通。
微信聊聊
看我能做什么
看我能做什么