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日 下午06:37