解決する問題
ミドルウェアがない場合、すべてのLLM呼び出しに責任あるAIチェックを追加することは、LLMを呼び出すすべての場所に評価コードを書くことを意味し、ロジックの重複、カバレッジのギャップのリスク、アプリケーションコードの混乱を引き起こします:仕組み
RAILラッパーのメソッドを呼び出すと、3つのことが透過的に行われます:- あなたのメッセージは、通常のAPI呼び出しとして基盤となるLLM APIに転送されます。
- LLMレスポンスは、あなたが設定したモードでRAIL評価エンドポイントに送信されます。
- 元のコンテンツ、RAILスコア、次元ごとのスコア、および
threshold_metブール値を含むラップされたレスポンスオブジェクトが返されます。
サポートされているプロバイダ
| ラッパー | ラップする | Python | JavaScript |
|---|---|---|---|
RAILOpenAI | OpenAIチャット完了 | はい | はい |
RAILGemini | Google Gemini | はい | はい |
RAILAnthropic | Anthropic Claude | はい | はい |
RAILLangChain | 任意のLangChain LLM | はい | — |
| カスタムラッパー | 任意のHTTPベースのLLM | はい | はい |
観察モードと強制モード
- 観察のみ
- スレッショルドを強制
- 自動再生成
すべてのレスポンスにスコアを付け、ブロックはしません。レスポンスフローを中断せずに品質を測定するために使用します。
カスタムミドルウェアの作成
組み込みのラッパーがないLLMプロバイダを使用している場合は、コアのeval()呼び出しを使用して独自のミドルウェアを構築します:
次に何をするか
概念: ポリシーエンジン
セッション全体でスコアに基づいてアクションを実行する宣言的ルール。
Python: 統合
プロバイダラッパーの完全なドキュメントとオプション。
JavaScript: プロバイダ
OpenAI、Gemini、AnthropicのためのTypeScriptラッパー。
Python: ミドルウェアSDK
RAILMiddleware - 任意のLLM関数をラップします。