RAG 中的 Embedding 和向量数据库?
发布于
一、Embedding(嵌入)
把文本转换为高维向量(如 768/1024 维),语义相近的文本向量距离近。
二、向量数据库
专门存储和检索向量的数据库,支持相似性搜索。
- Milvus:开源,高性能,分布式。
- Pinecone:云服务。
- Weaviate:开源,支持混合检索。
- Chroma:轻量,适合原型。
- FAISS:Meta 开源的向量检索库,非数据库。
三、相似度计算
- 余弦相似度:方向相近,与长度无关,最常用。
- 内积:考虑长度。
- 欧氏距离:空间距离。
四、检索方式
- 向量检索:语义相似,能找到同义表达。
- 关键词检索(BM25):精确词匹配。
- 混合检索:向量 + 关键词,召回更全面。
五、Embedding 模型
- OpenAI text-embedding-3。
- BGE(智源):中文效果好。
- M3E、GTE:中文开源。
- 选择时考虑语言、维度、性能。