18.8.4.3 AI構成とRAGソースの管理

AI構成とRAGソースを作成して、生成AIサービスとのより充実したやり取りを可能にします。

18.8.4.3.1 AI構成とRAGソースについて

AI構成とRAGソースについて学習します。

「AI構成」は、主要な生成AI設定(システム・プロンプト、ようこそメッセージ、検索拡張生成(RAG)ソースなど)を一元化する共有コンポーネントです。AI構成を作成すると、「AIアシスタントの表示」や「AIによるテキストの生成」の動的アクションなど、複数のAI対応コンポーネント間でこれらの設定を再利用できます。APEX_AIパッケージ内にあるPL/SQL APIでAI構成を使用することもできます。

AI構成について

AI構成には次の内容が含まれています:

  • 名前 - アプリケーション・ビルダーのUIにおいてそのAI構成を識別します。
  • 静的ID - このIDを使用して、APEX_AIパッケージ内のAPIでAI構成を参照します。
  • サービス - そのAI構成で使用するAIサービスを示します。デフォルトでは、「アプリケーション・デフォルト」が使用されます。
  • システム・プロンプト - AIサービスに対する初期指示またはコンテキスト。
  • ようこそメッセージ - AIアシスタントによって表示される最初のメッセージ。この設定を使用できるのはUIがあるコンポーネント(「AIアシスタントの表示」など)のみであることに注意してください。
  • 温度 - 生成されるコンテンツのランダム性または予測可能性のレベルを設定します。
  • RAGソース - AIサービスに追加送信するデータ。

関連項目:

『Oracle APEX APIリファレンス』APEX_AI

RAGソースについて

各AI構成には、アプリケーション固有のデータでAI会話を改善するために役立つ、0個以上のRAGソースを含めることができます。RAGソースとしては、「SQL問合せ」、「CLOBを返すファンクション本体」または単に「静的テキスト」を指定できます。RAGソースは動的であり、サーバー側の条件によって個別に保護できます。条件を満たした場合、結果となるコンテンツは、リクエストごとにシステム・プロンプトとともにAIサービスに送信され、実質的に、付加的なシステム・プロンプトの役割を果たします。

RAGソースには次の内容が含まれています:

  • 名前 - アプリケーション・ビルダーのUIにおけるそのRAGソースの名前。
  • 説明 - AIサービスに送信する、含まれているデータの説明。
  • ソース・タイプ:
    • SQL問合せ - 選択した場合、結果セットはCSV形式で含まれます。必ず、関連する列のみを含め、結果セットを関連する行のみに限定してください。
    • CLOBを返すファンクション本体
    • 静的テキスト

RAGソースとサーバー側条件

サーバー側の条件を満たしている各RAGソースが評価され、付加的なシステム・メッセージとして含まれます。RAGソースはコールごとに再評価されて送信されるため、ペイロードによってはトークン使用量が多くなる場合があることに注意してください。

会話に関連するデータのみが含まれるようにするには、RAGデータを条件付きで含めるための、次のいずれかの方法を使用します:

  • 「セキュリティ」、「認可スキーム」を使用すると、特定のユーザーのみに特定のデータ・セットを提供するために役立ちます。
  • 「サーバー側の条件」を使用すると、柔軟性がさらに高まります。一般的な条件タイプの他に、RAGソースでは、生成AI固有の条件タイプが2つ(「任意のユーザー・プロンプトに含まれる」「最後のユーザー・プロンプトに含まれる」)サポートされています。これらの条件タイプを使用して、大/小文字の区別なしのキーワードのカンマ区切りリストを指定できます。任意のユーザー・プロンプトまたは最後のユーザー・プロンプトにそのようなキーワードが含まれている場合は、そのRAGソースが評価され、そのデータが含まれます。
  • 柔軟性を最大限に高めるために、サーバー側条件のコードを実行するときと、SQL問合せまたはファンクション本体において、2つの新しいバインド変数を使用できます。APEX$AI_ALL_USER_PROMPTSAPEX$AI_LAST_USER_PROMPTは、カスタムRAGロジックを実行するために使用できるCLOBバインド変数です。

使用可能なディクショナリ・ビュー

次のディクショナリ・ビューを使用して、アプリケーションのAI構成を問い合せることもできます:

  • APEX_APPL_AI_CONFIGS
  • APEX_APPL_AI_CONFIG_RAG_SRCS

18.8.4.3.2 AI構成の作成

「生成AI構成」ページにある「共有コンポーネント」でAI構成を作成します。

ヒント:

