向量嵌入技术概述
本文档总体介绍了向量嵌入技术的相关概念和使用方法。
什么是向量嵌入?
向量嵌入是一种将非结构化数据转换为数值向量的技术。这些向量能够捕捉非结构化数据的语义信息,使计算机可以"理解"和处理非结构化数据的含义。具体来说:
- 向量嵌入将文本、图像或音视频等非结构化数据映射到高维向量空间中的点。
- 在这个向量空间中,语义相似的非结构化数据会被映射到相近的位置。
- 向量通常由数百个数字组成(如 512 维、1024 维等)。
- 可以用数学方法(如余弦相似度)计算向量之间的相似度。
- 常见的向量嵌入模型包括 Word2Vec、BERT、BGE 等。例如,在开发 RAG 应用时,我们通常需要将文本数据进行嵌入处理转换为向量数据之后存储在向量数据库中,而其他结构化数据存储在关系型数据库中。
seekdb 支持将向量数据作为一种数据类型在关系表中进行存储,使得向量和传统标量数据能够有序、高效地存储在 seekdb 中。
如何生成向量嵌入
在 seekdb 中,您可以通过以下两种方式生成向量嵌入:
| 方式 | 说明 | 优势 | 区别 |
|---|---|---|---|
| 使用 AI_EMBED 函数 | 使用数据库内置 AI 函数服务,无需安装额外依赖。 | 简单方便,直接在 SQL 中调用。 | 目前仅支持文本嵌入。 |
| 使用外部嵌入模型 | 使用 Sentence Transformers、Ollama、在线 API 等外部模型。 | 灵活控制,支持更多模型选择。 | 支持文本、图片等多种格式数据源生成向量嵌入。 |