フィードバック

Select AIを使用すると、選択したLLMのより正確なSQLクエリを生成する能力を向上させるためのフィードバックを提供できます。

ノート

この機能は、Oracle Database 23aiでのみ使用可能です。既存のSelect AIアクション(runsqlshowsqlおよびexplainsql)とともに使用できます。AIプロファイルがRAGではなくNL2SQL生成用に構成されていることを確認します。

feedbackアクションまたはDBMS_CLOUD_AI.FEEDBACKプロシージャを使用して、生成されたSQLの精度を向上させるためのフィードバックを提供できます。Select AIでは、初めてフィードバック機能を使用すると、<profile_name>_FEEDBACK_VECINDEXという名前のデフォルトのベクトル索引がデフォルト属性で作成されます。この索引は、提供されたフィードバックに基づいて、将来生成されるSQLを絞り込むのに役立ちます。詳細は、FEEDBACKのベクトル・インデックスを参照してください。

ヒント:

指定したLLMが正しいSQL問合せの生成に失敗した場合、またはNL2SQL SELECT AIアクションのいずれかから予想される結果を返さない場合は、DBMS_CLOUD_AI.FEEDBACKプロシージャを使用します。DBMS_CLOUD_AI.FEEDBACKプロシージャを使用して、ベクトル表に正しいSQLを直接追加することもできます。これにより、類似のプロンプトの参照として機能することで、将来のSQL生成をガイドできます。

次のタイプのフィードバックが受け入れられます。
  • 肯定的なフィードバック: 生成されたSQLの正確性を承認および確認します。確認済みのクエリーが後で参照できるように保存されます。

  • ネガティブ・フィードバック: NL2SQL SELECT AIアクションの結果が正しいSQLの生成に失敗した場合、SELECT AI feedback <feedback>を使用するか、DBMS_CLOUD_AI.FEEDBACKプロシージャを使用して、問合せのエラーを識別するか、予測された内容に関するガイダンスを提供することで、必要なSQL問合せの改善を提供できます。システムはLLMを使用して問合せを絞り込み、将来のSelect AI問合せ生成用に洗練されたバージョンを格納します。格納された絞込み問合せは、ヒントとして使用され、拡張プロンプトの一部としてLLMに送信されます。

詳細は、FEEDBACKプロシージャおよび例: Select AIフィードバックを参照してください。

トピック

フィードバックの利点

Select AIのフィードバック・アクションおよびプロシージャには、SQL問合せ生成の精度を高めるプロンプト・チューニング・メカニズムが導入されています。

AIプロファイルの所有者は、生成されたSQL問合せのフィードバックを提供でき、Select AIシステムは時間の経過とともにユーザー・インタラクションから学習します。この学習には、現在のプロンプトに類似したプロンプトの識別にベクトル検索が使用されるプロンプトおよびフィードバック・コンテンツのリポジトリが配置されます。上位一致の例は、拡張プロンプトの一部としてLLMへのメタデータとして提供されます。次の利点があります。
  • SQL問合せの精度を向上できます。
  • AIプロファイルの所有者は、正しい問合せを確認したり、適切な問合せを生成するためのセマンティックな意図またはビジネス定義を提供して修正を提案することで、フィードバックを提供できます。
  • 履歴フィードバックを将来の問合せ生成のヒントとして使用し、ニーズに適応します。

フィードバックの使用方法

Select AIでは、feedbackアクションを使用するか、DBMS_CLOUD_AI.FEEDBACKプロシージャをコールして、フィードバックを提供できます。

注意:

AIプロファイルを所有する単一のデータベース・ユーザーで複数のユーザーがデータベース・セッションを共有するアプリケーションでは、フィードバック処理を使用しないでください。AIプロファイルの所有者は、修正された問合せがそのプロファイルのすべてのユーザーに適切であることを確認した後にのみフィードバックを提供する必要があります。

次の情報を含めることでフィードバックを提供できます。
  • SQL_TEXT: 現在のSQL問合せのフィードバックを引用符で囲みます。または、V$MAPPED_SQLビューを問い合せて、特定の問合せのSQL_TEXTを取得できます。

  • SQL_ID: SQL_IDを取得するには、V$MAPPED_SQLビューを問い合せます。

  • 最後に生成されたSQLの使用: フィードバックを自然言語で提供します。
    ノート

    最後のSQLを使用するには、Oracle SQL*PlusまたはOracle SQLclでサーバー出力をオフに設定してください。v$session表およびv$mapped_sql表に対するSELECT権限が必要です。

詳細は、FEEDBACKプロシージャおよび例: Select AIフィードバックを参照してください。