面向 OpenAI API 及多家大模型服务商的异步 Scala 客户端,覆盖聊天、Responses、流式输出、批处理等接口。
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
在 Cargo.toml 中添加依赖
cargo add genai - 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 数据每日更新。
相关项目
统一的 Ruby API,用同一套接口调用 OpenAI、Anthropic、Google、Mistral、DeepSeek 等多家 AI 服务。
一个与模型提供商无关的 TypeScript 工具包,用于构建 AI 应用和智能体,支持 React、Next.js、Svelte、Vue 等。
自托管 AI 网关,将多家服务商的 API 密钥与订阅账号统一接入一个入口,支持调度、容错和用量日志。
类型安全、与模型供应商解耦的 TypeScript AI SDK,支持流式对话、工具调用、智能体和多模态应用。
Python AI 客户端库,用统一简单的接口调用多家大模型服务,支持文本、结构化数据和多轮对话。