AIキーワードを使用したプロンプトの入力
自然言語プロンプトを使用してデータベースと対話するには、SELECT
文のキーワードとしてAI
を使用します。
SELECT
文のAI
キーワードは、アクティブなAIプロファイルで識別されたLLMを使用して自然言語を処理し、SQLを生成するようにSQL実行エンジンに指示します。
AI
キーワードは、SQL Developer、OMLノートブック、サードパーティ・ツールなどのOracleクライアントとの問合せで使用して、自然言語でデータベースと対話できます。
ノート:
AI
キーワードを使用して、PL/SQL文、DDL文またはDML文を実行することはできません。
構文
SELECT AI action natural_language_prompt
パラメータ
パラメータ | 説明 |
---|---|
|
自然言語プロンプトの基礎となるSQLコマンドを実行します。 これはデフォルトのアクションであり、このパラメータの指定はオプションです。 |
|
自然言語プロンプトのSQL文を表示します。 |
|
プロンプトから生成されたSQLを自然言語で説明します。 このオプションでは、生成されたSQLがAIプロバイダに送信され、自然言語の説明が生成されます。 |
|
データベースによって実行されたSQL問合せの結果をLLMに戻し、その結果の自然言語記述を生成します。 AIプロファイルでベクトル索引を指定してRAGを有効にすると、システムは指定されたトランスフォーマ(またはデフォルトのトランスフォーマ)モデルを使用して、ベクトル・ストアに対するセマンティック類似性検索のプロンプトからベクトル埋込みを作成します。 次に、ベクトル・ストアから取得したコンテンツがユーザー・プロンプトに追加され、LLMに送信されて、この情報に基づいてレスポンスが生成されます。 表データまたはベクトル検索ドキュメントをLLMに送信しない場合、管理者権限を持つユーザーは、特定のデータベースのすべてのユーザーに対してそのようなアクセスを無効にできます。 これにより、 |
|
ユーザー・プロンプトをLLMに直接渡して、ユーザーに提供されるレスポンスを生成します。 |
使用上のノート
-
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のガイドラインに従って適用されます。 たとえば、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ビュー」を参照してください。
親トピック: データベースとの自然言語対話にSelect AIを使用