Select AIについて
自然言語を使用して、SQLを介してデータベースおよびLLMと対話し、ユーザーの生産性を向上させ、AIベースのアプリケーションを開発します。Select AIは、自然言語プロンプトからSQLを生成、実行、説明する場合でも、ベクトル・ストアで取得拡張生成を使用するか、合成データを生成するか、LLMとチャットする場合でも、生成AIを使用して簡素化および自動化します。
Select AIを使用すると、自律型AIデータベースは自然言語をSQLに変換するプロセスを管理します。これは、データと対話するためにSQLコードのかわりに自然言語プロンプトを提供できることを意味します。Select AIは、SQLユーザーと開発者の生産性向上ツールとして機能し、専門家でないSQLユーザーは、データ構造や技術言語を理解することなく、データから有用なインサイトを得ることができます。
また、Select AIは、ベクトル・ストアを使用したセマンティック類似性検索を通じて、ベクトル埋込みの生成から、プロンプトに基づいて関連するコンテンツの取得までの取得拡張生成(RAG)プロセスを自動化します。その他の機能には、合成データ生成、会話のチャット履歴のサポート、SQLインタフェースからのその他の機能が含まれます。
DBMS_CLOUD_AIパッケージを使用すると、自然言語プロンプトを使用してSQLコードを生成するためのユーザー指定LLMとの統合が可能になります。自然言語からSQLへの生成の場合、このパッケージは、関連するデータベース・スキーマ・メタデータを含むLLMに拡張プロンプトを提供します。これにより、自然言語プロンプトに基づいてSQL問合せを生成、実行および説明できます。また、ベクトル・ストア、合成データ生成を使用した検索拡張生成を容易にし、LLMとのチャットも可能にします。DBMS_CLOUD_AIパッケージは、Select your AI Provider and LLMsにリストされているAIプロバイダと連携します。
注意:
-
AIプロバイダを持つアカウントを持ち、Autonomous AI Databaseが使用する
DBMS_CLOUD_AIオブジェクトを介して資格証明を指定する必要があります。 -
プロンプトは複数の言語で送信できます。結果の品質は、使用される特定のLLMまたは埋込みモデル(トランスフォーマ)の能力によって異なります。多言語サポートについては、LLMまたは埋込みモデルのドキュメントを確認してください。
ノート
関連項目: Autonomous AI DatabaseおよびOracle AI Databaseリリースで使用可能なSelect AI機能について学習するには、Select AIおよびSelect AI Agent Capability Matrixを参照してください。
使用ガイドライン
自然言語からSQLへの生成にSelect AIを使用する際に役立つ使用ガイドラインを示します。
目的の使用
この機能では、ユーザー提供の自然言語プロンプトからSQL問合せを生成、実行および説明します。スキーマ・メタデータと選択した大規模言語モデル(LLM)を使用して、ユーザーが手動で実行するタスクを自動化します。さらに、ベクトル・ストアによる取得拡張生成を容易にし、LLMとのチャットを可能にします。
指定したSelect AIアクションに応じて、自然言語からSQL生成、RAGまたはパススルー・チャットのいずれに対してもプロンプトが表示され、Select AIはSQLおよびPL/SQLインタフェースを使用してLLMおよびデータベースとの対話を自動化します。具体的には、指定したスキーマおよび表のメタデータに基づいて、自然言語からSQL問合せを生成します。さらに、チャットベースの生成AIを容易にし、オプションでベクトル・ストアからのコンテンツで、検索拡張生成(RAG)を通じて拡張して応答品質を向上させます。また、自然言語プロンプトに基づくSQL問合せについて説明し、1つまたは複数のスキーマ表の合成データ生成をサポートします。Select AIでは、chatアクションを使用して一般的なリクエストを送信できます。
プロンプト拡張データ
SQL問合せの生成の場合、データベースは、LLMからの幻覚を軽減するために、データベース・メタデータでユーザー指定のプロンプトを拡張します。その後、拡張プロンプトがユーザー指定のLLMに送信され、問合せが生成されます。取得拡張生成(RAG)でベクトル・ストアを使用する場合、提供されたプロンプトでセマンティック類似性検索を使用して、ベクトル・ストアからのコンテンツが取得されます。このコンテンツは、LLMに送信される拡張プロンプトの一部になります。
データベースは、スキーマ・メタデータのみでプロンプトを拡張します。このメタデータには、スキーマ定義、表と列のコメント、およびデータ・ディクショナリから使用可能なコンテンツが含まれる場合があります。SQL生成の目的で、プロンプトを拡張する場合、データベースでは表またはビューの内容(実際の行または列の値)は提供されません。
ただし、narrateアクションはLLMに次のいずれかを提供します。
-
データベース・データを含むSQL問合せに対する自然言語の結果、または
-
検索拡張生成(RAG)をサポートするベクトル・ストアから取得したセマンティック類似性検索の結果。LLMは、これらの結果を使用して自然言語テキスト・レスポンスを生成します。
WARNING:
大規模言語モデル(LLM)は、一般的にインターネットからの幅広いテキストドキュメントとコンテンツに基づいてトレーニングされています。その結果、LLMは、SQLインジェクションなど、無効または悪意のあるコンテンツからのパターンを組み込んだ可能性があります。したがって、LLMは有用で関連性の高いコンテンツを生成することに精通していますが、不正確な結果を生成するSQLクエリやデータのセキュリティを損なうSQLクエリなど、誤った情報を生成することもできます。
ユーザー指定のLLMプロバイダによってかわりに生成された問合せは、データベースで実行されます。この機能の使用は、お客様自身の責任においてのみ行い、Oracleが提供するサービスに関連するその他の条件にかかわらず、お客様はそのリスクを受諾し、その使用によって生じる損害について、Oracleの責任または責任を明示的に除外することになります。
サポートされているプラットフォーム
Select AIは、Autonomous AI Database ServerlessおよびAutonomous AI Database on Dedicated Exadata InfrastructureおよびCloud at Customersでサポートされています。
-
Autonomous AI Databaseサーバーレス
-
専用Exadataインフラストラクチャ上のAutonomous AI Database
-
専用Exadataインフラストラクチャ・リージョン上のAutonomous AI Database
-
自律型AI Database Cloud@Customer
AIプロバイダとLLMの選択
セキュリティ標準を満たし、テキスト生成やコード生成などの特定のニーズに合せたAIプロバイダおよびLLMを選択します。
トレーニングデータと目的に基づいて、さまざまなタスクで異なるLLMicrosoft Excel。テキスト生成に優れているモデルもあれば、コード生成に優れているモデルもあれば、コーディング・タスク用に特別に最適化されているモデルもあります。ニーズに最も適したLLMを選択します。
| AIプロバイダ | LLM | RAGの埋込みモデル | 目的 |
|---|---|---|---|
| OCI生成AI |
次を参照してください。 |
生成AIへのモデルの埋込みについてを参照してください。 |
OCI生成AIチャット・モデルは、 OCIテキスト・モデルの生成は、 プロファイル属性を構成するには、「プロファイル属性」を参照してください。 |
| Azure OpenAIサービス |
|
text-embedding-ada-002 | 自然言語プロンプト、chatアクションおよびSelect AI RAGからのSQLの生成に最適です。 |
| OpenAI |
|
text-embedding-ada-002 | 自然言語プロンプト、chatアクションおよびSelect AI RAGからのSQLの生成に最適です。 |
| OpenAI- 互換 | 次のようなOpenAI互換プロバイダのモデル:
|
OpenAI互換プロバイダからのモデルの埋込み。たとえば、Fireworks AI埋込みモデルを参照してください。 | 幅広いユースケースをサポートします。 |
| Cohere |
|
embed-english-v2.0 | chatアクションに最適です。 |
|
text-embedding-004 (デフォルト) | 自然言語プロンプト、chatアクションおよびSelect AI RAGからのSQLの生成に最適です。 |
|
| Anthropic |
|
NA | 自然言語プロンプト、chatアクションおよびSelect AI RAGからのSQLの生成に最適です。 |
| Hugging Face |
|
NA | 自然言語プロンプト、chatアクションおよびSelect AI RAGからのSQLの生成に最適です。 |
| AWS |
|
幅広いユースケースをサポートします。 |
注意:
-
OpenAI互換プロバイダは、
providerパラメータではなくprovider_endpointで指定します。「プロファイル属性」を参照してください。 -
イメージを受け入れるモデルの場合は、
meta.llama-3.2-90b-vision-instructを使用します。このモデルは、視覚と画像のために特別に訓練されています。テキストおよびSQLの生成に使用できますが、モデルはイメージに最適です。さらに学習するには、OCI生成AIのチャットを参照してください。 -
meta.llama-3.2-11b-vision-instructモデルは、堅牢なマルチモーダル機能を提供します。 -
埋込みモデルは、トランスフォーマ・モデルとも呼ばれます。