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

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案