AI-Lib AI-Lib
v0.7.1 · Crates.io

Rust 运行时
适用于 AI-Protocol

高性能、协议驱动的 AI 客户端。V2 标准错误码(13 种)、特性标志(7 项 + 完整元特性)、零硬编码提供商逻辑、基于算子的流式管道、编译时类型安全、亚毫秒级开销。

Cargo.toml
ai-lib = "0.7.1"

核心特性

V2 错误码与特性标志

13 种 V2 标准错误码,跨提供商统一错误处理。按特性门控的模块:7 个可选特性加完整元特性,支持最小或完整构建。

基于算子的管道

流式响应通过可组合算子:Decoder → Selector → Accumulator → FanOut → EventMapper。各阶段由协议配置。

协议加载

从本地文件、环境变量或 GitHub 后备加载提供商清单。支持通过文件监听实现热重载。配置更新无需重启。

弹性模式

内置熔断器、令牌桶限流、指数退避重试与最大并发背压。均可通过环境变量配置。

嵌入与向量

EmbeddingClient 提供向量运算:余弦相似度、欧氏距离、点积。原生构建语义搜索与 RAG 应用。

缓存与批处理

带 TTL 的响应缓存(内存后端)。可配置并发、超时及多种处理策略的批处理执行。

插件系统

可扩展的插件架构,含钩子与中间件链。无需修改核心代码即可添加自定义行为。用于内容过滤与 PII 检测的护栏。

简单统一的 API

同一套代码适用于全部 35+ 个提供商。只需修改模型标识符 —— 协议清单会处理其余一切:端点、认证、参数映射、流式格式。

建造者模式提供流畅的请求构造 API。流式结果以统一的 StreamingEvent 类型返回,与底层提供商无关。

use ai_lib::{AiClient, Message, StreamingEvent};

// Works with ANY provider — protocol-driven
let client = AiClient::new(
    "anthropic/claude-3-5-sonnet"
).await?;

// Builder pattern for chat requests
let mut stream = client.chat()
    .user("Explain AI-Protocol")
    .temperature(0.7)
    .max_tokens(1000)
    .stream()
    .execute_stream()
    .await?;

// Unified streaming events
while let Some(event) = stream.next().await {
    match event? {
        StreamingEvent::ContentDelta { text, .. }
            => print!("{text}"),
        StreamingEvent::StreamEnd { stats, .. }
            => println!("\nTokens: {}",
                stats.total_tokens),
        _ => {} // ToolCall, Metadata, etc.
    }
}

内部架构

从用户 API 到 HTTP 传输的五层结构。流式管道是系统的核心。

ai-lib-rust Runtime Architecture Client Layer AiClient · AiClientBuilder · ChatRequestBuilder · ChatResponse Policy Engine Preflight · Validation · ErrorClassification · Signals Protocol Layer ProtocolLoader · Manifest · Validator Resilience Layer CircuitBreaker · RateLimiter · Retry Streaming Pipeline Decoder Selector Accumulator FanOut EventMapper Transport Layer HttpTransport (reqwest) · Auth · Middleware OpenAI · Anthropic · Gemini · DeepSeek · Qwen · 35+ Providers

模块概览

client/ + error_code/

AiClient、AiClientBuilder、ChatRequestBuilder、执行逻辑、策略引擎、预检、错误分类、CallStats、CancelHandle。

protocol/

ProtocolLoader(本地/URL/GitHub)、JSON Schema 验证器、ProtocolManifest 结构、UnifiedRequest 编译、配置类型。

pipeline/

Decoder(SSE、JSON Lines)、Selector(JSONPath)、Accumulator(工具调用)、FanOut(多候选)、EventMapper(统一事件)、Retry 与 Fallback 算子。

transport/

HttpTransport(reqwest)、API 密钥解析(keyring + env vars)、代理/超时配置、中间件支持。

resilience/

熔断器(开/半开/闭)、令牌桶限流、最大并发信号量背压。

embeddings/

EmbeddingClient、EmbeddingClientBuilder、向量运算(余弦相似度、欧氏距离、点积)。

cache/ + batch/

带 TTL 的 CacheManager(MemoryCache、NullCache)。带并发控制与多种策略的 BatchCollector 与 BatchExecutor。

plugins/ + guardrails/ + structured/

Plugin trait、PluginRegistry、HookManager、中间件链。含关键词/模式过滤与 PII 检测的护栏。

用 Rust 开始构建