在 RAG(Retrieval-Augmented Generation)系统中,优化 Embedding 模型和调整检索策略是提升检索质量的核心手段。以下是系统化的优化方法和实践指南:
一、优化 Embedding 模型
Embedding 模型的质量直接决定检索的召回率(Recall)和准确率(Precision)。优化方向包括:
1. 选择或微调更强大的 Embedding 模型
(1) 模型选型
- 通用场景:
text-embedding-3-large
(OpenAI)bge-large-en-v1.5
(中文/英文,智源)gte-large
(通用文本嵌入,阿里)
- 领域适配:
- 使用领域数据微调开源模型(如
bge
、e5
)。 - 示例:医疗领域可微调
ClinicalBERT
的 Embedding 层。
- 使用领域数据微调开源模型(如
(2) 微调方法
- 数据准备:构建领域相关的(query, positive_doc, negative_doc)三元组。
- 损失函数:
- 对比学习(Contrastive Loss)
- 三元组损失(Triplet Loss)
- 工具库:
from sentence_transformers import SentenceTransformer, losses model = SentenceTransformer("bge-base-en") train_loss = losses