埋込みを生成するためのSQL関数について
ベクトル・ユーティリティのSQL関数を実装して、データベース内でパラレルまたはオンザフライのチャンク化および埋込み操作を実行する場合に選択します。ベクトル生成用に提供されているSQL関数は、VECTOR_CHUNKS
およびVECTOR_EMBEDDING
です。
ベクトル・ユーティリティのSQL関数は、純粋なSQL内のデータとの直接的で迅速な対話を目的としています。
VECTOR_CHUNKS
VECTOR_CHUNKS
SQL関数は、ベクトル索引で使用する埋込みの生成に備えて、プレーン・テキストをチャンク(単語、文または段落の一部)に分割する場合に使用します。
たとえば、この関数を使用して、大きなPDFドキュメントをセマンティックに意味のある小さいチャンク・テキストに分割できるスタンドアロンのテキスト・チャンク化システムを作成できます。パラレル・チャンク化操作を実行してチャンクを試してみることができます。この操作では、各チャンク・テキストを検査し、それに応じてチャンク結果を修正してから、他のデータ変換ステージに進むことができます。
チャンクを生成するために、この関数はOracle Databaseを使用した社内実装を使用します。
この関数の詳細は、「VECTOR_CHUNKS」を参照してください。
VECTOR_EMBEDDING
異なるデータ型に対して1つのベクトル埋込みを生成する場合は、VECTOR_EMBEDDING
関数を使用します。
たとえば、この関数を情報取得アプリケーションまたはチャットボットで使用すると、ユーザーの自然言語テキスト入力文字列からその場で問合せベクトルを生成できます。その後、この問合せベクトルを使用してベクトル・フィールドを問い合せて、高速な類似検索を実行できます。
埋込みを生成するために、この関数は、データベースにロードするベクトル埋込みモデル(ONNX形式)を使用します。
ノート:
サードパーティのベクトル埋込みモデルを使用して埋込みを生成する場合は、ベクトル・ユーティリティのPL/SQLパッケージを使用します。これらのパッケージを使用すると、データベースに格納されている埋込みモデル(ONNX形式)とサードパーティの埋込みモデル(サードパーティのREST APIをコール)の両方を操作できます。この関数の詳細は、「VECTOR_EMBEDDING」を参照してください。
関連トピック
親トピック: ベクトルの生成について