AIキーワードを使用したプロンプトの入力
自然言語プロンプトを使用してデータベースと対話するには、AIをSELECT文のキーワードとして使用します。
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コマンドを実行し、取得拡張生成(RAG)をサポートします。これはデフォルトのアクションであり、このパラメータを指定する必要はありません。 |
showsql |
自然言語プロンプトのSQLステートメントが表示されます。 |
explainsql |
プロンプトから生成されたSQLを自然言語で説明します。このオプションでは、生成されたSQLがAIプロバイダに送信され、自然言語の説明が生成されます。 |
narrate |
NL2SQLの場合、 RAGの場合、AIプロファイルにベクトル索引が含まれている場合、システムは指定されたトランスフォーマ(またはデフォルトのトランスフォーマ)モデルを使用して、ベクトル・ストアに対するセマンティック類似性検索のプロンプトからベクトル埋込みを作成します。次に、ベクトル ストアから取得したコンテンツがユーザー プロンプトに追加され、LLMに送信されて、この情報に基づいてレスポンスが生成されます。 表データまたはベクトル検索ドキュメントをLLMに送信しない場合、管理者権限を持つユーザーは、特定のデータベースのすべてのユーザーに対してそのようなアクセスを無効にできます。これにより、 |
chat |
ユーザー・プロンプトをLLMに直接渡して、ユーザーに提供されるレスポンスを生成します。 セッション・ベースの短期会話の場合、 複数の名前付き会話の場合、チャット関連のプロンプト履歴のみがLLMに送信されます。詳細は、Select AI Conversationsを参照してください。 |
showprompt |
このアクションは、NL2SQLおよびRAGをサポートします。このアクションでは、合成データ生成、 生成AIモデルに送信される構成済プロンプトを表示します。 |
summarize |
ユーザー指定のAIプロバイダを使用して、テキストおよび大きいファイルのコンテンツのサマリーを生成します。AIプロファイルがセッションで設定されている場合は、 詳細は、Generate a Summary with Select AIおよびExample: Select AI Actionsを参照してください。 サマリー生成をカスタマイズする場合は、 |
feedback |
より正確なSQL問合せを生成するLLMの機能を改善するために、自然言語でフィードバックを提供できます。これは、 ノート この機能は、Oracle AI Database 26aiでのみ使用できます。 narrateを使用している場合は、プロファイルがRAGではなくSQL生成用に構成されていることを確認してください。 |
translate |
OCI翻訳サービスの生成AIを使用して、AIプロファイルのtarget_language属性として指定された優先言語にプロンプトを変換できます。 |
agent |
自然言語プロンプトを処理するためにエージェント・チームを呼び出します。詳細は、Select AI AgentおよびExamples of Using Select AI Agentを参照してください。 |
これらのアクションの使用方法を学習するには、「Select AIの使用例」を参照してください。
使用上のノート
-
Select AIの
AIキーワードは、データベース・アクションまたはAPEXサービスではサポートされていません。DBMS_CLOUD_AI.GENERATEファンクションのみを使用できます。データベース・アクションまたはAPEXサービスで
DBMS_CLOUD_AI.SET_PROFILEを使用しないでください。かわりに、DBMS_CLOUD_AI.GENERATEのprofile_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 explainsqlと同様に、explainsqlアクションを使用して、SQL文のより詳細な説明を取得します(SELECT AI showsqlと比較)。 -
DBAビューまたはUSERビューにアクセスするには、「DBMS_CLOUD_AIビュー」を参照してください。