跳转到内容

Rust SDK 概述

ai-lib-rust(v1.2.0)是 AI-Protocol 的 Rust 运行时。发布的 crate 是覆盖两个 workspace crate 的门面

Crate职责
ai-lib-core执行层:AiClientpipelineprotocoltransporttypesstructured
ai-lib-contact策略层:resiliencecacheroutingpluginsguardrailsbatchtelemetry

聊天场景下,AiClient 不会调用 ProviderDriver。流程为:

  1. 加载提供商清单(ProtocolLoader
  2. 根据清单算子构建 Pipeline
  3. 通过 HttpTransport 发送 HTTP
  4. 产出统一的 StreamingEvent

提供商特有逻辑仍然存在(SSE 解码器、可选 driver、独立服务客户端),但默认集成路径是清单 + pipeline。

始终从 ai_lib_rust 导出:

  • AiClientAiClientBuilderChatBatchRequestCancelHandleCallStats
  • MessageMessageRoleStreamingEventToolCall
  • StandardErrorCodeErrorResult
  • structured(JSON 模式 / schema 校验)
  • 文本工具辅助:StandardTextToolParserToolCallingPolicy、…
  • 策略模块:cachecontextpluginsresilience

按 feature 门控(见 Feature 标志):

  • Core:embeddingsmcpcomputer_usemultimodalsttttsrerank
  • Contact:batchguardrailstelemetrytokensrouting_mvpinterceptors
  • 清单加载: V1 + V2 路径(dist/v2/providers/*.jsonv2/providers/*.yaml、…)
  • 标准错误码: 13 变体 StandardErrorCode(E1001–E9999)
  • 结构化输出: JsonModeConfigOutputValidator(始终可用)
  • 文本工具 / TTC: crate 根部的 StandardTextToolParser 与策略类型
  • 能力注册表: registry::CapabilityRegistry(feature 缺口检测)
领域运行时提供不包含
MCPmcp feature)McpToolBridge 格式转换接入 AiClient 的 MCP 服务端传输
Computer Usecomputer_useComputerActionSafetyPolicy 校验截图 / 输入执行环境
Embeddings / STT / TTS / Rerank独立 HTTP 客户端各模态的完整 pipeline 算子
热更新清单内存缓存文件监听 / 自动重载
ProviderDriver公开 drivers 模块默认 AiClient 聊天路径

Client(crates/ai-lib-core/src/client/

Section titled “Client(crates/ai-lib-core/src/client/)”
  • AiClient — 入口("provider/model" id)
  • ChatRequestBuilder.messages().stream().execute().execute_stream()
  • chat_batch / chat_batch_smart — 始终在 AiClient 上(不依赖 batch feature)

Protocol(crates/ai-lib-core/src/protocol/

Section titled “Protocol(crates/ai-lib-core/src/protocol/)”
  • ProtocolLoaderProtocolManifest、校验器
  • V2 类型位于 protocol::v2

Pipeline(crates/ai-lib-core/src/pipeline/

Section titled “Pipeline(crates/ai-lib-core/src/pipeline/)”

Decoder → Selector → Accumulator → FanOut → EventMapper(由清单配置)。

Transport(crates/ai-lib-core/src/transport/

Section titled “Transport(crates/ai-lib-core/src/transport/)”

HttpTransport、凭证解析(keyring<PROVIDER>_API_KEY)。

按需启用的模块 — 在 AiClient 旁导入并接线;AiClient::new 不会自动开启。

Feature启用内容
embeddingsEmbeddingClient
stt / tts / rerankingSttClientTtsClientRerankerClient
mcpMcpToolBridge
computer_useComputerActionSafetyPolicy
multimodalMultimodalCapabilities
batchBatchExecutor(contact);chat_batch 始终可用
guardrails内容过滤器
telemetry高级反馈 sink
routing_mvpCustomModelManagerModelArray
full以上全部
ai-lib-rust = { version = "1.2.0", features = ["embeddings"] }
  • AiClient max_inflight 背压(AI_LIB_MAX_INFLIGHT
  • ai_lib_rust::resilience 重试、限流、熔断 — 需显式配置
  • 默认客户端未内置: 每次 AiClient::new 不会自动挂载熔断 / 限流
变量用途
AI_PROTOCOL_DIR / AI_PROTOCOL_PATH本地或远程清单根路径
<PROVIDER>_API_KEYAPI 密钥(如 OPENAI_API_KEY
AI_LIB_MAX_INFLIGHT并发请求上限
AI_LIB_BATCH_CONCURRENCY批处理 worker 数量
AI_HTTP_TIMEOUT_SECSHTTP 超时
AI_PROXY_URL显式代理覆盖

权威来源:ai-lib-rust README