工程開發
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日 下午06:37
在 GitHub 查看