主な機能
V2 エラーコードと Capability Extras
一貫したエラー処理のための V2 標準エラーコード 13 種。能力ベース extras:任意 8 + full。
非同期ファースト設計
全体でネイティブ async/await。httpx トランスポートと接続プール。 CancellableStream で優雅なストリーム終了。
Pydantic v2 型
Pydantic v2 による完全な型ヒントと検証。ProtocolManifest、Message、 ContentBlock、StreamingEvent は実行時検証付きで型安全。
レジリエント実行器
ResilientExecutor は背圧・レート制限・サーキットブレーカー・指数バックオフ再試行を統合。 PreflightChecker が実行前にリクエストをゲート。
モデルルーティング
ModelManager + ModelArray による知的モデル選択。ラウンドロビン、加重、コスト、品質戦略。
本番テレメトリ
Prometheus 出力対応 MetricsCollector。OpenTelemetry 分散トレーシング。 構造化ログ、ヘルス監視、フィードバック収集。
構造化出力
JSON モード設定、Pydantic モデルからの schema 生成、出力検証。 コンテンツフィルタと PII 検出の Guardrails。
Pythonic で直感的
自然に感じるクリーンな Pythonic API。モデル ID からクライアントを作成し、 流暢なビルダーでリクエストを組み立て、統一ストリームイベントを反復します。
同じコードがすべてのプロバイダーで動作します。OpenAI から Anthropic、DeepSeek へは 文字列を一つ変えるだけ——残りはマニフェストが処理します。
from ai_lib_python import AiClient
# Works with ANY provider
client = await AiClient.create(
"anthropic/claude-3-5-sonnet"
)
# Streaming chat
async for event in client.chat() \
.user("Explain AI-Protocol") \
.temperature(0.7) \
.max_tokens(1000) \
.stream():
if event.is_content_delta:
print(event.as_content_delta.text,
end="")
# Non-streaming with stats
response, stats = await client.chat() \
.user("Summarize this") \
.execute_with_stats()
print(f"Tokens: {stats.total_tokens}")
print(f"Latency: {stats.latency_ms}ms") 内部アーキテクチャ
Rust ランタイムと同じ層構造——プロトコル駆動・オペレーターベース、レジリエンスはオプトイン。
モジュール概要
client/ + errors/standard_codes/
AiClient, AiClientBuilder, ChatRequestBuilder, ChatResponse, CallStats, CancelToken, CancellableStream.
protocol/
ProtocolLoader(ローカル / 環境変数 / GitHub)、Pydantic マニフェストモデル、JSON Schema 検証、 ホットリロード。
pipeline/
Decoder(SSE、JSON Lines、Anthropic SSE)、Selector(JSONPath)、Accumulator、FanOut、 EventMapper(プロトコル駆動 / デフォルト / Anthropic)。
resilience/
ResilientExecutor, RetryPolicy, RateLimiter, CircuitBreaker, Backpressure, FallbackChain, SignalsSnapshot, PreflightChecker.
routing/
ModelManager、ModelArray、選択戦略(ラウンドロビン、加重、コスト、品質)。 主要プロバイダーの事前設定カタログ。
telemetry/
MetricsCollector(Prometheus)、Tracer(OpenTelemetry)、構造化 Logger、 HealthChecker、フィードバック収集。
embeddings/ + tokens/
EmbeddingClient のベクトル演算。TokenCounter(tiktoken 連携)と利用コスト見積もり。
plugins/ + structured/
Plugin 基底クラス、PluginRegistry、HookManager、ミドルウェア。JSON モード設定、 SchemaGenerator、OutputValidator。