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

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

Go プロトコルランタイム(v1.0.0)。pkg/ailib のマニフェスト HTTP チャットと pkg/contact フォールバック。 V2 エラーコード 13 種、ChatStream SSE、ExecutionMetadata。Go 1.21+。

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

主な機能

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

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

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

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

プロトコル読み込み

ローカル・環境変数・GitHub フォールバックからプロバイダーマニフェストを読み込み。 ファイル監視によるホットリロード対応。再起動不要。

レジリエンスパターン

組み込みサーキットブレーカー、トークンバケット制限、指数バックオフ再試行、 max-inflight 背圧。環境変数で設定可能。

埋め込みとベクトル

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

キャッシュとバッチ

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

プラグインシステム

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

シンプルで統一された API

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

ビルダーパターンで流暢なリクエスト構築。ストリーム結果は基盤プロバイダーに依らず 統一された 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 トランスポートまでの 5 層。ストリーミングパイプラインが中核です。

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 キー解決(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。