jeremychone/rust-genai
Rust multiprovider generative AI client (Ollama, OpenAi, Anthropic, Gemini, DeepSeek, xAI/Grok, Groq,Cohere, ...)
它解決的問題
genai 是一個 Rust 庫,提供單一且直覺的 API,可存取多個 AI 提供商(例如 OpenAI、Anthropic、Gemini 和 Ollama),而無需使用每個服務的官方 SDK。它在不同提供商之間標準化聊天完成、視覺和函數呼叫,同時讓開發者能使用原生協定以獲得更好的功能支援。
如何運作
該庫使用適配器架構,將通用的 Rust API 映射到不同 AI 提供商的特定協定。它能根據模型名稱自動判斷應使用哪個提供商(例如 gpt- 代表 OpenAI,claude- 代表 Anthropic),或讓開發者使用命名空間語法強制指定特定適配器(例如 groq::model-name)。當提供原生協定時,它會優先使用;否則會回退至 OpenAI 兼容的 API。
適用對象
希望將多個 LLM 提供商整合到應用程式中,卻不願管理多個零散 SDK 或被鎖定於單一提供商 API 的 Rust 開發者。
主要特色
- 廣泛的提供商支援:原生支援超過 26 個提供商,包含透過 Ollama 的本機執行。
- 原生協定實作:使用原生協定而非 SDK,以更好支援推理控制和串流元資料等功能。
- 彈性的模型解析:支援自動模型到適配器的對應,以及針對特定端點和驗證的自訂目標解析器。
- 多模態功能:支援 OpenAI、Gemini 和 Anthropic 等提供商的影像分析功能。
- 進階控制:提供與提供商無關的工具選擇提示和 OpenAI 與 Anthropic 的提示快取控制。
"這是一個真正讓 Rust 開發者能輕鬆跨多個 AI 提供商進行開發的工具。" — @username
相關
- 專案
- 專案
- 專案
- 專案
- 專案