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(维度)。