函数调用 (function_call) #189
chenxizhang
started this conversation in
Use cases - 简体中文
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
这是 GPT-4 的一个新功能 (https://platform.openai.com/docs/guides/function-calling),通过定义一些可用的函数,并且传递给大语言模型,它会尝试理解用户的提示词后,推测是否有一些任务是需要先调用这些函数来完成,如果是,它会把相关数据返回给调用者(哪些函数需要调用,而且对应的参数有哪些),调用方可以决定是否要调用这些函数,然后继续把函数调用的结果传递给大语言模型,最后由它一次性生成所需要的结果。
想象一下这么一个场景:用户希望GPT来帮助做一个旅行行程规划,这当然是需要考虑当前的天气情况的,但是GPT本身是不具备了解最新的天气数据的,那么,有没有可能GPT在识别出来用户的提示词中有可能需要用到当前某个地方的天气信息时,让我们调用外部的工具来实现这个查询,然后把查询到的信息再反馈给他,然后让它最终生成这个行程规划呢?
可以的,这就是function_call 的主要应用场景。我们来看看这是怎么实现的。
上图中其实可以看出来,它其实”调用“了我本地的一个函数来查询天气,得到的结果是上海的天气是20度。
Tip
实际上,functions 参数接受一个或者多个函数,你可以传递任意多个。虽然我目前系统定义只有一个,但未来肯定会有更多的。
通过下面的动图,你可能看的更加清楚一点。
虽然目前只提供了一个函数,而且还只是一个范例(我并没有真的去查询实时天气,你可能每次调用都会返回20度),但相信这个功能是很重要的,格局一旦打开,前途不可限量。我已经等不及看看怎么把一些现有的基础功能集成进来了。
Tip
你可以实现一个自己的 get_current_weather 函数,并且在当前的 PowerShell 会话中导入进来,这样就可以覆盖掉我的那个,而去真正按照你的需求工作了。
Beta Was this translation helpful? Give feedback.
All reactions