Zing 论坛

正文

llmrust:用 Rust 构建统一的大语言模型调用接口

llmrust 是一个高性能、类型安全的 Rust 库,通过统一接口调用多个 LLM 提供商,支持 OpenAI、Anthropic、DeepSeek、Google Gemini、Ollama 等主流服务商,提供流式响应、工具调用和 JSON 模式等高级功能。

RustLLMOpenAIDeepSeekAnthropicGeminiAI大语言模型异步流式响应
发布时间 2026/06/06 12:14最近活动 2026/06/06 12:28预计阅读 4 分钟
llmrust:用 Rust 构建统一的大语言模型调用接口
1

章节 01

导读 / 主楼:llmrust:用 Rust 构建统一的大语言模型调用接口

llmrust 是一个高性能、类型安全的 Rust 库,通过统一接口调用多个 LLM 提供商,支持 OpenAI、Anthropic、DeepSeek、Google Gemini、Ollama 等主流服务商,提供流式响应、工具调用和 JSON 模式等高级功能。

2

章节 02

原作者与来源


3

章节 03

项目概述

llmrust 是一个专为 Rust 生态打造的大语言模型(LLM)统一调用库。它的设计灵感来源于 Python 社区广受欢迎的 LiteLLM 项目,但针对 Rust 的性能特性和内存安全模型进行了重新设计。这个库让开发者能够用同一套代码接口,无缝切换 OpenAI、Anthropic、DeepSeek、Google Gemini、Moonshot、Ollama 等多个 LLM 服务商,无需为每个服务商编写重复的网络请求和响应处理代码。

在 AI 应用开发中,开发者常常面临一个痛点:不同 LLM 服务商的 API 格式各异,从请求结构到响应字段都有差异。llmrust 通过抽象层将这些差异隐藏起来,提供统一的 LmrsClient 接口,让开发者专注于业务逻辑而非底层 API 细节。


4

章节 04

统一 API 设计

llmrust 的最大价值在于其统一接口设计。开发者只需创建一个 LmrsClient 实例,然后通过简单的方法调用来注册不同服务商的 API 密钥:

let llm = LmrsClient::new();
llm.set_openai("sk-...").await;
llm.set_anthropic("sk-ant-...").await;
llm.set_deepseek("sk-...").await;

调用模型时,使用 provider/model 的格式即可指定任意已注册的模型:

let resp = llm.chat("openai/gpt-4o", "你好").await?;

这种设计让模型切换变得异常简单,开发者可以在不修改业务代码的情况下,根据成本、性能或可用性需求更换底层模型。

5

章节 05

流式响应支持

对于需要实时反馈的交互式应用,llmrust 提供了完整的异步流式响应支持。通过 stream 方法,开发者可以逐字接收模型输出,实现打字机效果:

let mut stream = llm.stream("openai/gpt-4o", "写一首关于 Rust 的诗").await?;
while let Some(chunk) = stream.next().await {
    print!("{}", chunk?.delta);
}

流式响应不仅提升用户体验,还能减少内存占用,特别适合长文本生成场景。

6

章节 06

类型安全保证

作为 Rust 库,llmrust 充分利用了语言的类型系统。所有 API 响应都通过 serde 反序列化为强类型结构体,在编译期就能捕获大部分错误。库还使用 thiserror 提供了清晰的错误类型层级,让错误处理变得可预测且易于调试。

7

章节 07

高性能架构

llmrust 基于 reqwest HTTP 客户端和 tokio 异步运行时构建,这两个都是 Rust 生态中性能最优的选择。库本身没有额外的运行时依赖,编译后生成单一二进制文件,部署简单,启动迅速。相比需要 Python 解释器或 Node.js 运行时的方案,llmrust 在资源占用和冷启动时间上都有明显优势。


8

章节 08

支持的服务商与功能矩阵

llmrust 目前支持七大主流 LLM 服务商,功能覆盖情况如下:

服务商 支持模型 流式响应 工具调用 状态
OpenAI GPT-4o、GPT-4o-mini、o1 系列 稳定
DeepSeek DeepSeek-Chat、DeepSeek-Coder 稳定
Moonshot/Kimi Moonshot-v1-8k、Kimi-latest 稳定
OpenRouter 任意模型 稳定
Anthropic Claude-3.5-Sonnet、Claude-3-Opus 🚧 0.2 版本 稳定(对话)
Google Gemini Gemini-2.0-Flash、Gemini-1.5-Pro 🚧 0.2 版本 稳定(对话)
Ollama Llama3.2、Qwen2.5 等本地模型 稳定(对话)

值得注意的是,工具调用和 JSON 模式目前主要通过 OpenAI 兼容的服务商实现。Anthropic 和 Gemini 的原生工具调用功能正在开发中,计划在 0.2 版本发布。