ベクトル埋込みの生成

このトピックでは、ベクトル・ツールボックスを使用してベクトル埋込みを生成する手順について説明します。

ベクトル・ツールボックスを使用したベクトル埋込みの生成は、主に次の4つのステップで構成されます:
  1. データ・ソースの選択(ファイルまたはデータベース表)
  2. チャンク・パラメータの構成
  3. 埋込みモデルの選択または作成
  4. 埋込みを格納する保存先の選択
データ・ソースを選択するには、Database Navigator - ベクトル・ツールボックスデータ・ソース・セクションで、ソース・タイプを選択します。ソース・タイプ・オプションには、次のものがあります:
  • ファイル・システム - ソース・タイプとしてファイル・システムを選択した場合は、任意のファイル・タイプをソース・ファイルとしてアップロードできます。ソース・ファイル・セクションの追加(+)アイコンをクリックし、ワークステーションから1つ以上のファイルを選択します。選択したファイルを削除するか、ソース・ファイルを処理する順序を変更できます。


    ファイル・システムとしてのデータ・ソースの埋込み

  • データベース表 - ソース・タイプとしてデータベース表を選択した場合は、さらに次のものを選択する必要があります:
フィールド 説明
スキーマ 埋込みを生成するDB接続からデータベース・スキーマを選択します。
選択したスキーマのデータベース表を選択します。
ID列 埋込みを生成する表の列IDを選択します。
データ列 埋込みを生成する表のデータ列を選択します。


DB表としてのデータ・ソースの埋込み

選択したソース・ファイルを小さいセグメントにチャンク化または分割するには、Database Navigator - ベクトル・ツールボックスチャンク構成セクションで、次のパラメータを設定します:

フィールド 説明
チャンク化基準 ソース・データのチャンクを作成するためのセパレータまたはブレークポイントを選択します。オプションには、単語または文字があります。
最大サイズ 各チャンクの最大長を設定します。チャンクが小さいほどより正確な検索一致が得られ、チャンクが大きいほど正確な結果となりません。
分割方法
ソース・テキストを分割するチャンク戦略を選択します。オプションは次のとおりです:
  • 再帰的 - この方法では、チャンク化に使用されるセパレータの階層でテキストを分割します(たとえば、最初に単語、次に文字など)。この方法では、設定された最大サイズを維持しながら、チャンクが可能なかぎり多くのコンテキストを保持できるほどに小さくなります。
  • - この方法では、すべての文の後でテキストを分割します。
  • 改行 - この方法では、改行ごとにテキストを分割します。
  • 空白行 - この方法では、出現したすべての空白行でテキストを分割します。
  • 空白文字 - この方法では、検出されたすべての空白文字でテキストを分割します。
  • なし: ソース・テキストを分割しない場合は、これを選択します。
重複 連続するチャンク間で共有されるトークン数または文字数を示すオーバーラップ率を設定します。このパラメータは、連続性を維持し、チャンク境界付近の重要なデータが失われないようにするのに役立ちます。チャンク・サイズの10%から25%の重複が理想的であるとみなされます。


チャンクの構成

ソース・ファイルに対するチャンク化の影響をテストするには、チャンク・ラボ・ボタンをクリックして、DBナビゲータ - チャンク・ラボ・ダイアログ・ボックスを開きます。


DBナビゲータ - チャンク・ラボ・ダイアログ・ボックス

チャンク・パラメータを設定し、ソース・ファイルのサンプル・テキストを貼り付け、チャンク構成のテストをクリックして、実際の埋込みに適用する前に出力のプレビューを取得できます。チャンク出力に問題がなければ、構成の使用をクリックして、最終的な埋込みの生成に同じものを適用します。

データをベクトル埋込みに変換するためのAI埋込みモデルを設定するには、DBナビゲータ - ベクトル・ツールボックス埋込みモデルセクションで、まずモデルの場所を選択します。モデルの場所には、次のいずれかを指定できます:
モデルの場所 説明
データベース内モデル データベース内AI埋込みモデルは、データベース・システム内で統合または密接に結合されるため、データベース自体が、ベクトル埋込みに格納されたRAWデータの変換を処理します。(適切な権限を持つ)ユーザーとして、データベース内モデルの構成と更新を直接制御できます。
サードパーティ・モデル サードパーティのAI埋込みモデルは、外部ベンダー(LLMプロバイダ)によって、データベースとは別にデプロイされるサービスまたはプラットフォーム(クラウドベースのAPIなど)として提供されます。Rawデータは、ベクトル埋込みを生成するためにデータベースからサードパーティ・サービスに送信され、その後、格納のためにデータベースに戻されます。
データベース内モデルの場合は、次の情報を指定します:
  • スキーマ - 埋込みモデルが存在するデータベース・スキーマを選択します。
  • モデル - ベクトルの生成に使用するモデルの名前を選択します


モデルの埋込み - データベース内モデル

