Repolode
jeremychone

jeremychone/rust-genai

一个 Rust 库,用统一的 API 调用多家 AI 服务商,并尽量使用各家原生协议。

Star
936
Fork
197
未关闭 Issue
42
最近提交
3天前

这是什么?

genai 是一个面向生成式 AI 模型的 Rust 客户端库,提供统一的对话 API,支持 OpenAI、Anthropic、Gemini、Ollama(本地模型)、Groq、xAI、DeepSeek、Cohere、Mistral 等多家服务商。每个模型会根据名称前缀自动选择适配器,也可以用 `groq::`、`ollama_cloud::` 等命名空间强制指定。

在服务商提供原生协议的情况下,库会直接使用原生协议,因此推理控制、思考预算、流式元数据和多模态输入等特有功能都能被完整表达;如果服务商主要提供 OpenAI 兼容接口,则走兼容层。自定义的 OpenAI 兼容端点可以通过环境变量配置,也可以用 ServiceTargetResolver 自定义认证和地址。

项目重点是文本对话、视觉和函数调用,追求易用和通用接口,而不是覆盖每家服务商 SDK 的全部能力。TLS 后端可通过 Cargo feature 选择。

核心功能

  • 01统一的对话 API,覆盖多家 AI 服务商,包括本地 Ollama 模型
  • 02根据模型名自动选择适配器,也可用命名空间强制指定
  • 03优先使用服务商原生协议,无原生协议时使用 OpenAI 兼容接口
  • 04支持通过环境变量或目标解析器自定义端点和认证
  • 05支持图像输入和函数调用
  • 06TLS 后端可选(默认 rustls,也可用 native-tls)

适用场景

  • 在 Rust 应用中切换 OpenAI、Anthropic、Gemini 等模型,无需重写调用代码
  • 通过 Ollama 调用本地模型,并与云端服务商使用同一套接口
  • 将 Rust 服务接入自建的 OpenAI 兼容推理服务
  • 为 Rust 后端添加图像理解或函数调用能力

快速上手

  1. 1

    在 Cargo.toml 中添加依赖

    cargo add genai
  2. 2

    创建客户端并使用模型名称调用 exec_chat

使用前须知

  • 仍处于 1.0 之前的版本(0.7.x),次版本之间可能有破坏性变更。

收录于专题

标签

常见问题

rust-genai 是什么?
一个 Rust 库,用统一的 API 调用多家 AI 服务商,并尽量使用各家原生协议。 genai 是一个面向生成式 AI 模型的 Rust 客户端库,提供统一的对话 API,支持 OpenAI、Anthropic、Gemini、Ollama(本地模型)、Groq、xAI、DeepSeek、Cohere、Mistral 等多家服务商。每个模型会根据名称前缀自动选择适配器,也可以用 `groq::`、`ollama_cloud::` 等命名空间强制指定。
rust-genai 可以免费使用吗?用的什么许可证?
rust-genai 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
rust-genai 还在维护吗?
活跃维护中。rust-genai 最近一次提交是在 2026年11月4日。
rust-genai 适合用来做什么?
在 Rust 应用中切换 OpenAI、Anthropic、Gemini 等模型,无需重写调用代码 通过 Ollama 调用本地模型,并与云端服务商使用同一套接口 将 Rust 服务接入自建的 OpenAI 兼容推理服务 为 Rust 后端添加图像理解或函数调用能力
rust-genai 怎么安装和运行?
在 Cargo.toml 中添加依赖: cargo add genai 创建客户端并使用模型名称调用 exec_chat
在哪里获取 rust-genai?
源代码和安装说明在 GitHub 上:https://github.com/jeremychone/rust-genai

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目