AI_EMBEDDING_VECTOR(Lakehouse v1)
このドキュメントでは、PlaidCloud Lakehouseのai_embedding_vector関数の概要と、この関数を使用してドキュメントの埋め込みを作成する方法を説明します。
アップストリームの実装を参照してください。
デフォルトでは、PlaidCloud Lakehouseは埋め込みの生成にtext-embedding-adaモデルを使用します。
Ai_embedding_vectorの概要
Section titled “Ai_embedding_vectorの概要”PlaidCloud Lakehouseの ai_embedding_vector 関数は、テキストデータのベクトル埋め込みを生成する組み込み関数です。ドキュメントの類似度、クラスタリング、レコメンデーションシステムなどの自然言語処理タスクに役立ちます。
この関数はテキストを入力として受け取り、入力テキストの意味と文脈を表す高次元ベクトルを返します。埋め込みは、大規模なテキストコーパスで事前学習されたモデルを使用して作成され、単語やフレーズ間の関係を連続空間上で捉えます。
Ai_embedding_vectorを使用した埋め込みの作成
Section titled “Ai_embedding_vectorを使用した埋め込みの作成”ai_embedding_vector 関数を使用してテキストドキュメントの埋め込みを作成するには、次の例に従います。
- ドキュメントを格納するテーブルを作成します。
CREATE TABLE documents ( id INT, title VARCHAR, content VARCHAR, embedding ARRAY(FLOAT32));- サンプルドキュメントをテーブルに挿入します。
INSERT INTO documents(id, title, content)VALUES (1, 'A Brief History of AI', 'Artificial intelligence (AI) has been a fascinating concept of science fiction for decades...'), (2, 'Machine Learning vs. Deep Learning', 'Machine learning and deep learning are two subsets of artificial intelligence...'), (3, 'Neural Networks Explained', 'A neural network is a series of algorithms that endeavors to recognize underlying relationships...'),- 埋め込みを生成します。
UPDATE documents SET embedding = ai_embedding_vector(content) WHERE length(embedding) = 0;クエリの実行後、テーブルの embedding 列に生成された埋め込みが格納されます。
埋め込みは FLOAT32 値の配列として embedding 列に格納されます。この列の型は ARRAY(FLOAT32) です。
これらの埋め込みは、類似ドキュメントの検索や、内容に基づくドキュメントのクラスタリングなど、さまざまな自然言語処理タスクに利用できます。
- 埋め込みを確認します。
SELECT length(embedding) FROM documents;┌───────────────────┐│ length(embedding) │├───────────────────┤│ 1536 ││ 1536 ││ 1536 │└───────────────────┘上のクエリから、生成された埋め込みの長さが各ドキュメントで1536(次元)であることがわかります。