8 AIキーワードを使用したプロンプトの入力

自然言語プロンプトを使用してデータベースと対話するには、SELECT文のキーワードとしてAIを使用します。

SELECT文のAIキーワードは、アクティブなAIプロファイルで識別されるLLMを使用して自然言語を処理してSQLを生成するように、SQL実行エンジンに指示します。

SQL Developer、OMLノートブック、サード・パーティ・ツールなどのOracleクライアントで、問合せにAIキーワードを使用して、自然言語でデータベースと対話できます。

ノート:

AIキーワードを使用してPL/SQL文、DDL文またはDML文を実行することはできません。

構文

AIプロンプトを実行するための構文は次のとおりです:
SELECT AI action natural_language_prompt

パラメータ

actionパラメータで使用可能なパラメータを次に示します:
パラメータ 説明

runsql

自然言語プロンプトの基礎となるSQLコマンドを実行します。これはデフォルトのアクションであり、このパラメータを指定することはオプションです。

showsql

自然言語プロンプトのSQL文を表示します。

explainsql

プロンプトから生成されたSQLを自然言語で説明します。このオプションは、生成されたSQLをAIプロバイダに送信して、自然言語の説明を生成します。

narrate

データベースによって実行されたSQL問合せの結果をLLMに戻し、その結果の自然言語の説明を生成します。

AIプロファイルでベクトル索引を指定してRAGを有効にすると、システムは指定されたトランスフォーマ(またはデフォルトのトランスフォーマ)モデルを使用して、ベクトル・ストアに対するセマンティック類似検索のプロンプトからベクトル埋込みを作成します。次に、ベクトル・ストアから取得されたコンテンツがユーザー・プロンプトに追加され、LLMに送信されて、この情報に基づいて応答が生成されます。

表データまたはベクトル検索ドキュメントをLLMに送信しない場合、管理者権限を持つユーザーは、指定されたデータベースのすべてのユーザーに対してこのようなアクセスを無効にできます。これにより、narrateアクションが無効になります。

chat

ユーザー・プロンプトをLLMに直接渡して、ユーザーに提供される応答を生成します。DBMS_CLOUD_AI.CREATE_PROFILEファンクションのconversationtrueに設定されている場合、このオプションによって、スキーマ・メタデータを含む可能性のある以前の会話またはプロンプトからのコンテンツが含められます。

使用上のノート

  • Select AIのAIキーワードは、データベース・アクションまたはAPEXサービスではサポートされていません。DBMS_CLOUD_AI.GENERATEファンクションのみを使用できます。

    データベース・アクションまたはAPEXサービスでDBMS_CLOUD_AI.SET_PROFILEを使用しないでください。かわりに、DBMS_CLOUD_AI.GENERATEprofile_name引数にAIプロファイルを設定します。

  • AIキーワードは、SELECT文でのみサポートされます。

  • AIキーワードを使用してPL/SQL文、DDL文またはDML文を実行することはできません。

  • 順序は、SELECTの後にAIが続きます。これらのキーワードでは、大文字と小文字は区別されません。DBMS_CLOUD_AI.SET_PROFILEおよびオプションのアクションを使用してAIプロファイルを設定すると、SELECT AIの後のテキストは自然言語プロンプトになります。AIプロファイルが設定されていない場合、SELECT AIは、SELECT AI文の実行時に次のエラーを報告します:

    ORA-00923: FROM keyword not found where expected
    00923. 00000 -  "FROM keyword not found where expected"
  • 特殊文字の使用ルールは、Oracleのガイドラインに従って適用されます。たとえば、文でアポストロフィを使用する場合は、一重引用符を2回使用します。

    select ai how many customers in SF don''t own their own home
  • LLMではハルシネーションが発生する場合があり、結果は常に正しいとはかぎりません:

    • SELECT AIは、特定の自然言語プロンプトに対して生成されたSQL問合せを実行できない場合があります。

    • SELECT AIでは、特定の自然言語プロンプトのSQL問合せを生成できない場合があります。

    • LLMでは、自然言語プロンプトに対する正しい結果が生成されるSQL問合せが生成されない場合があります。

    このようなシナリオでは、SELECT AIは有効なSQLの生成に役立つ情報で応答することがあります。

  • 自然言語からのSQLの生成でよりよい結果を得るには、コンテキストを示す列名を持つデータベースのビューまたは表を使用するか、列に格納されている値について説明する列コメントを追加することを検討してください。

  • SELECT AI showsqlより詳細なSQL文の説明を取得するには、SELECT AI explainsqlのようにexplainsqlアクションを使用します。
  • DBAビューまたはUSERビューにアクセスするには、unresolvable-reference.html#GUID-5C826A3E-E60B-4D1C-AD0B-E385F6ECEBA5を参照してください。