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 的提示缓存控制。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目