メインコンテンツまでスキップ

🔎 検索補強生成(RAG)

:::警告

Ollamaを使用している場合、2048トークンのコンテキスト長がデフォルトで設定されている点に注意してください。このため、取得されたデータが利用できない場合があります。検索補強生成(RAG)のパフォーマンスを向上させるためには、Ollamaモデル設定でコンテキスト長を8192トークン以上に増やす必要があります。

:::

検索補強生成(RAG)は、多様な情報源からコンテキストを取り入れることで、チャットボットの会話能力を強化する最先端技術です。これは、ローカルおよびリモート文書、ウェブコンテンツ、さらにはYouTube動画などのマルチメディアソースから関連情報を取得することで機能します。取得されたテキストは、事前設定されたRAGテンプレートと組み合わされ、ユーザーのプロンプトの前に追加され、より情報が豊富でコンテキストに基づいた応答を提供します。

RAGの主な利点の一つは、多様な情報源にアクセスして統合できることです。これにより、複雑な会話シナリオに理想的な解決策となります。例えば、ユーザーが特定の文書やウェブページに関連する質問をした場合、RAGはその情報源から関連情報を取得してチャット応答に統合することができます。また、YouTube動画の字幕や説明を分析することで、関連情報を抽出し、チャット応答に組み込むことができます。

ローカルおよびリモートRAG統合

ローカル文書は、まずワークスペースエリアのドキュメントセクションからアップロードし、#記号を使ってクエリを行う前にアクセスする必要があります。チャットボックス上部に表示されるフォーマットされたURLをクリックします。選択すると、メッセージを送信の上にドキュメントアイコンが表示され、取得が成功したことを示します。

また、#の後にURLを付けてプロンプトを開始することで、ワークスペースエリアに文書をロードすることが可能です。これにより、ウェブコンテンツを直接会話に組み込むことができます。

ウェブ検索によるRAG

ウェブコンテンツ統合のためには、#の後に対象のURLを付けてチャットでクエリを開始します。チャットボックス上部に表示されるフォーマットされたURLをクリックします。選択すると、メッセージを送信の上にドキュメントアイコンが表示され、取得が成功したことを示します。Open WebUIは、可能であればURLから情報を取得して解析します。

:::ヒント ウェブページにはナビゲーションやフッターなどの余計な情報が含まれることがよくあります。より良い結果を得るためには、生のページまたは読みやすいバージョンへのリンクを使用してください。 :::

RAGテンプレートのカスタマイズ

管理パネル > 設定 > ドキュメントメニューからRAGテンプレートをカスタマイズできます。

RAG埋め込みのサポート

管理パネル > 設定 > ドキュメントメニューでRAG埋め込みモデルを直接変更します。この機能はOllamaおよびOpenAIモデルをサポートしており、要件に応じた文書処理の強化を可能にします。

RAG機能の引用

RAG機能により、LLMに提供された文書のコンテキストを簡単に追跡でき、参照ポイントとして引用を追加できます。これにより、チャット内で外部情報源の使用に透明性と信頼性を確保します。

強化されたRAGパイプライン

RAG埋め込み機能の切替可能なハイブリッド検索サブ機能は、BM25を使用して機能を強化し、CrossEncoderによる再ランキングと関連性スコアの閾値設定が可能です。これにより、特定のユースケースに合わせたより正確でカスタマイズされたRAG体験を提供します。

YouTube RAGパイプライン

動画URLを介してYouTube動画を要約する専用RAGパイプラインにより、動画の文字起こしと直接対話が可能になります。この革新的機能により、動画コンテンツを会話に取り込むことができ、会話体験をさらに豊かにします。

文書解析

ローカルおよびリモート文書からコンテンツを抽出するためさまざまなパーサーを使用します。詳細については、get_loader関数を参照してください。

Google Drive統合

Googleクラウド プロジェクトにGoogle Picker APIとGoogle Drive APIが有効にされている場合、この機能を使用してチャットインターフェースから直接Driveファイルにアクセスし、文書、スライド、シートなどをアップロードしてチャットのコンテキストとして追加できます。この機能は管理パネル > 設定 > ドキュメントメニューで有効化できます。使用するにはGOOGLE_DRIVE_API_KEY and GOOGLE_DRIVE_CLIENT_ID環境変数を設定する必要があります。

詳細設定手順

  1. OAuth 2.0クライアントを作成し、認証済みJavaScriptオリジンと認証済みリダイレクトURIの両方を、Open-WebUIインスタンスにアクセスするために使用するURL(ポートがある場合は含む)に設定します。
  2. そのOAuthクライアントに関連付けられているクライアントIDをメモしてください。
  3. プロジェクトでGoogle Drive APIとGoogle Picker APIを両方有効にすることを確認してください。
  4. アプリ(プロジェクト)をテストモードに設定し、あなたのGoogle Driveメールをユーザーリストに追加してください。
  5. 権限スコープを設定して、これらのAPIが提供するすべてを含むようにしてください。また、アプリがテストモードであるため、Googleは限定されたテストユーザーのデータへのアクセスを許可するために検証を要求しません。
  6. Google Picker APIページに移動し、「認証情報を作成」ボタンをクリックしてください。
  7. APIキーを作成し、アプリケーション制限で「ウェブサイト」を選択します。その後、Open-WebUIインスタンスのURLを追加します(ステップ1の承認済みJavaScriptオリジンと承認済みリダイレクトURI設定と同じ)。
  8. APIキーに対してAPI制限を設定し、Google Drive APIとGoogle Picker APIのみにアクセスを許可してください。
  9. OAuthクライアント(ステップ2)からのクライアントIDをGOOGLE_DRIVE_CLIENT_ID環境変数として設定してください。
  10. ステップ7で設定したAPIキーの値をGOOGLE_DRIVE_API_KEY環境変数として設定してください(ステップ2のOAuthクライアントシークレットではありません)。
  11. Open-WebUIインスタンスのURL(ポートがあれば含む)をGOOGLE_REDIRECT_URIとして設定してください。
  12. その後、これらの3つの環境変数を使用してOpen-WebUIインスタンスを再起動してください。
  13. その後、Admin Panel < Settings < Documents < Google Driveの下でGoogle Driveが有効になっていることを確認してください。