基于 Chat Completions API 实现外部函数调用
2023年6月20日,OpenAI 官方在 Chat Completions API 原有的三种不同角色设定(System, Assistant, User)基础上,新增了 Function Calling 功能。
functions参数
functions 是 Chat Completion API 中的可选参数,用于提供函数定义。其目的是使 GPT 模型能够生成符合所提供定义的函数参数。请注意,API不会实际执行任何函数调用。开发人员需要使用GPT 模型输出来执行函数调用。
case1 大模型决策用哪个函数
如果提供了functions参数,默认情况下,GPT 模型将决定在何时适当地使用其中一个函数。
case2 强制使用某个执行的函数
可以通过将function_call参数设置为{"name": "<insert-function-name>"}来强制 API 使用指定函数。
case3 强制这一次的调用 强制API不使用任何函数
同时,也支持通过将function_call参数设置为"none"来强制API不使用任何函数。
输出
如果使用了某个函数,则响应中的输出将包含"finish_reason": "function_call",以及一个具有该函数名称和生成的函数参数的function_call对象。
安装依赖包
pip install scipy tenacity tiktoken termcolor openai requests