Select AIについて

自然言語を使用して、SQLを介してデータベースおよびLLMと対話し、ユーザーの生産性を向上させ、AIベースのアプリケーションを開発します。Select AIは、自然言語プロンプトからSQLを生成、実行、説明する場合でも、ベクトル・ストアによる取得拡張生成の使用、合成データの生成、LLMとのチャットを行う場合でも、生成AIを使用して簡素化および自動化します。

Select AIを使用すると、Autonomous Databaseは自然言語をSQLに変換するプロセスを管理します。これは、データと対話するためにSQLコードのかわりに自然言語プロンプトを提供できることを意味します。Select AIは、SQLユーザーと開発者の生産性向上ツールとして機能し、専門家でないSQLユーザーは、データ構造や技術言語を理解することなく、データから有用なインサイトを得ることができます。

Select AIは、ベクトル埋込みの生成から、ベクトル・ストアを使用したセマンティック類似性検索を通じて、プロンプトに基づいて関連するコンテンツの取得まで、取得拡張生成(RAG)プロセスを自動化します。その他の機能には、合成データ生成、会話のチャット履歴のサポート、SQLインタフェースからのその他の機能が含まれます。

DBMS_CLOUD_AIパッケージを使用すると、自然言語プロンプトを使用してSQLコードを生成するために、ユーザー指定のLLMとの統合が可能になります。自然言語からSQL生成の場合、このパッケージは、関連するデータベース・スキーマ・メタデータを含むLLMへの拡張プロンプトを提供します。これにより、自然言語プロンプトに基づいてSQL問合せを生成、実行および説明できます。また、ベクトル・ストア、合成データ生成を使用した取得拡張生成が容易になり、LLMとのチャットも可能になります。DBMS_CLOUD_AIパッケージは、「AIプロバイダおよびLLMの選択」にリストされているAIプロバイダと連携します。
ノート

  • AIプロバイダを含むアカウントを持ち、Autonomous Databaseが使用するDBMS_CLOUD_AIオブジェクトを介して資格証明を指定する必要があります。

  • プロンプトは複数の言語で送信できます。結果の品質は、使用される特定のLLMまたは埋込みモデル(トランスフォーマ)の能力によって異なります。多言語サポートについては、LLMまたは埋込みモデルのドキュメントを確認してください。

トピック

使用ガイドライン

自然言語から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は、これらの結果を使用して自然言語テキスト応答を生成します。

警告:

大規模言語モデル(LLM)は、一般的にインターネットからの幅広いテキストドキュメントとコンテンツに基づいてトレーニングされています。その結果、LLMは、SQLインジェクションなど、無効または悪意のあるコンテンツからのパターンを組み込んだ可能性があります。したがって、LLMは有用で関連性の高いコンテンツを生成することに精通していますが、不正確な結果を生成するSQLクエリやデータのセキュリティを損なうSQLクエリなど、誤った情報を生成することもできます。

ユーザー指定のLLMプロバイダによってかわりに生成された問合せは、データベースで実行されます。この機能の使用は、お客様自身の責任においてのみ行い、Oracleが提供するサービスに関連するその他の条件にかかわらず、お客様はそのリスクを受諾し、その使用によって生じる損害について、Oracleの責任または責任を明示的に除外することになります。

サポートされているプラットフォーム

Select AIは、Autonomous Database ServerlessおよびAutonomous Database on Dedicated Exadata InfrastructureおよびCloud at Customersでサポートされています。

  • Autonomous Database Serverless
  • 専用Exadataインフラストラクチャ上のAutonomous Database
  • Autonomous Database on Dedicated Exadata Infrastructureリージョン
  • Autonomous Database Cloud@Customer

AIプロバイダとLLMの選択

セキュリティ標準を満たし、テキスト生成やコード生成などの特定のニーズに合せたAIプロバイダおよびLLMを選択します。

異なるLLMは、トレーニング・データや意図した目的に基づいて様々なタスクに優れています。一部のモデルはテキスト生成に優れていますが、コード生成ではうまく機能しない場合がありますが、コーディング・タスク用に特別に最適化されているモデルもあります。お客様のニーズに最適なLLMを選択してください。

AIプロバイダ LLM RAGの埋込みモデル 目的

