AI-Lib
v1.2.0 · Crates.io

Rust ランタイム
AI-Protocol 向け。

AI-Protocol 向け高性能 Rust ランタイム(v1.2.0)。マニフェスト → Pipeline → HttpTransport。 E/P ワークスペース(ai-lib-core + ai-lib-contact)、V2 エラーコード 13 種、feature ゲート能力。

Cargo.toml
ai-lib-rust = "1.2.0"

主な機能

V2 エラーコードと Feature フラグ

プロバイダー横断で一貫したエラー処理を行う V2 標準エラーコード 13 種。 Feature ゲート付きモジュール:任意 7 機能 + full メタ機能で最小/完全ビルドに対応。

オペレーターベースのパイプライン

ストリーミング応答は合成可能なオペレーターを通過します:Decoder → Selector → Accumulator → FanOut → EventMapper。各段はプロトコル設定で駆動。

プロトコル + パイプライン

AiClient がマニフェストを読み込み、オペレーターパイプラインを実行 (Decoder → Selector → Accumulator → EventMapper)。V1 / V2 パス対応。

E/P ワークスペース

ai-lib-core(実行)と ai-lib-contact(ポリシー)は別クレート。 ai-lib-rust が安定したファサードを再エクスポートします。

Resilience

AiClient に組み込みの max_inflight 背圧。再試行・レート制限・サーキットブレーカーは ai_lib_rust::resilience  opt-in.

埋め込みとベクトル

EmbeddingClient with vector operations ?cosine similarity, Euclidean distance, dot product. セマンティック検索や RAG をネイティブに構築できます。

キャッシュとバッチ

TTL 付きレスポンスキャッシュ(メモリ)。並行度・タイムアウト・複数戦略を設定可能なバッチ実行。

プラグインシステム

フックとミドルウェアチェーンを備えた拡張可能なプラグイン。コアを変更せずに振る舞いを追加。 Guardrails によるコンテンツフィルタと PII 検出。

シンプルで統一された API

同じコードが 37+ プロバイダーで動作します。モデル識別子を変えるだけ ?プロトコルマニフェストがエンドポイント、認証、パラメータ対応、ストリーミング形式を処理します。

ビルダーパターンで流暢なリクエスト構築。ストリーム結果は基盤プロバイダーに依らず 統一された StreamingEvent として届きます。

use ai_lib_rust::{AiClient, Message, StreamingEvent};
use futures::StreamExt;

// 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()
    .messages(vec![Message::user("Hello")])
    .temperature(0.7)
    .max_tokens(1000)
    .stream()
    .execute_stream()
    .await?;

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

内部アーキテクチャ

ユーザー向け API から HTTP トランスポートまでの 5 層。ストリーミングパイプラインが中核です。

ai-lib-rust ランタイムアーキテクチャ クライアント層 AiClient · AiClientBuilder · ChatRequestBuilder · ChatResponse ポリシーエンジン Preflight · Validation · ErrorClassification · Signals プロトコル層 ProtocolLoader · Manifest · Validator レジリエンス層 CircuitBreaker · RateLimiter · Retry ストリーミングパイプライン Decoder Selector Accumulator FanOut EventMapper トランスポート層 HttpTransport (reqwest) · Auth · Middleware 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 キー解決(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、ミドルウェア。キーワード / パターンフィルタと PII 検出の Guardrails。