AIプロファイルの作成

Autonomous AI Databaseは、AIプロファイルを使用して、LLMへのアクセスを容易におよび構成し、Data Studioを使用して自然言語プロンプトに基づいてSQLを生成、実行および説明するための設定を行います。

Data Studioを使用してAIプロファイルを作成する前に、次の概念を理解しておく必要があります。
  • Retrieval Augmented Generation (RAG) Settings: RAG Settingsは、Oracle Autonomous Database ServerlessでRetrieval-Augmented Generationパイプラインを構成し、AIプロファイルがナレッジ・ベースから構造化表とともに非構造化データをロードおよび問合せできるようにします。これらの設定は、セマンティック検索のためにドキュメントをベクトルに処理する方法を定義し、自然言語問合せのSELECT AI精度を向上させます。
    ノート

    Oracle AI Database 19cでベクトル索引の作成や使用などのRAG機能にはアクセスできません。これらの機能は、Oracle AI Database 26aiでサポートされています。
  • ベクトル索引: ベクトル索引を指定して、RAGパイプラインまたは表データから生成された埋込みを格納し、AI推論時の効率的な類似検索を可能にする必要があります。DBMS_CLOUD_AI.CREATE_PROFILEを介したAIプロファイル作成では、ベクトル索引によってプロファイルがOracleのベクトル検索機能にリンクされ、AIモデルがベクトル化されたデータから関連するコンテキストを取得するようになります。ベクトル索引は、Data Studioの設定から作成できます。
  • 表メタデータ:

    プロファイルの属性でobject_listとして提供される表メタデータ([{"owner": "SH"、 "name": "customers"}]など)は、特定のデータベース表へのAIのアクセスをスコープ指定し、セキュリティ・ポリシーを適用します。これにより、AIは意図しないデータのクエリ、IAMコントロールとの連携、定義済スキーマのSQL生成に対する自然言語の最適化を行えなくなります。

詳細は、Select AI with Retrieval Augmented Generation (RAG)を参照してください。

AIプロファイルは、次の2つのモードをサポートしています。
  • RAGモード: 非構造化データに対するセマンティック検索にベクトル索引を使用します。
  • Natural Language to SQL (NL2SQL)モード: オブジェクト・リスト・モードなどの表中心のオプションを有効にするには、ベクトル索引を必要としません。
