2025-03-18-【大模型】AI客服系统搭建

引言

随着 DeepSeek、混元等国产大模型的崛起,低成本构建智能客服已成为企业降本增效的首选。本文将详细介绍两种主流场景(微信小程序、微信客服)的 AI 接入方案,涵盖低代码平台自建后端两种路径,并重点解决“转人工”等核心痛点。

场景一:微信小程序 AI 客服

小程序客服是用户触达最频繁的场景。

方案 A:腾讯云开发 AI+ (低代码/快速验证)

适合无服务器运维经验,希望快速上线的个人或小团队。

核心流程:

  1. 开通环境:在微信开发者工具中点击“云开发”,开通按量付费环境。
  2. 启用 AI 能力:进入云开发控制台 -> AI 智能客服 -> 选择模型(推荐 DeepSeek-R1 或 混元)。
  3. 知识库配置:上传产品文档(PDF/Markdown/Word),系统会自动进行分片和向量化处理。
  4. 对接客服:在小程序后台 -> 客服 -> 消息推送 -> 开启并指向云开发环境。

🔴 痛点解决:如何转人工?
云开发 AI 客服默认托管了消息回复。若需转人工,通常有以下两种方式:

  • 关键词触发(配置式):在云开发后台设置“转人工”关键词(如“人工”、“客服”),触发后系统暂停 AI 回复。
  • 云函数拦截(编程式)
    若需要更灵活的逻辑,可接管消息推送。在云函数中判断用户意图,若为转人工,则返回特定 XML 消息:
    1
    2
    3
    {
    "MsgType": "transfer_customer_service"
    }

方案 B:自建后端 + 微信消息推送 (高自由度/企业级)

适合需要深度定制业务逻辑(如查询订单状态、鉴权、多轮对话)的场景。

架构设计:

  • 接入层:微信小程序后台配置 消息推送 -> 指向自建服务器 URL (https)。
  • 逻辑层:Node.js/Python/Go 服务,负责解析 XML/JSON 消息、业务逻辑处理。
  • 模型层:调用 DeepSeek / OpenAI / 腾讯混元 API。
  • 知识库:Dify / FastGPT / 自建 RAG (Elasticsearch/Milvus)。

核心代码实现 (Node.js + Express 示例):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
const express = require("express");
const axios = require("axios");
const app = express();

// 接收微信服务器推送的消息
app.post("/wechat-message", async (req, res) => {
// 假设已通过 xml-parser 中间件解析了 body
const { ToUserName, FromUserName, Content, MsgType } = req.body.xml;

// 1. 关键词转人工判断
if (Content === "转人工" || Content === "人工") {
// 返回特定 XML 结构,微信服务器收到后会将会话转发给网页版客服工具
return res.send(`
<xml>
<ToUserName><![CDATA[${FromUserName}]]></ToUserName>
<FromUserName><![CDATA[${ToUserName}]]></FromUserName>
<CreateTime>${Date.now()}</CreateTime>
<MsgType><![CDATA[transfer_customer_service]]></MsgType>
</xml>
`);
}

// 2. 调用 AI 模型获取回复 (示例调用 DeepSeek)
try {
const aiResponse = await callDeepSeekAPI(Content); // 封装好的 API 调用函数

// 3. 回复用户 AI 生成的内容
res.send(`
<xml>
<ToUserName><![CDATA[${FromUserName}]]></ToUserName>
<FromUserName><![CDATA[${ToUserName}]]></FromUserName>
<CreateTime>${Date.now()}</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[${aiResponse}]]></Content>
</xml>
`);
} catch (error) {
console.error("AI Error:", error);
res.send("success"); // 失败时快速响应,避免微信重试
}
});

function callDeepSeekAPI(prompt) {
// 实现调用 DeepSeek API 的逻辑
return "这是 AI 回复的内容";
}

场景二:微信客服 (企业微信生态)

微信客服(不同于小程序客服)支持在微信内、App、网页等多渠道接入,适合企业级服务,且支持更丰富的消息类型。

推荐方案:Dify / Coze + 微信客服

利用 Dify 或 Coze 强大的工作流编排能力,零代码对接微信客服。

搭建步骤:

1. 准备知识库 (RAG)

  • 数据准备
    • FAQ 问答对:整理 Excel 表格(列:问题、答案、关键词),适合精确匹配。
    • 非结构化文档:上传产品手册、操作指南 PDF/Word,适合模糊检索。
  • 导入平台:在 Dify/Coze 中创建知识库,建议选择“混合检索”(关键词+向量)以获得最佳效果。

2. 编排智能体 (Agent)

  • 人设提示词 (Prompt)
    1
    2
    3
    你是一个专业的 SaaS 软件售前顾问。
    请基于【知识库】中的内容回答用户问题。
    如果知识库中没有相关信息,请礼貌地引导用户回复“转人工”以获取帮助,严禁编造事实。
  • 工作流设计
    • Start -> 意图识别 (售前/售后/投诉) -> 知识库检索 -> LLM 生成 -> End
    • 高级技巧:如果意图识别为“投诉”或“紧急”,直接输出特定文案引导人工。

3. 渠道发布

  • Dify
    1. 进入应用 -> “发布” -> “第三方集成”。
    2. 选择“微信客服”。
    3. 按照指引填写企业微信的 CorpIDSecret 等信息。
    4. 使用企业微信管理员扫码授权。
  • Coze
    1. 发布页面 -> 勾选“微信客服”。
    2. 配置相关 ID 并授权。

场景三:常见问题与优化策略

1. 回复速度慢 (Time to First Token)

  • 原因:大模型推理需要时间(通常 2-5 秒),而微信被动回复接口要求 5 秒内响应。
  • 解决方案
    • 异步回复:收到用户消息后,立即返回空串(success)或“正在思考中…”的提示,防止微信报错。然后通过“客服消息接口”(主动调用 API)异步下发 AI 生成的回复。
    • 流式输出:虽然微信客户端不支持打字机效果,但后端可以流式接收 LLM 结果,积攒一句话就发一条,减少用户等待感。

2. 幻觉问题(一本正经胡说八道)

  • 解决方案
    • 降低 Temperature:将模型温度设置为 0.1 - 0.3,降低随机性。
    • 严格约束 Prompt:明确“仅依据上下文回答,不知道就说不知道”。
    • 引用归源:在回复末尾加上“信息来源:[文档名称]”,增加可信度。

3. 多轮对话上下文丢失

  • 解决方案
    • 微信接口是无状态的。自建后端需要使用 Redis 或数据库存储 OpenID 对应的最近 10-20 轮对话记录。
    • 每次请求 LLM 时,将历史记录拼接在 Prompt 中发送。

总结与选型建议

需求场景 推荐方案 优点 缺点
个人开发者 / 快速验证 腾讯云开发 AI+ 开箱即用,无运维成本 定制化能力弱,按量付费
企业内部 / 复杂业务 自建后端 + Dify 数据私有,可集成业务系统(查单等) 需要一定的开发和运维能力
多渠道统一管理 Coze + 微信客服 渠道支持广,工作流强大 依赖第三方平台稳定性

建议从 Dify + 微信客服 开始尝试,既能体验 RAG 的强大,又能平滑过渡到企业级应用。


2025-03-18-【大模型】AI客服系统搭建
https://zhangyingxuan.github.io/2025-03-18-【大模型】AI客服系统搭建/
作者
blowsysun
更新于
2026年1月23日
许可协议