AI-Lib
v1.0.0 · Pkg.go.dev

Go 运行时
适用于 AI-Protocol。

Go 协议运行时(v1.0.0)。pkg/ailib 负责清单 HTTP 聊天;pkg/contact 提供回退策略。 13 个 V2 错误码、ChatStream SSE 解码器,响应附带 ExecutionMetadata。Go 1.21+。

go get
go get github.com/ailib-official/ai-lib-go@v1.0.0

核心特性

V2 错误码与 Feature 开关

13 个 V2 标准错误码,跨服务商统一错误处理。 Feature 门控模块:7 个可选能力,外加 full 元特性,可按需精简或完整构建。

算子流式管道

流式响应经可组合算子处理:Decoder → Selector → Accumulator → FanOut → EventMapper。各阶段均由协议配置驱动。

协议加载

从本地文件、环境变量或 GitHub 回退加载服务商清单。 支持文件监视热重载,配置更新无需重启。

韧性模式

内置熔断、令牌桶限流、指数退避重试与 max-inflight 背压。 均可通过环境变量配置。

嵌入与向量

EmbeddingClient 提供向量运算 ??cosine similarity, Euclidean distance, dot product. 可原生构建语义检索与 RAG 应用。

缓存与批处理

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

插件系统

可扩展插件架构,含钩子与中间件链。无需改动核心即可注入自定义行为。 Guardrails 支持内容过滤与 PII 检测。

统一、简洁的 API

同一套代码适用于全部 37+ 服务商。只需更换模型标识符 ??协议清单会处理其余一切:端点、鉴权、参数映射与流式格式。

Builder 模式提供流畅的请求构造 API。流式结果统一为 StreamingEvent, 与底层服务商无关。

use ai_lib_rust::{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-ts 运行时架构 客户端层 AiClient · Message · ChatRequestBuilder · ChatResponse 策略引擎 PreflightChecker · Validator · FallbackChain 协议层 ProtocolLoader · Manifest · Validator 弹性层 RateLimiter · Backpressure · Retry 流式管道 Decoder Selector Accumulator FanOut EventMapper 传输层 HttpTransport (undici/fetch) · Auth · Interceptors OpenAI · Anthropic · Gemini · DeepSeek · Qwen · 37 服务商

模块概览

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 Key 解析(keyring + 环境变量)、代理 / 超时配置与中间件。

resilience/

熔断器(open / half-open / closed)、令牌桶限流、max-inflight 信号量背压。

embeddings/

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

cache/ + batch/

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

plugins/ + guardrails/ + structured/

Plugin trait、PluginRegistry、HookManager 与中间件链。Guardrails 提供关键词 / 模式过滤与 PII 检测。

开始使用 Go 构建