OpenSearchを使用した検索用のRAGパイプラインの作成

取得拡張生成(RAG)パイプラインのエンドツーエンドのOpenSearchを使用して、OCI生成AIコネクタをSearchとともに設定して使用するコードを自動的に生成します。

開始する前に、OpenSearchを使用して検索を行うOCI生成AIコネクタを使用するための前提条件を確認して実装します。

アプリケーションがOpenSearchクラスタと通信するファンクションを起動するために、より多くのネットワークを設定する必要がある場合があります。ネットワークには、次のいずれかのオプションが必要です。

  • パブリック・サブネット、インターネット・ゲートウェイおよびセキュリティ・リスト内の2つのルール: ステートフル・エグレス・ルールと、TCPトラフィックがポート9200を使用できるようにするイングレス・ルール。
  • セキュリティ・リスト内のプライベート・サブネット、サービス・ゲートウェイおよびステートフル・エグレス・ルールの場合。

これらのオプションの設定方法の詳細は、「OCI Functionsで使用するVCNおよびサブネットの作成(まだ存在しない場合)」を参照してください。

アプリケーションは、クラスタと同じサブネット内のVMインスタンスから実行する必要があります。または、コードをローカルで実行するようにポート転送を設定できます。これらのオプションの例は、タスク5: OCI検索サービスの問合せを参照してください。

コンソールから

  1. ナビゲーション・メニューを開き、「データベース」をクリックします。OpenSearchで、「クラスタ」をクリックします。
  2. 「リスト・スコープ」で、クラスタを含むコンパートメントを選択します。
  3. 「クラスタ」リストで、RAGパイプラインを作成するクラスタの名前をクリックします。
  4. クラスタの詳細ページで、「RAGパイプラインの作成」をクリックします。
  5. 「RAGパイプラインの構成」ページの「一般情報」で、パイプラインの名前、説明およびタグを入力し、1つ以上のコンテキスト・フィールドを指定します。
    コンテキスト・フィールドでは、索引の埋込みに変換されるテキストを指定します。ここで指定する値は、インデックスに存在するフィールドと一致する必要があります。

    この機能を使用してコンソールから生成AIコネクタのコードを自動的に生成するには、クラスタのパスワードをOCI Vaultサービスのシークレットを使用して格納する必要があります。パスワードがすでにVaultシークレットとして格納されている場合は、Cluster Vault資格証明でユーザー名を指定し、クラスタのボールト、ボールト・シークレットおよびシークレット・バージョンを選択します。

    パスワードがボールト・シークレットとして格納されていない場合は、「ボールトおよびシークレットの作成」を選択し、次のタスクを実行します:

    1. Create a vault.
    2. ボールトがアクティブになったら、そのボールトのキーを作成します。
    3. ボールトの場合、次の詳細を指定してシークレットを作成します:
      • 前のステップで作成したキーを選択します。
      • 次の形式で、OpenSearchクラスタのパスワードを手動で入力します。
        • シークレット・タイプのテンプレート: Plain-Text
        • シークレット・コンテンツ: <OpenSearch-password>
  6. 「モデル・グループ」に、モデル・グループの名前と説明を入力します。既存のモデル・グループの名前を入力すると、生成されたコードで既存のモデル・グループのモデル・グループIDが使用されます。それ以外の場合は、新しいモデル・グループが作成されます。
  7. 「次へ」を選択します。
  8. 「生成AIコネクタの構成」ページの「生成AIコネクタ」に、コネクタの名前と説明を入力します。
  9. アクションを選択し、コネクタに使用するモデルを選択します。
    「生成AIモデル・パラメータ」セクションのフィールドには、前のステップで選択したモデルに基づいてデフォルト値が移入されます。パラメータ値を変更できます。有効なパラメータのみを入力でき、許可されるパラメータ値は選択したモデルに基づきます。別のモデルを選択すると、1つのモデルに対して機能するパラメータ値が機能しない場合があります。
  10. 生成AIレジスタ・モデルに、生成AIモデルの名前と説明を入力します。
  11. 「次へ」を選択します。
「コードの生成」ページには、「RAGパイプラインの作成」ワークフローの前のページで指定したオプションに基づいて、RAGパイプラインの作成に使用するコードが含まれます。コピーまたはダウンロードできるスタンドアロン・コードの場合は、「言語」ドロップダウンから「Java」または「Python」を選択します。その後、最初のテキスト領域にあるコードをアプリケーションにコピーまたはダウンロードできます。

「Kibana」を選択した場合、生成されたコードをスタンドアロン・アプリケーションとして実行することはできません。かわりに、生成されたコードには、クラスタのOpenSearchダッシュボードから実行するためにコピーする順次ステップに分割されます。

2番目のテキスト領域には、パイプラインの作成後に問合せを実行する方法を示すテンプレート・コードが含まれています。