Skip to main content
ミドルウェアは、すべての AI レスポンスをインターセプトし、アプリケーションの他の部分に届く前に RAIL スコアを付与するパターンです。AI クライアントを RAIL ラッパーに置き換えます。ラッパーはモデルを呼び出し、レスポンスを評価し、コンテンツとスコアの両方を 1 つのオブジェクトで返します。

解決する課題

ミドルウェアがないと、すべての AI 呼び出しに責任ある AI のチェックを追加するには、モデルを呼び出すすべての箇所に評価コードを書くことになり、ロジックの重複、カバレッジの抜け、アプリケーションコードの煩雑化を招きます:

仕組み

RAIL ラッパーのメソッドを呼び出すと、3 つのことが透過的に行われます:
  1. メッセージは通常の API 呼び出しとして、基盤となるモデルの API へ転送されます。
  2. モデルのレスポンスは、設定したモードで RAIL 評価エンドポイントに送信されます。
  3. 元のコンテンツ、RAIL スコア、次元ごとのスコア、threshold_met のブール値をすべて 1 つの戻り値に含む、ラップされたレスポンスオブジェクトが返されます。

サポートされているプロバイダ

観察モードとエンフォースモード

すべてのレスポンスをスコアリングしますが、ブロックはしません。レスポンスのフローを中断せずに品質を測定したいときに使います。

カスタムミドルウェアの作成

組み込みラッパーのないモデルプロバイダを使う場合は、コアの eval() 呼び出しを使って独自のミドルウェアを構築します:

次のステップ

コンセプト: ポリシーエンジン

セッション全体でスコアに基づきアクションを取る宣言的ルール。

Python: インテグレーション

プロバイダラッパーの完全なドキュメントとオプション。

JavaScript: プロバイダ

OpenAI、Gemini、Anthropic 用の TypeScript ラッパー。

Python: ミドルウェア SDK

RAILMiddleware — 任意のモデル関数をラップします。