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

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

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

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

ノート

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

構文

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

パラメータ

actionパラメータで使用可能なパラメータは、次のとおりです。
パラメータ 説明

runsql

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

showsql

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

explainsql

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

narrate

LLMによって実行されたSQL問合せの結果をLLMに戻し、その結果の自然言語摘要を生成します。このオプションは、SQL結果をAIプロバイダに転送して自然言語サマリーを生成します。

RAGにベクトル索引を使用する場合、システムは指定されたトランスフォーマ・モデルを利用して、ベクトル・ストアに対するセマンティック類似性検索のベクトル埋込みを作成します。次に、取得したコンテンツがユーザー プロンプトに追加され、LLMに送信されて、この情報に基づいてレスポンスが生成されます。

chat

プロンプトに基づいてLLMから直接応答を生成します。DBMS_CLOUD_AI.CREATE_PROFILEファンクションのconversationtrueに設定されている場合、このオプションには、スキーマ・メタデータを含む可能性のある以前の相互作用またはプロンプトからのコンテンツが含まれます。

使用上のノート

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

  • 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のガイドラインに従って、特殊文字の使用規則が適用されます。たとえば、1つの文でアポストロフィを使用している場合は、一重引用符を2回使用します。

    select ai how many customers in SF don''t own their own home
  • LLMはハルシネーションの対象となり、結果が常に正しいとはかぎりません。

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

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

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

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

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

  • SELECT AI showsqlと比較して、SQL文の詳細な説明を取得するには、SELECT AI explainsqlのようにexplainsqlアクションを使用します。
  • DBAビューまたはUSERビューにアクセスするには、DBMS_CLOUD_AIビューを参照してください。