← 返回首页
如果知识库文件都是中文,用户用英文提问,怎么检索到答案?或者怎么优化让检索效果更好?
核心痛点:向量库存中文文本,用户输入英文 Query,中英文语义空间割裂,直接向量相似度匹配几乎失效,召回不到相关文档。
整体分基础可行方案、进阶优化方案、工程落地调优三层。
一、最简基础方案(低成本、快速上线)
核心思路:把英文提问翻译成中文,用译文去检索中文知识库,流程:英文 Query → 机器翻译 (英→中) → 中文向量检索知识库。
1. 标准执行链路
-
用户输入英文问题:
How to refund the order -
调用翻译 API / 本地翻译模型,转为中文:
订单如何退款 -
对翻译后的中文文本做向量化(和知识库文本使用同一个中文 Embedding 模型,关键!)
-
向量库做相似度检索,召回中文文档
-
可选:检索到中文结果后,再翻译成英文返回给用户
2. 优缺点
-
优点:改动最小,不用重新处理全部知识库,只改 Query 预处理逻辑;兼容现有检索架构
-
缺点:翻译误差会丢失语义;长复杂英文问句翻译失真;多轮反问、口语化英文容易译偏;只靠单条翻译 Query 召回,召回覆盖不足
3. 基础优化点(零成本)
-
Query 清洗:去除停用词、符号、大小写、无意义语气词
-
扩充同义 Query 英文原句 + 翻译中文 两条向量同时检索,合并召回结果,提升覆盖; 例:向量检索同时传入
How to refund the order(不使用,仅辅助)、订单如何退款(主检索向量) -
翻译兜底策略:短 Query 用轻量翻译,长文本用大模型翻译,减少语义丢失
二、进阶最优方案(检索效果大幅提升,生产推荐)
方案 A:双语向量统一空间(最优,精度最高)
核心逻辑
不用分开中英文向量,使用跨语言 Embedding 模型(m3e-multilingual、bge-m3、e5-multilingual、sentence-transformers 多语言系列)
-
入库阶段:中文知识库文本,直接用多语言 Embedding生成向量存入向量库(不用中文单语模型)
-
查询阶段:用户英文提问,直接丢给同一个多语言模型生成向量检索,无需翻译 模型天然对齐中英语义:相同语义的英文问句、中文文档向量距离很近,不存在翻译损耗。
优势
-
消除翻译带来的语义失真,复杂专业术语、行业场景匹配更强
-
链路更短:英文 Query 直接向量化检索,少一次翻译调用,降低延迟
-
同时兼容中文、英文、混合中英提问,一套模型全覆盖
代价
原有知识库向量需要全部重新向量化入库;多语言 Embedding 算力 / 内存消耗略高于单语言中文模型
方案 B:多路召回融合(折中方案,不用重刷全量知识库)
不想重构建向量库时,多路召回合并打分,兼顾覆盖与精度,三路并行检索:
-
召回 1(翻译链路):英文 Query 翻译中文 + 原有中文 Embedding 检索
-
召回 2(关键词双语匹配):英文关键词翻译中文关键词,做全文关键词 / 倒排索引检索(BM25)
-
召回 3(跨语言小模型补充召回):抽取知识库高频业务术语中英对照词典,做精确匹配兜底
三路召回结果去重、加权打分排序,解决单一路召回漏文档问题。
BM25 关键词补充非常关键
纯向量容易丢失专有名词,建议维护中英术语词典: 知识库内所有专业词汇、产品名、流程名词,手动维护中英映射; 英文 Query 分词提取名词,匹配词典翻译成中文关键词,走全文检索,召回向量漏匹配的文档。
三、高阶优化手段(行业知识库 / 企业知识库专用)
1. 知识库预处理阶段优化(治本)
-
给中文文档补充英文摘要 / 英文关键词 入库时用大模型为每一篇中文知识库生成:英文标题、英文核心关键词、简短英文摘要,和原文绑定存入数据库; 检索时:英文 Query 向量同时匹配「文档中文向量」+「文档内置英文摘要向量」两路召回,双向对齐。
-
构建领域双语词表 行业专属术语(金融、电商、设备运维)通用翻译容易出错,人工整理中英对照词库,翻译 Query 时优先替换专业词汇,修正机器翻译偏差。
-
文档分段精细化入库 长文档切割小 chunk(200-500 字),每段独立向量,避免长文本向量语义稀释,英文提问更容易匹配到局部相关段落。
2. Query 侧增强(大模型扩写,提升召回)
使用大模型对英文提问做语义扩充,生成多条同义英文问句,再统一检索: 示例原句:
I can't receive the verification code 扩写多条同义句:-
Why didn't I get the SMS verification code
-
The verification message failed to send
-
No verification code received after submitting form 全部翻译为中文 / 直接多语言向量化,多路检索,大幅提升召回覆盖率。
3. 重排序(Rerank)修正匹配误差
多路召回一堆候选文档后,增加跨语言重排模型(bge-reranker-multilingual、cross-encoder 多语言): 输入:英文用户问题 + 中文候选文档片段 模型打分,过滤语义不匹配、翻译偏差带来的虚假召回,大幅提升最终答案准确度。
4. 混合检索架构(工业界标准)
多路召回(向量检索+BM25关键词) + 多语言重排序-
粗召回:快速捞出 Top50 相关文档
-
精排:跨语言 rerank 模型筛选 Top3-5 最匹配文档
-
大模型摘要:用匹配到的中文文档生成英文回答返回用户
四、两种主流技术路线对比选型
|
方案
|
改造成本
|
检索精度
|
延迟
|
适用场景
|
|
英文翻译中文 + 单语中文向量
|
低
|
中等
|
中等
|
存量知识库庞大,无法全量重刷向量、低并发业务
|
|
多语言 Embedding 统一向量库
|
中高
|
最高
|
低
|
新搭建知识库、可重新向量化、对准确度要求高
|
|
多路召回融合(翻译向量 + BM25 双语关键词)
|
中
|
高
|
偏高
|
存量库不想重构,兼顾召回覆盖
|
五、避坑关键要点
-
Embedding 模型必须统一 绝对不能:知识库用中文单语 BGE,Query 用多语言模型,语义空间完全割裂,检索失效。要么全库换多语言模型,要么 Query 翻译后用原中文模型。
-
不要只依赖纯向量检索 专有名词、冷僻术语向量匹配弱,必须搭配双语关键词 BM25 检索兜底。
-
翻译会引入偏差 口语化、反问、否定句式英文翻译容易反转语义(如
I don't want to cancel误译为 “我想要取消”),大模型扩写 + rerank 可以缓解。 -
中英混合提问兼容 多语言 Embedding 天然支持中英夹杂问句;翻译方案需先拆分中英文分别处理再合并。
六、最简落地步骤(快速落地版)
-
短期(1 天上线) 新增 Query 预处理逻辑:英文提问调用翻译转中文,使用现有中文 Embedding 检索,搭配中英术语词典做关键词 BM25 补充召回。
-
中期(迭代优化) 接入多语言 rerank 重排结果;大模型扩充英文同义问句提升召回。
-
长期(效果最优) 全量知识库使用多语言 Embedding 重新向量化入库,移除翻译中间步骤,实现英文直接检索中文知识库。
七、补充:返回英文答案处理
检索拿到中文知识库内容后,交给 LLM 做两件事:
-
根据英文用户问题,从中文文档抽取相关信息
-
输出通顺英文回答,避免直接机翻导致生硬,同时过滤无关内容。