xz-provider 0.5.0

LLM 服务提供者抽象层 — 统一的 LLM 服务提供者接口
Documentation

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 请求/响应/消息(完整类型)