AI構成を作成する前に、生成AIサービスを定義し、アプリケーションを作成する必要があります。「生成AIサービスの管理」「アプリケーションの作成」を参照してください。

AI構成を作成するには:

  1. 「AI構成」ページに移動します:
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。
      共有コンポーネント・ページが表示されます。
    4. 「生成AI」で、「AI構成」をクリックします。
      「生成AIサービス」ページが表示されます。
  2. 「作成」をクリックします。
    作成/編集ページが表示されます。
  3. AI構成の属性を構成します:
    1. 「識別」、「名前」 - AI構成の名前を入力します。
    2. 「識別」、「静的ID」 - AI構成の静的IDを入力します。このIDを使用して、APEX_AIパッケージ内のAPIでAI構成を参照します。
    3. 「生成AI」、「サービス」 - そのAIアシスタントで使用する生成AIサービスを選択します。デフォルトでは、「アプリケーション・デフォルト」が使用されます。
    4. 「生成AI」、「システム・プロンプト」 - AIサービスに対する初期指示またはコンテキストを指定します。優れたシステム・プロンプトは、AIの動作を誘導しその応答の方向性を定めるような設計になっています。詳細は、アイテム・ヘルプを参照してください。
    5. 「生成AI」、「ようこそメッセージ」 - AIアシスタントによって表示されるようこそメッセージ(オプション)を入力します。次に例を示します:

      How may I help you today?

    6. 「詳細」、「温度」 - 応答の創造性とランダム性を指定します。温度が低いほど、出力がより絞り込まれ確定的かつ保守的な内容になり、一般的な回答や予測どおりの回答が優先されるようになります。温度が高いほど、モデルの創造性が高まり、従来とは異なる応答を生成する可能性が高くなります。目的とする、応答における精度と創造性とのバランスに基づいて、温度を調整します。

      温度はAIプロバイダによって異なる場合があります。適切な値を選択するときにAIサービスの温度値を評価することをお薦めします。

    7. 「詳細」、「コメント」 - コメントまたはノートを入力します。
    8. 「作成」をクリックします。

    AI構成を作成した後に、続けてそれを編集することやRAGソースを作成することができます。検索拡張生成(RAG)ソースは、関連情報の提供によって応答品質を高めるために、生成AIサービスによって使用されます

  4. RAGソースを作成するには、「RAGソースの作成」をクリックします。

    「RAGソース」ページが表示されます。

  5. RAGソースを構成します:
    1. 「識別」、「名前」 - RAGソースの名前を入力します。
    2. 「説明」、「説明」 - AIサービスに送信する、RAGソースの簡潔な説明を入力します。この説明では、AIがその情報をより理解および処理しやすくなるように、提供されるデータの特質と内容を明確に説明する必要があります。
    3. 「ソース」、「タイプ」 - ソース・タイプを選択してこの生成AI構成でのRAGソースを定めます。オプションは次のとおりです。
      • SQL問合せ - データのソースを、ローカル・データベースのSQL問合せにします。
      • ファンクション本体 - データのソースを、CLOBを返すファンクション本体にします。
      • 静的 - ユーザー定義の静的テキスト。ソースがデータベースではない、ハードコードされたテキスト情報を入力する場合に適しています。

      選択内容に応じて、コード・エディタでSQL問合せ、ファンクション本体またはテキストを入力します。詳細は、コード・エディタの横にある「アイテム・ヘルプ」を参照してください。各オプションについては例を確認してください。

    4. 「詳細」、「最大トークン」 - このRAGソースに含めることができるトークンの最大数を指定します。行は、残りのトークンの上限を超えている場合は、指定されているトークン数以内に応答がとどまるように、全体的にスキップされます。

      ノート:

      トークン計算は、AIサービスで使用される正確な計算の概算にすぎません。
    5. 「サーバー側の条件」、「タイプ」 - このRAGソースを実行するために満たす必要がある、条件タイプを選択します。一般的な条件タイプの他に、RAGソースでは、生成AI固有の条件タイプが2つ(「任意のユーザー・プロンプトに含まれる」「最後のユーザー・プロンプトに含まれる」)サポートされています。これらの条件タイプを使用して、大/小文字の区別なしのキーワードのカンマ区切りリストを指定できます。任意のユーザー・プロンプトまたは最後のユーザー・プロンプトにそのようなキーワードが含まれている場合は、そのRAGソースが評価され、そのデータが含まれます。

      次の特別なバインド変数を使用すると、ユーザーのプロンプトにアクセスしそれを評価できます:

      • APEX$AI_LAST_USER_PROMPT - ユーザーが入力した最新のプロンプトを取得します。
      • APEX$AI_ALL_USER_PROMPTS - 1つの文字列に連結してすべてのユーザー・プロンプトを取得します。
    6. 「構成」、「ビルド・オプション」 - このRAGソースを実行するためにTRUEと評価される必要がある、認可スキームを選択します(オプション)。
    7. 「コメント」、「コメント」 - コメントまたはノートを入力します。
    8. 「作成」をクリックします。

