主な機能
V2 エラーコードと機能 extras
一貫したエラー処理のための 13 種類の V2 標準エラーコード。機能ベースの extras:8 つのオプション extras とフル extra で最小またはフルインストールに対応。
非同期優先デザイン
ネイティブ async/await を全面採用。httpx 駆動のトランスポートとコネクションプーリング。CancellableStream でストリームのグレースフル終了。
Pydantic v2 型
Pydantic v2 バリデーションによる完全な型ヒント。ProtocolManifest、Message、ContentBlock、StreamingEvent — すべて型安全でランタイム検証付き。
ResilientExecutor
ResilientExecutor は背圧、レート制限、サーキットブレーカー、指数バックオフによるリトライを統合。PreflightChecker が実行前にリクエストをゲート。
モデルルーティング
ModelManager と ModelArray によるインテリジェントなモデル選択。ラウンドロビン、加重、コストベース、品質ベースのルーティング戦略。
本番テレメトリ
Prometheus エクスポート付き MetricsCollector。OpenTelemetry による分散トレーシング。構造化ログ。ヘルスモニタリング。ユーザーフィードバック収集。
構造化出力
JSON モード設定、Pydantic モデルからのスキーマ生成、出力検証。コンテンツフィルターと PII 検出のガードレール。
Pythonic で直感的
自然に感じるクリーンで Pythonic な API。モデル識別子からクライアントを作成し、フルーエントビルダーでリクエストを構築、統一されたストリーミングイベントをイテレート。
同じコードがすべてのプロバイダーで動作。OpenAI から Anthropic、DeepSeek への切り替えは、1 つの文字列を変更するだけ — プロトコルマニフェストが残りを処理します。
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/
プラグインベースクラス、PluginRegistry、HookManager、ミドルウェアチェーン。JSON モード設定、SchemaGenerator、OutputValidator。