「+」を選択すると、AIプロファイルの作成ウィザードが開きます。
  1. AIプロファイルの作成ウィザードの「サービス」タブで、次のフィールド値を指定します:



    • プロファイル名: AIプロファイルの名前を入力します。たとえば、OCI AIです。
    • AIプロバイダ: ドロップダウン・フィールドから次のいずれかのプロバイダを選択します:
      • OCI
      • AIを開く
      • Azure OpenAIサービス
      • Cohere
      • Google
      • Anthropic
      • Hugging Face
    • AIモデル: AIプロファイルが指す使用可能なAIモデルをドロップダウンから選択して、データベースでデータに関する自然言語の質問に回答し、埋込みやベクトル索引を使用した検索拡張結果を含むSQLを生成または説明できるようにします。

    • 資格証明: これらは、プロファイルが構成されている外部AIプロバイダに安全に接続するためにデータベースが使用する、格納された資格証明です。

    「詳細設定」で、「生成設定」および「サービス設定」が表示されます:
    • 生成設定: 生成設定は、Oracle Cloud InfrastructureのAIサービスのプロファイルを介してアクセスされるAIモデルの動作および制限を構成するために役立ち、チャット、SQL生成、Autonomous Databaseからの自然言語問合せなどの様々なユース・ケースのカスタマイズを可能にします。
    • サービス設定: サービス設定は、選択したAIプロバイダに基づいて動的に表示される構成フィールドを参照し、ユーザーはプロバイダ固有の資格証明およびエンドポイント、リージョン、デプロイメント名などのパラメータを入力できます。
      Note

      For AI Providers such as OpenAI, Cohere, Google, Anthropic, or Hugging Face, the Service Settings section is not displayed.

    「サービス設定」フィールドの値は、選択したAIプロバイダによって異なります。

    「AIプロバイダ」から「OCI」を選択すると、次のフィールドが表示されます:
    • OCI API形式: これは、生成AIエンドポイントで想定されるリクエストおよびレスポンス・スキーマ(OracleモデルのCOHEREGenericOCIネイティブ形式など)を指定します。
    • OCIリージョン: エンドポイントが実行されているOCIリージョン識別子です。これにより、データベースからのコールが正しいリージョンAIモデルにルーティングされます。各Autonomous AI Database OCIリージョンは、異なるLLMをサポートしています。us-chicago-1uk-london-1ap-osaka-1などの一部のリージョンでは多くのものが提供され、その他では少ないものもあります。選択したリージョンで使用可能なモデルのみが表示されます。OCI AIモデルが表示されない場合は、リージョンを切り替えてモデル・リストをリフレッシュできます。詳細は、生成AIを使用するリージョンおよび生成AIの事前トレーニング済基礎モデルを参照してください。
    • OCIコンパートメントID: これは、使用するエンドポイントを所有するOCIコンパートメントのOCIDです。テナンシの正しい論理コンテナへのアクセスおよび請求をスコープ指定し、IAMポリシーに合せて調整します。
    • OCIエンドポイントID: これは、専用AIクラスタ上の特定のAIエンドポイントのOCIDです(たとえば、ocid1.generativeaiendpoint.oc1.us-chicago-1)。このフィールドを指定すると、共有オンデマンド・モデルのかわりにその専用エンドポイントを使用するようにSelect AIに指示されます。
    「AIプロバイダ」フィールドから「Azure OpenAIサービス」を選択すると、次のフィールドが表示されます:
    • Azureリソース名: サービスにアクセスするためのエンドポイントURLの一部(https://your-resource-name.openai.azure.com/など)を形成する、Azure OpenAIサービス・リソース・インスタンスの一意の名前を指定します。

    • Azureデプロイメント名: 特定の言語モデルをそのAzure OpenAIリソース内にデプロイするときに割り当てるカスタム名を指定します。

    • Azure Embeddingデプロイメント名: 同じリソース内の埋込みモデル(text-embedding-ada-002text-embedding-3-largeなど)の個別のデプロイメントのカスタム名を指定します(テキストのベクトル表現の作成専用)。

    前述のフィールドの詳細は、Azure OpenAI Embedding skills - Azure AI Search | Microsoft Learnを参照してください。

    「生成設定」で、次のフィールドを表示できます:
    • ストップ・トークン: これらは、追加のテキスト出力の生成を停止する場所をAIモデルに指示するトークン・シーケンスです。モデルがこれらのトークンを生成すると、停止します。これにより、レスポンスの長さを制御し、不要な後続テキストを回避できます。

    • 最大トークン: これは、プロンプトに応答してAIモデルが生成できるトークンの最大数を定義します。生成される出力の長さを制限して、過剰なレスポンスや負荷の高いレスポンスを回避します。

    • 大/小文字を区別する値: この設定は、入力値またはパラメータをAI処理で大/小文字を区別するように処理するかどうかを示します。trueの場合、入力値またはパラメータ値に対して正確な大/小文字を一致させる必要があります。

    • 会話: これは通常、AIプロファイルが会話型コンテキストをサポートしているかどうかを示し、モデルが複数のインタラクションまたは迅速な交換でコンテキストを保持できるようにするかどうかを示します。これは、チャット形式のAIアプリケーションに便利です。

    • 温度: これは、AIのレスポンスのランダム性を制御するスライダ・パラメータです。温度(0.2など)が低いほど、出力はより集中し、決定的になりますが、温度(0.8など)が高いほど、より創造的で多様なテキスト生成が可能になります。

    「次」をクリックして、「AIプロファイルの作成」の「RAG設定」タブに進みます。

  2. RAG設定:

    RAG設定では、次のオプション・フィールドを表示できます。



    • ベクトル索引: 作成するベクトル索引を、使用可能なベクトル索引のリストから選択します。これは、ドキュメントの埋込みを格納および検索するために使用するOracle Databaseベクトル索引を指定するため、AIプロファイルは検索拡張生成中に最も関連性の高いコンテンツをすばやく見つけることができます。

      詳細は、ベクトル索引の作成を参照してください。

      AIプロファイルが機能するにはベクトル索引が必要です。

    • 埋込みモデル: テキストをその索引に格納されたベクトル表現に変換するために使用する埋込みモデルを指定します。これにより、セマンティク検索の動作がRAG用に構成したモデルと一致することが保証されます。

      前述のフィールドはオプションです。これらをスキップし、「AIプロファイルの作成」をクリックしてAIプロファイルを作成できます。または、「表メタデータ」タブに進むこともできます。

  3. 「表メタデータ」タブで、次の「オプション」フィールドを表示できます:



    ノート

    前のステップでベクトル索引の選択をスキップした場合は、「オブジェクト・リスト・モード」という設定が表示されます。

    • オブジェクト・リスト・モード: 使用可能なフィールド・オプションのいずれかを選択できます:
      • すべて: このオプションでは、指定したスキーマ内のすべての表のメタデータがLLMに送信されるため、それらのいずれに対してもSQLを生成できます。

      • 自動: このオプションを使用すると、Select AIはスキーマ・メタデータに対してベクトル検索を実行して、関連する表のサブセットを自動的に選択できるため、特定のプロンプトに対して最も可能性の高い表のみが使用されます。

      • 選択した表: このオプションでは、AIプロファイルにリストした特定の表のみにメタデータが制限されるため、SQL生成はそれらの表に制限されます。

        LLMで使用できるオブジェクトのリストを選択できるオブジェクト・リストを表示することもできます。

        「オブジェクト・リスト」を選択すると、別の追加設定「オブジェクト・リストの強制」スイッチも表示されます。

      • なし: このオプションでは、オブジェクト・リストから表メタデータは送信されないため、AIは表に対してSQLを生成できないか、明示的なオブジェクト・リストを使用しない他の構成に依存できません。
      ノート

      「オブジェクト・リスト・モード」フィールドは、Oracle AI Database 19cでは表示できません。
    • 注釈: このトグルを使用して、AIが結果の生成時に追加のコンテキストとしてオブジェクト(列の説明やタグなど)に添付された付加的なメタデータを使用できるかどうかを示す注釈を有効にします。

    • コメント: このトグルを使用して、データ・ディクショナリの表および列のコメントをコンテキストとしてAIに公開するかどうかを制御します。これにより、データの意味をよりよく理解できます。
    • 制約: このトグルを使用して、主キー、外部キーおよびその他の制約に関する情報をAIに提供するかどうかを制御し、表間の関係を理由にし、問合せの精度を向上させます。

    「AIプロファイルの作成」をクリックします。

Data Studio設定ウィザードでAIプロファイルが正常に作成および構成されました。