18.8.4.3.3 AI構成の編集または削除

「生成AIサービス」の「作成/編集」ページからAI構成やRAGソースを編集または削除します。

AI構成やRAGソースを編集または削除するには:

  1. 「AI構成」ページに移動します:
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。
      共有コンポーネント・ページが表示されます。
    4. 「生成AI」で、「AI構成」をクリックします。
      「生成AI構成」ページが表示されます。
  2. AI構成を編集するには:
    1. 「生成AI構成」ページで、構成の名前をクリックします。

      作成/編集ページが表示されます。

    2. 対象となる属性を編集します。特定の属性についてさらに学習するには、アイテムのヘルプを参照してください。
    3. 「変更の適用」をクリックします。
  3. AI構成を削除するには:

    ヒント:

    AI構成は、使用されている場合は削除できません。
    1. 「生成AI構成」ページで、構成の名前をクリックします。
    2. 「削除」をクリックします。
    3. 選択内容を確認して、「削除」を再度クリックします。
  4. RAGソースを編集するには:
    1. 「生成AI構成」ページで、RAGソースの名前をクリックします。

      「RAGソース」ページが表示されます。

    2. 対象となる属性を編集します。特定の属性についてさらに学習するには、アイテムのヘルプを参照してください。
    3. 「変更の適用」をクリックします。
  5. RAGソースを削除するには:
    1. 「生成AI構成」ページで、RAGソースの名前をクリックします。

      「RAGソース」ページが表示されます。

    2. 「削除」をクリックします。
    3. 選択内容を確認して、「削除」を再度クリックします。

18.8.4.3.4 AI構成のコピーまたはサブスクライブ

現在のアプリケーションまたは別のアプリケーションからAI構成をコピーします。別のアプリケーションからAI構成をコピーするときに、それをサブスクライブすることもできます。

AI構成をコピーするには:

  1. 「AI構成」ページに移動します:
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。
      共有コンポーネント・ページが表示されます。
    4. 「生成AI」で、「AI構成」をクリックします。
      「生成AIサービス」ページが表示されます。
  2. そのAI構成で、「コピー」をクリックします。
  3. コピー元 - AI構成のコピー元となる場所を選択します。オプションは次のとおりです。
    • このアプリケーション
    • その他のアプリケーション
  4. 現在のアプリケーションからコピーするには:
    1. コピー元 - 「このアプリケーション」を選択します。
    2. 構成のコピー - コピーする構成を選択します。
    3. 名前 - 作成する構成の名前を入力します。
    4. 「コピー」をクリックします。
  5. 別のアプリケーションからコピーするには:
    1. コピー元 - 「その他のアプリケーション」を選択します。
    2. アプリケーション - コピー元のアプリケーションを選択します。
    3. 構成のコピー - コピーする構成を選択します。
    4. サブスクライブ - 構成をサブスクライブするには、「サブスクライブ」を有効にします。
    5. 「コピー」をクリックします。

18.8.4.3.5 AI構成使用状況の表示

現在のワークスペース内でAI構成が使用されている場所について、詳細を示すレポートを表示します。

AI構成使用状況レポートを表示するには:

  1. 「生成AIサービス」ページにナビゲートします:
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。
      共有コンポーネント・ページが表示されます。
    4. 「生成AI」で、「AI構成」をクリックします。
      「生成AI構成」ページが表示されます。
  2. 「生成AI構成」ページで、「使用状況」をクリックします。

    「生成AI構成の使用状況」レポートが表示されます。

18.8.4.3.6 AI構成履歴の表示

このワークスペース内でAI構成に対して行われた最近の変更について、レポートを表示します。

AI構成履歴レポートを表示するには:

  1. 「生成AIサービス」ページにナビゲートします:
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。
      共有コンポーネント・ページが表示されます。
    4. 「生成AI」で、「AI構成」をクリックします。
      「生成AI構成」ページが表示されます。
  2. 「生成AI構成」ページで、「履歴」をクリックします。

    「生成AI構成履歴」レポートが表示されます。