工程開發
tools avatar

tools

統一的 LLM 函式呼叫與工具使用 API,支援 OpenAI、Anthropic、Google 與 Ollama,提供標準化的 JSON Schema 定義與執行流程。

簡介

此工具技能提供了一個統一且與供應商無關的介面,用於在 LLM 應用程式中實作函式呼叫(Function Calling)與代理人工具使用。它旨在解決不同 AI 供應商之間工具呼叫標準不一致的問題,讓開發人員只需使用 JSON Schema 定義一次函式,即可在 OpenAI、Anthropic、Google Gemini 和 Ollama 的模型上順暢執行。此抽象層處理了供應商特有參數(如 tool_choice)的細微差別,並轉換多輪工具執行模式,大幅減少建構強大 AI 代理所需的樣板程式碼。適合需要建立一致、互通工具集的軟體工程師與 AI 架構師使用。

  • 標準化的 JSON Schema 格式,用於定義工具函式、描述與參數屬性。

  • 統一的 LLMRequest 與 LLMResponse 結構,封裝了工具呼叫請求與執行回饋。

  • 自動轉換工具選擇策略,將高階指令對應至供應商特有的行為,如 auto、none 或 required。

  • 內建支援多輪工具執行模式,包含用於結果訊息的 tool 角色以及關聯的工具呼叫 ID。

  • 支援工具呼叫流程的串流(Streaming),實現與工具啟用模型間的即時互動。

  • 簡化工具結果訊息的管理,確保有效的 JSON 字串能正確與特定的工具呼叫 ID 關聯,以傳送回 LLM 服務。

  • 此技能的輸入為包含名稱、說明與符合 JSON Schema 參數的工具定義列表。

  • 執行流程包含代理人回傳結構化的工具呼叫物件,由宿主系統執行後,再將結果提交回 LLM 服務。

  • 使用工具選擇時,請確保提供正確的 tool_choice 設定,以切換強制、特定或自動模式。

  • 實務限制包含需遵守供應商特定的 Token 限制與函式呼叫模型能力,工具在可能範圍內進行了抽象化,但並未從根本改變這些限制。

  • 非常適合建構自主代理人、資料擷取管線以及需要 LLM 進行外部知識存取或動作的互動系統。

  • 請務必同時安裝所需的供應商 SDK(例如 openai、anthropic、google-genai、ollama)與 llmring,以啟用基礎功能。

倉庫統計

Star 數
3
Fork 數
0
Open Issue 數
0
主要語言
Python
預設分支
main
同步狀態
閒置
最近同步時間
2026年5月4日 上午12:48
在 GitHub 查看