游乐游手机版
首页/AI热点日报/热点详情

BM25+DeepSeek构建不幻觉AI客服跨境电商82%答率背后的架构

类型:热点整理2026-07-24
基于BM25+DeepSeek构建AI客服系统,通过BM25检索产品文档,结合置信度检查避免幻觉,查询时多语言翻译,实现82%自动答率,剩余18%精准转人工,成本可控且无需向量数据库。

六周前,一位独立开发者收到 Gorgias 高达 300 美元的账单——其 AI 客服系统自信地向客户杜撰了一条根本不存在的退货政策。这一事件促使他亲手打造了一套可靠的 AI 客服架构:不产生幻觉、结果可解释、成本可控。本文将详细拆解这套基于 BM25 + DeepSeek 的解决方案,展示如何实现 82% 的自动应答率,同时让 AI 学会在不确定时主动说“不知道”。

用 BM25 + DeepSeek 构建不幻觉的 AI 客服:跨境电商 82% 答率背后的架构

2026 年 AI 客服面临的三大致命痛点

  1. 幻觉问题:即使使用 GPT-4 + system prompt 精心调教,AI 仍可能自信地编造政策,这是商家最头疼的问题。
  2. 成本失控:按 ticket 计费的模式下,一旦产品出现 viral 效应,客服成本会瞬间飙升。
  3. 语言障碍:跨境电商通常需要支持 7 种以上语言,维护 7 个独立知识库既不现实又耗费资源。

系统架构

客户提问
  ↓
[BM25 检索] ← 知识库(产品页 chunks)
  ↓
Top-K 相关 chunks 及分数
  ↓
[置信度检查] → 分数太低?→ "我不确定,转人工"
  ↓
[LLM 生成] ← "只根据上下文回答"
  ↓
回答(基于真实产品数据)

关键技术决策

1. 选用 BM25 而非 embeddings(针对产品页场景)

产品页内容通常简短、结构化且关键词密集。BM25 在此场景下优势明显:

  • 零外部依赖(无需 sentence-transformers 或向量数据库)
  • 仅需 CPU 运行(省去 GPU 成本)
  • 速度提升 10 倍(短页面检索效率极高)
  • 确定性检索(相同查询始终返回相同结果)
  • 成本为零

相比之下,Pinecone 起步价就要 $70/月,对早期独立开发者来说是一笔不小的负担。

小提示:如果你的产品页内容短小且关键词明确,BM25 是比向量检索更经济、更可靠的方案。无需额外搭建向量数据库,直接利用文本索引即可高效运行。

2. 置信度评分(反幻觉的核心机制)

def should_answer(retrieved):
    if not retrieved:
        return False  # 未找到任何相关上下文
    top1 = retrieved[0][1]
    if top1 < MIN_TOP_SCORE:  # 阈值设为 1.0
        return False  # 最佳匹配分数过低
    if len(retrieved) >= 2:
        gap = retrieved[0][1] - retrieved[1][1]
        if gap < SCORE_GAP_THRESHOLD:  # 阈值设为 0.5
            return False  # 多个弱匹配说明存在歧义
    return True

当 should_answer 返回 False 时,AI 会主动回复:

"I am not confident I know the answer to that. Let me connect you with a human agent who can help."

这是商家最需要的功能。他们并不要求 AI 永远正确——他们需要 AI 知道何时自己可能出错。置信度评分比回答质量本身更为关键。

常见问题:如何设定阈值?

MIN_TOP_SCORE 建议设为 1.0,SCORE_GAP_THRESHOLD 设为 0.5。这些数值需根据你的知识库内容动态调整:如果知识库中内容相似度较高,可适当降低阈值;若关键词差异明显,则可提高阈值。建议先在小型测试集上反复调优。

3. 基于事实的生成(杜绝自由发挥)

仅当置信度足够高时,LLM 才介入生成回答:

system_prompt = (
    "You are a customer support agent. "
    "Answer the customer question using ONLY the information in the "
    "## Product Information section below. "
    "If the answer is not in the product information, say "
    "I am not sure, let me connect you to a human agent. "
    "Do not invent policies, shipping times, or return rules."
)

LLM 选用 DeepSeek(兼容 OpenAI 接口),温度设为 0.3(低创造性,高忠实度)。每段对话成本仅 $0.003(DeepSeek),而 GPT-4 需要 $0.50+,相当于节省 170 倍。

4. 查询时翻译(一个知识库覆盖 7 种语言)

# 客户用中文提问,知识库是英文
translated = await translate_query("你们的退货政策是什么?", target_lang="en")
# → "What is your return policy?"

# 使用翻译后的查询检索英文知识库
results = index.search(translated, top_k=4)

# 用英文生成答案,再翻译回客户语言
answer_en = await llm_generate(results, translated)
answer_zh = await translate_query(answer_en, target_lang="zh")

支持 7 种语言(en/zh/ja/fr/de/es/ko)。一套知识库即可,无需重复建设。

小提示:查询时翻译比维护多语言知识库更省时省力。但需注意翻译质量会直接影响检索效果,建议使用成熟的翻译 API,并在翻译后对产品关键词进行二次确认。

实测数据(来自 8 个 Shopify 商家)

商家 类型 自动应答率 备注
Allbirds 鞋类 71% 跨语言(zh→en)
Kith 街头服饰 100% 处理复杂的 CNY 变体库存
Cascadia Roasters 订阅咖啡 83% 涉及暂停/跳过/烘焙度等
Peak Design 摄影装备 100% 丰富的 JSON-LD 结构化数据
Loop Earplugs 健康产品 88% 帮助客户选择合适款式
Beardbrand 美妆护肤 50% 其余均正确转人工处理
平均 82% 跨语言环境

那 18% 未自动应答的?全部正确转接人工客服,绝不编造虚假信息。

我的核心收获

  1. 产品页场景下 BM25 优于 embeddings。产品页短小、结构化、关键词密集,BM25 更快、更便宜、结果更确定。
  2. "I do not know" 是功能而非缺陷。商家真正需要的是 AI 能识别自己的知识边界,置信度比答案质量更重要。
  3. 查询时翻译优于维护 7 个知识库。一个知识库 + 查询时翻译 = 7 倍成本节省 + 同等准确率。
  4. 固定定价优于按 ticket 计费。按 ticket 收费会惩罚成功的客服系统,而 $49/月固定费用让商家敢于使用。

技术栈

  • Python + FastAPI
  • 自实现 BM25(无外部依赖)
  • DeepSeek API(兼容 OpenAI)
  • httpx + BeautifulSoup
  • 无需向量数据库 / 无需 GPU

试用与资源

  • Demo(30 秒,无需注册):https://ling-support.com/try
  • 免费 FAQ 生成器:https://ling-support.com/tools/faq-generator
  • 定价:$49/月固定费用,无 per-ticket 费

前 10 个订阅者享受永久 50% 折扣($24.5/月),优惠码:EARLY10。


Building in public. Day 47/90. 已对接 8 个商家,暂时 0 个付费用户,但架构已稳定,漏斗已打开。欢迎在评论区提问。

来源:https://segmentfault.com/a/1190000048068053

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。