在Agent Lab中创建自定义工具
除了 watsonx.ai 在Agent Lab中提供的工具外,您还可以选择创建自己的工具,该工具可以接收自定义输入并生成特定输出。 您的代理可以选择将自定义工具与代理配置中的其他工具结合使用,以生成对用户问题的答复。
开始之前
在 Agent Lab 中创建自定义工具之前,必须在部署空间中部署 Python Interpreter AI 服务资产。 有关如何创建部署空间的详细信息,请参阅部署空间中的资产。
配置自定义工具
要在Agent Lab中创建自定义工具,您必须定义Agent框架用于注册和运行工具的多个细节,如下所示:
- 要设置自定义工具,请指定名称并描述工具的主要功能。重要事项 :请详细说明自定义工具的功能,包括可接受的输入和工具响应的格式。 基础模型将这些信息作为输入上下文,以决定代理框架是否应使用该工具生成代理的最终响应。
- 自定义工具接受的输入格式定义为JSON模式。 为每个输入指定一个变量名,说明输入的内容以及输入的数据类型。
- 定义一个 Python 函数,该函数接受JSON模式中定义的输入变量作为参数,并返回特定的响应。 有关您的功能必须满足的要求的详细信息,请参阅 Python 功能规格。
- 可选 :您可以通过提供示例输入并运行自定义工具来测试和调试您的函数,以验证函数是否生成正确的结果。
- 点击 “创建” 将您的自定义工具添加到代理中。
- 可选项: 您可以单击配置图标
更新自定义工具配置。
Python 功能说明
您必须定义一个 Python 函数,当代理框架使用您的自定义工具生成结果时,该函数将运行。 功能定义必须符合以下规范:
您只能定义一个 Python 函数,其中包含完成自定义工具任务的核心逻辑。
您每次只能使用一组输入测试功能。 要使用不同的值作为测试输入,必须手动编辑测试输入JSON模式并重新运行代码。
您无法安装 Python 代码包,但可以导入 watsonx.ai 中包含的代码包。
查看包含的套餐列表:
- 在项目主页上,点击 “管理”选项卡。
- 点击 “环境 ”,然后点击 “模板”选项卡
- 打开运行时 24.1 on Python 3.11 S 模板查看 Python 包列表。
在Agent Lab中创建的自定义工具示例
当您选择创建自定义工具时,可以在 “定义”页面上逐步开发该工具。 您必须指定该工具接受的输入类型,并定义一个 Python 函数,当代理框架调用自定义工具时,该函数将运行。 在测试页面上 ,您可以提供测试输入示例并运行您的函数来验证您的代码。
以下示例定义了一个自定义工具,用于计算两个整数的乘积。 您指定每个输入参数并定义一个 Python 函数,该函数接受每个输入并执行乘法运算。
请为您的自定义工具命名,并提供详细的描述,包括输入和输出格式以及工具执行的主要任务。 例如:
Name: Multiple numbersDescription: Use this tool when multiplying two numbers. The tool consists of a Python function named "multiply". The function takes two parameters, "number_1" and "number_2". Both parameters are expected to be numerical values, which can only be integers numbers. The tool's primary operation is to multiply two input numbers by using the '*' operator in Python, which performs multiplication. The result of the operation is returned as the output of the tool.提供一个JSON模式,定义 Python 函数的输入参数,包括每个参数的名称、数据类型和描述:
{ "number_1": { "title": "Number 1", "description": "The first number to multiply", "type": "integer" }, "number_2": { "title": "Number 2", "description": "The second number to multiply", "type": "integer" } }定义一个 Python 函数,该函数接受两个数字作为输入,将数值相乘并返回结果。
def multiply (number_1, number_2): return number_1 * number_2在测试页面上 ,系统会根据您为 Python 函数的参数定义的JSON模式自动生成测试输入的JSON模式。 请按如下所示将两个整数作为输入参数传入您的函数:
{ "number_1": 4, "number_2": 5 }点击运行按钮 ,测试您的代码并验证结果。 结果窗格将显示20作为乘积。