工程开发
add-tool avatar

add-tool

使用 Prompture 的 ToolRegistry、装饰器与自动化架构生成功能来实现函数调用工具,赋予 LLM 代理与外部代码互动的能力。

简介

本技能为基于 Prompture 的 LLM 代理整合自定义可调用函数提供了强大的框架。通过利用 ToolRegistry 和专门的装饰器,开发人员可以架起大型语言模型与真实执行环境之间的桥梁。此能力对于构建需要获取实时数据、执行计算或与外部系统互动的自主代理至关重要。它通过自动从 Python 类型提示和 docstrings 推导工具定义,简化了手动建立 JSON 架构的复杂度。

  • 使用 tool_from_function 公用程序自动产生 ToolDefinitions,并将 Python 类型映射为 JSON 架构类型。

  • 支持灵活的注册方法,包含 @registry.tool 装饰器或明确的 registry.register() 调用,以便管理工具集合。

  • 为多个 LLM 提供者提供内置序列化功能,包含 OpenAI、Anthropic、Groq 以及基于 Ollama 的模型。

  • 促进端到端的对话整合,代理可自主解析工具调用、执行它们并将结果回馈给 LLM,直到产生最终回复为止。

  • 包含内置的错误处理机制,执行例外状况会被捕捉并回传给 LLM,从而实现智慧化的错误复原。

  • 用户应为每个工具定义清晰简洁的 docstrings,因为这些内容是 LLM 理解何时以及如何调用该函数的主要描述依据。

  • 请确保目标驱动程序支持工具使用(例如确认 supports_tool_use = True),以启用自动化的互动工作流程。

  • 函数应回传字符串类型的输出;若需要结构化资料,请使用 json.dumps() 进行序列化,以确保与 LLM 处理流程的相容性。

  • 在 Conversation 构造函数中使用 max_tool_rounds 以防止无限循环,并确保具成本效益的工具执行。

  • 在部署前务必使用单元测试来验证工具架构,以确保 Python 函数与底层 JSON 架构之间的映射正确无误。

仓库统计

Star 数
9
Fork 数
0
Open Issue 数
0
主要语言
Python
默认分支
main
同步状态
空闲
最近同步时间
2026年5月3日 18:37
在 GitHub 查看