在构建OpenAI代理时,有时会遇到工具调用不是有效的JSON格式问题。本文将展示如何定义一个自定义工具调用解析器来处理某些格式错误的函数调用。这些步骤基于OpenAI Agent笔记本,并添加了自定义工具调用解析器。
初始设置
首先,我们需要导入一些基本的构建块:
- OpenAI API(使用我们自己的LlamaIndex LLM类)
- 用于存储对话历史记录的地方
- 定义我们的代理可以使用的工具
如果您在Colab上打开此Notebook,可能需要安装LlamaIndex。
%pip install llama-index-agent-openai
%pip install llama-index-llms-openai
!pip install llama-index
import json
from llama_index.core.tools import FunctionTool
import nest_asyncio
nest_asyncio.apply()
接下来,我们定义一些非常简单的计算器工具。
def multiply(a: int, b: int) -> int:
"""将两个整数相乘并返回结果"""
return a * b
multiply_tool = FunctionTool.from_defaults(fn=multiply