埋込みモデルが存在しない場合は、モデル・フィールドの横にあるAIモデルの作成(+)アイコンをクリックして、新しいモデルを作成できます。DBナビゲータ - AIモデルの作成ダイアログ・ボックスが開きます。


DBナビゲータ - AIモデルの作成

ベクトル生成に使用する新しい埋込みモデルを追加するには、次の情報を指定します:
フィールド 説明
接続 このフィールドには、AIモデルを追加するDB接続が事前入力されます。
スキーマ このフィールドには、AIモデルを追加するDBスキーマが事前入力されます。
モデル名 新しいAIモデルの名前を入力します。
モデル・ソース モデル・ファイルまたはオブジェクト・リソースを選択します。
  • モデル・ファイル - モデル・ソース・ファイルをスキーマにアップロードできます。
  • オブジェクト・リソース - 埋込みモデル・プロバイダのWebプラットフォームのURLを入力できます。ここから、モデルにアクセスして使用し、使用するモデルに対応する資格証明とともに使用できます。
モデル・ファイル ローカル・システムに保存されているモデル・ソース・ファイル(.onnxファイルなど)を参照してアップロードします。このフィールドは、モデル・ソースとしてモデル・ファイルを選択した場合にのみ表示されます。
オブジェクトURL 埋込みモデルをダウンロードできるプラットフォームのURLを入力します。このフィールドは、モデル・ソースとしてオブジェクト・リソースを選択した場合にのみ表示されます。
資格証明 サポートされているLLMの使用可能な資格証明から1つを選択します。資格証明が使用できない場合は、資格証明の作成アイコン(「+」)をクリックしてDBナビゲータ - 資格証明の作成ダイアログ・ボックスを開き、LLMに対応する新しい資格証明(OCI生成AI、Open AI、Google、Anthropic、Mistral AIなどによって提供される資格証明など)を作成します。資格証明の作成の詳細は、「パブリックLLMの資格証明の作成」を参照してください

OKをクリックして、AIモデルの作成を開始します。モデルが選択したスキーマに追加され、DBブラウザの接続ツリーに表示されます。


DBブラウザ・ウィンドウの新しいAIモデル

サードパーティ・モデルの場合は、次の情報を指定します:
フィールド 説明
プロバイダ
サポートされているサードパーティのAI埋込みモデル・プロバイダのいずれかを選択します。オプションは次のとおりです:
  • OCI生成AI
  • Open AI
  • Cohere
  • Google
  • Anthropic
  • Hugging Face
  • Mistral AI
  • Vertex AI
モデル 使用する埋込みモデル(Gemini Embedding-001text-embedding-3-smallなど)を指定します。
URL サードパーティの埋込みモデル・ファイルにアクセスしたり、ダウンロード/サブスクライブできるプラットフォームのURLを指定します。
資格証明スキーマ 選択したモデル(またはモデル・プロバイダ)に対応するAI資格証明が格納されるデータベース・スキーマを選択します。
資格証明 選択したモデルで使用できる資格証明のリストから1つを選択します。


サードパーティの埋込みモデル

生成された埋込みを格納する保存先を設定するには、DBナビゲータ - ベクトル・ツールボックス埋込みの保存先セクションで、まず保存先を選択します。生成されたベクトル埋込みを既存のデータベース表に格納するか、新しい表を作成できます。

優先する保存先として既存の表を選択した場合は、次のパラメータを設定します:
フィールド 説明
スキーマ ベクトル埋込みが格納されるデータベース・スキーマを選択します。
ベクトル埋込みが格納されるスキーマ内のデータベース表を選択します。
データ列 埋込みテキスト・データを格納する表の列を選択します。
埋込み列 埋込みベクトルを格納する表の列を選択します。
メタデータ列 埋込みメタデータを格納する表の列を選択します。メタデータはファイル・システムの場合にのみ格納され、ソース・データがDB表の場合には格納されません。


埋込みの保存先 - 既存のDB表

優先する保存先として新しい表を選択した場合は、次のパラメータを設定します。

フィールド 説明
スキーマ ベクトル埋込みが格納されるデータベース・スキーマを選択します。
表名 ベクトル埋込みが格納されるスキーマ内のデータベース表を選択します。
キー列 デフォルトでは、キー列の名前はIDです。ベクトルIDが格納されるキー列名を変更できます。
テキスト列(CLOB) 埋込みテキスト・データを格納する列名を指定します。
ベクトル列(VECTOR) 埋込みベクトルを格納する列名を指定します。
メタデータ列(JSON) 埋込みメタデータを格納する列名を指定します。


埋込みの保存先が新しいDB表の場合

データ・ソースチャンク構成埋込みモデルおよび埋込みの保存先のすべてのフィールドをベクトル・ツールボックスで構成したら、埋込みの作成をクリックしてベクトル埋込みの生成を開始します。生成が成功すると、ベクトル埋込みは構成した保存先の表に格納されます。