向量嵌入(Vector Embedding)是将文本、图像等非结构化数据转换为高维数值向量的技术。这些向量能够捕获数据的语义信息,使得计算机可以理解和比较内容的含义。
文本被转换为 1536 维的数值向量,语义相似的文本会有相近的向量表示
seekdb 提供内置的 AI_EMBED 函数,自动调用配置的嵌入模型生成向量。
-- 使用 AI_EMBED 生成嵌入向量
SELECT AI_EMBED('人工智能是计算机科学的一个分支') AS embedding;
-- 在 INSERT 中使用
INSERT INTO documents (content, embedding)
VALUES (
'深度学习是机器学习的子领域',
AI_EMBED('深度学习是机器学习的子领域')
);
-- 在查询中使用
SELECT * FROM documents
ORDER BY COSINE_DISTANCE(embedding, AI_EMBED('什么是深度学习'))
LIMIT 5;点击"运行"按钮查看结果
| 模型 | 维度 | 多语言 | 特点 |
|---|---|---|---|
| text-embedding-3-small | 1536 | ✓ | 性价比高,适合大多数场景 |
| text-embedding-3-large | 3072 | ✓ | 最高精度,适合高要求场景 |
| BGE-M3 | 1024 | ✓ | 开源模型,支持本地部署 |
| M3E-base | 768 | 中文优化 | 中文效果好,轻量级 |
-- 批量生成嵌入以提高效率
INSERT INTO documents (content, embedding)
SELECT content, AI_EMBED(content)
FROM source_data
WHERE embedding IS NULL
LIMIT 1000; -- 分批处理,避免超时点击"运行"按钮查看结果
以下哪个选项正确描述了向量嵌入的特点?