工具调用
在你的提示中使用工具
工具调用(也称为函数调用)使 LLM 能够访问外部工具。LLM 并不直接调用工具,而是建议要调用的工具。用户随后单独调用该工具,并将结果提供给 LLM。最后,LLM 将响应格式化为对用户原始问题的答案。
OhMyGPT 在模型和提供者之间标准化了工具调用接口。
有关工具调用在 OpenAI SDK 中如何工作的入门,请参阅本文,或者如果您更喜欢从完整的端到端示例中学习,请继续阅读。
工具调用示例
这里是 Python 代码,它使 LLMs 能够调用外部 API——在这种情况下是古腾堡计划,以搜索书籍。
定义工具
接下来,我们定义要调用的工具。请记住,该工具将由 LLM 请求,但我们在这里编写的代码最终负责执行调用并将结果返回给 LLM。
请注意,“tool”只是一个普通的函数。然后我们编写一个与 OpenAI 函数调用参数兼容的 JSON “规范”。我们将把该规范传递给 LLM,以便它知道这个工具是可用的以及如何使用它。它将在需要时请求该工具,以及任何参数。然后我们将在本地处理工具调用,进行函数调用,并将结果返回给 LLM。
工具使用和工具结果
让我们向模型发出第一个调用:
LLM 以 tool_calls 的完成原因和一个 tool_calls 数组进行响应。在通用的 LLM 响应处理程序中,您会想在处理工具调用之前检查完成原因,但在这里我们将假设情况是这样的。让我们继续,处理工具调用:
消息数组现在包含:
- 我们的原始请求
- LLM 的响应(包含工具调用请求)
- 工具调用的结果(从古腾堡项目 API 返回的 json 对象)
现在,我们可以进行第二次调用,并希望获得我们的结果!
输出将类似于:
我们做到了!我们成功地在提示中使用了一个工具。