购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

奠基石:OpenAI的Function Calling
——AI的百宝箱

Function Calling:AI的“魔法手套”

想象有一位知识渊博但被困在玻璃箱子里的助手,他知道很多事情,可以和你聊天,但无法直接与外界互动。这就是早期的ChatGPT。

2023年6月13日,OpenAI发布了Function Calling功能,相当于给这位助手提供了一套“魔法手套”,让他能够触及箱子外的世界。虽然助手仍然待在箱子里,但现在他可以通过这些“手套”操作外部的各种工具。

记得Function Calling 刚推出时,我用它做了个简单的天气助手。当我问“明天北京下雨吗”,AI不再只是说“我无法获取实时信息”,而是能识别出需要使用天气API,并告诉我具体的天气预报。这种变化虽小,却是AI能力的质的飞跃!

它是如何工作的?

不要被Function Calling这个名字迷惑——AI实际上并不直接执行函数。它的工作方式更像是一个聪明的“翻译官”(图2-2)。

图2-2 Function Calling 工作流程

让我用例子来说明。

1.我问AI:“伦敦现在的温度是多少?”

2.AI思考:“这是关于当前天气的问题,我应该使用天气查询工具。我需要知道的是城市名称(伦敦)。”

3.AI生成结构化请求:

{"function": "get_weather", "parameters": {"city": "London"}}

4.开发者的应用程序收到这个请求,调用真正的天气API。

5.天气API返回结果:“目前伦敦温度为15℃,多云。”

6.AI收到这个结果,回答:“目前伦敦温度为15℃,天气多云。需要带件轻外套出门。”

这种设计非常聪明:AI负责理解意图并确定需要什么信息,而实际获取信息的任务则交给了专门的工具。

Function Calling的能力解释见表2-6。

表2-6 Function Calling 的能力解释

特别值得一提的是“并行Function Calling”——这是2023年12月的更新,让AI能够一次请求多个函数调用。这就像是从“单核处理器”升级到了“多核处理器”,大大提高了处理复杂任务的速度。

比如,当你问“帮我计划一次从上海到东京的三日旅行”时,AI可以同时查询航班信息、酒店价格、旅游景点和天气预报,而不是一个接一个地处理。

小趣事:技术世界的新陈代谢

OpenAI最初使用的functions和function_call参数现在已被更新的tools和tool_choice取代。这看似小小的变化其实反映了AI领域惊人的发展速度——昨天的创新可能成为今天的过时技术。正如我一位开发者朋友所说:“在AI领域,如果你一年没关注最新进展,回来时可能需要重新学习一切。” luXHkG3fxN41E2XXT2gxBWgEwESnHa+LIzkIRgDcfbXEl0EUlC364GOn77l65pbQ

点击中间区域
呼出菜单
上一章
目录
下一章
×