xz-provider
LLM 服务商抽象:统一的 complete / complete_stream 接口,经协议适配器对接 OpenAI Chat、OpenAI Responses、Anthropic Messages 等。
架构(收敛后)
CompletionRequest ──► ProtocolAdapter ──► HTTP ──► ProtocolAdapter ──► Response / StreamEvent
▲
│
OpenAiChat / Responses / Anthropic
│
GenericProvider(唯一 HTTP 栈)
│
ProviderBuilder / ProviderRouter
- 不要再寻找
OpenAiCompatibleProvider:已删除,OpenAI 兼容端点一律 GenericProvider + adapter。
- 共享编解码在
protocol/openai_wire.rs。
最小用法
use xz_provider::{
ProviderBuilder, ProviderConfig, CompletionRequest, Message, RequestOptions, RouteContext,
};
let router = ProviderBuilder::new()
.with_config(ProviderConfig::from_json(r#"{ ... }"#)?)
.build()
.await?;
let resp = router
.complete(
&RouteContext::default(),
CompletionRequest::new("gpt-4o", vec![Message::user("hi")]),
RequestOptions::default(),
)
.await?;
Features
| Feature |
作用 |
openai_compatible (default) |
配置里 open_ai / open_ai_compatible 类型 |
claude / anthropic |
Anthropic Messages 适配器 |
integration-tests |
真机集成测试 |
模块导航
| 路径 |
内容 |
traits |
LlmProvider |
providers::GenericProvider |
HTTP + 取消 + 超时 |
protocol::* |
协议适配器 |
builder |
从配置装配 |
router |
多模型路由 |
types |
请求/响应/消息(完整类型) |