2 Select AIについて

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

Select AIを使用する場合、自然言語をSQLに変換するプロセスはAutonomous AI Databaseによって管理されます。これは、データと対話するために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 AI 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の責任または法的責任を明示的に除外することになります。

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

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

  • Autonomous AI Database Serverless
  • Autonomous AI Database on Dedicated Exadata Infrastructure
  • Autonomous AI Database on Dedicated Exadata Infrastructure Region
  • Autonomous AI 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-mini-fast

  • xai.grok-4

  • xai.grok-4-fast-reasoning

  • xai.grok-4-fast-non-reasoning

  • cohere.embed-english-v3.0 (デフォルト)
  • cohere.embed-multilingual-v3.0
  • cohere.embed-english-light-v3.0
  • cohere.embed-multilingual-light-v3.0

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

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

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

プロファイル属性を構成するには、unresolvable-reference.html#GUID-12D91681-B51C-48E0-93FD-9ABC67B0F375を参照してください。

Azure OpenAI Service

  • GPT-4o
  • GPT-4
  • GPT-4 Turbo with Vision
  • GPT-3.5-Turbo

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互換プロバイダのモデル:
  • Fireworks AI
  • xAI
  • その他
OpenAI互換プロバイダの埋込みモデル。たとえば、Fireworks AIの埋込みモデルを参照してください。

幅広いユースケースがサポートされます。

Cohere

  • command (デフォルト)
  • command-nightly (試験段階)
  • command-r
  • command-r-plus
  • command-light
  • command-light-nightly (試験段階)
  • カスタム・モデル

embed-english-v2.0

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

Google

  • gemini-1.5-flash (デフォルト)
  • gemini-1.5-pro
  • gemini-1.0-pro
text-embedding-004 (デフォルト)

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

Anthropic

  • claude-3-5-sonnet-20240620 (デフォルト)
  • claude-3-opus-20240229
  • claude-3-sonnet-20240229
  • claude-3-haiku-20240307
なし

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

Hugging Face

  • Mixtral-8x7B-Instruct-v0.1 (デフォルト)
  • Meta-Llama-3-70B-Instruct
  • Qwen1.5-1.8B
  • その他のチャット・モデル
なし

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

AWS

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

幅広いユースケースがサポートされます。

ノート:

  • providerパラメータのかわりに、provider_endpointを使用してOpenAI互換プロバイダを指定します。unresolvable-reference.html#GUID-12D91681-B51C-48E0-93FD-9ABC67B0F375を参照してください。

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

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

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