OCI生成AI

  • meta.llama-3.3-70b-instruct (デフォルト)
  • meta.llama-3.2-90b-vision-instruct
  • meta.llama-3.2-11b-vision-instruct
  • meta.llama-3.1-70b-instruct
  • meta.llama-3.1-405b-instruct
  • cohere.command-r-08-2024
  • cohere.command-r-plus-08-2024
  • cohere.command-r-16k (非推奨)
  • cohere.command–r-plus (非推奨)
  • xai.grok-3
  • xai.grok-3-fast
  • xai.grok-3-mini
  • xai.grok-3- ミニファスト
  • cohere.embed-english-v3.0 (デフォルト)
  • cohere.embed- 多言語-v3.0
  • cohere.embed- 英語- ライト-v3.0
  • cohere.embed- 多言語-light-v3.0

生成AIでのモデルの埋込みについてを参照してください。

OCI生成AIチャット・モデルは、runsqlshowsqlexplainsqlnarratechatなど、すべてのSELECT AIアクションでサポートされています。

OCIテキスト・モデルの生成は、SELECT AI chatアクションでのみサポートされています。

プロファイル属性を構成するには、「プロファイル属性」を参照してください。

Azure OpenAIサービス

  • GPT-4o
  • GPT-4
  • GPT-4ターボとビジョン
  • GPT-3.5- ターボ

text-embedding-ada-002

自然言語プロンプト、chatアクションおよびSelect AI RAGからSQLを生成するのに最適です。

OpenAI

  • gpt-3.5-turbo (デフォルト)
  • gpt-4o
  • gpt-4o-mini
  • gpt-4
  • gpt-4-0613
  • gpt-4-32k
  • gpt-4-32k-0613
  • gpt-3.5-turbo-0613
  • gpt-3.5-turbo-16k
  • gpt-3.5-turbo-16k-0613

text-embedding-ada-002

自然言語プロンプト、chatアクションおよびSelect AI RAGからSQLを生成するのに最適です。

OpenAI- 互換

次のようなOpenAI互換プロバイダのモデル:
  • 花火AI
  • xAI
  • その他
OpenAIコンピテンシ・プロバイダからのモデルの埋込みたとえば、Fireworks AI埋込みモデルを参照してください。

幅広いユースケースをサポートします。

Cohere

  • コマンド(デフォルト)
  • command-nightly (実験的)
  • コマンド-r
  • コマンド-r-plus
  • コマンドライト
  • command-light-nightly (実験的)
  • カスタムモデル

embed-english-v2.0

chatアクションに最適です。

Google

  • gemini-1.5フラッシュ(デフォルト)
  • gemini-1.5プロ
  • gemini-1.0-pro
text-embedding-004 (デフォルト)

自然言語プロンプト、chatアクションおよびSelect AI RAGからSQLを生成するのに最適です。

Anthropic

  • claude-3-5-sonnet-20240620 (デフォルト)
  • クロード3- オパス-20240229
  • クロード3- ソネット-20240229
  • クロード3- 俳句-20240307
NA

自然言語プロンプト、chatアクションおよびSelect AI RAGからSQLを生成するのに最適です。

Hugging Face

  • Mixtral-8x7B-Instruct-v0.1 (デフォルト)
  • Meta-Llama-3-70B-Instruct
  • クウェン1.5-1.8B
  • その他のチャット・モデル
NA

自然言語プロンプト、chatアクションおよびSelect AI RAGからSQLを生成するのに最適です。

AWS

  • amazon.titan-embed-text-v1
  • amazon.titan-embed-text-v2:0
  • cohere.embed- 英語-v3

幅広いユースケースをサポートします。

ノート

  • providerパラメータのかわりに、provider_endpointを使用してOpenAI互換プロバイダを指定します。「プロファイル属性」を参照してください。

  • イメージを受け入れるモデルの場合は、meta.llama-3.2-90b-vision-instructを使用します。このモデルは、特にビジョンとイメージのトレーニングを受けています。テキスト生成およびSQL生成に使用できますが、このモデルはイメージに最適です。詳細は、OCI生成AIのチャットを参照してください。

    meta.llama-3.2-11b-vision-instructモデルは、堅牢なマルチモーダル機能を提供します。

  • 埋込みモデルは、トランスフォーマ・モデルとも呼ばれます。