智能客服
智能客服通常由三类模型配合:便宜的小模型先判断用户意图,向量模型从知识库里找出相关条款,对话模型按条款写回复,答不了的转人工。按每月 2 万次会话、约 8 万次回复估算,用各模型最低价分组的实时价格计算,模型费用每月约 ¥311。
价格更新于 2026年11月12日 20:17|
01
业务问题
客服收到的问题大多是重复的:什么时候发货、怎么退换、优惠券怎么用、账号信息怎么改。人工客服把大量时间花在这些问题上,高峰期要排队,夜里没人接。
老式的关键词机器人只认固定问法,用户换个说法就答非所问。直接接一个大模型又有另一个问题:它不知道你们的规则,可能编出一条并不存在的退款政策。
稳妥的做法是让模型只按知识库里的条款回答,拿不准的问题和涉及纠纷的对话交给人工,完整对话留档,方便事后复核。
02
推荐模型组合
意图识别(小模型)
gemini-2.5-flash-liteGoogle输入 ¥0.2 / 输出 ¥0.8 每百万 tokens· 标准分组每条消息先用便宜的小模型分类:订单查询、商品咨询、投诉或其他。投诉和敏感问题直接转人工,订单状态可以走你们自己的订单接口,不必每次都调用大模型。
知识库检索(Embeddings)
text-embedding-3-smallOpenAI输入 ¥0.04 / 输出 ¥0.04 每百万 tokens· 标准分组把售后规则、常见问题、商品说明切成短条目并向量化,用户提问时取最相关的几条交给对话模型。规则更新后,只需重新向量化改动过的条目。
生成回复(对话模型)
qwen3.5-plus通义千问输入 ¥1.12 / 输出 ¥6.72 每百万 tokens· 国产模型分组根据检索到的条款和最近几轮对话写回复,开启流式输出,用户不用干等。客服场景输入长、输出短,输入单价对总成本影响最大。
推荐模型按实时目录自动选取,价格取各模型最低价分组,更新于 2026年11月12日 20:17。点模型名可查看全部分组价格。
03
参考架构
- 1
整理知识库
把售后规则、物流说明、常见问题、商品参数整理成短条目,每条注明适用范围和生效日期,向量化后存入向量库。
- 2
意图分流
用户消息先过意图识别小模型。投诉、退款纠纷、法律和医疗类问题直接转人工;查订单状态的问题调用自己的订单系统。
- 3
检索条款
其余问题用同一个向量模型把问题向量化,从知识库取 3 到 5 条最相关的条款。
- 4
流式回复
把条款、最近几轮对话和问题交给对话模型。系统提示词要求只按条款回答,没把握时输出转人工标记,回复用流式输出返回前端。
- 5
转人工与复核
出现转人工标记、用户连续两次不满意或主动要求人工时,把完整对话转给坐席;定期抽查机器人回复,补充知识库。
04
成本估算
假设:每月 2 万次会话,平均每次 4 轮,共约 8 万次回复;每次意图识别输入约 300 tokens;对话模型每次输入约 2,500 tokens(系统提示词 800、知识条款 1,200、历史对话 500),回复约 150 tokens。
| 项目 | 模型 | 用量假设 | 费用 |
|---|---|---|---|
| 意图识别 | gemini-2.5-flash-lite | 80,000 次 × 输入 300 + 输出 20 tokens | ¥6.08 |
| 问题向量化 | text-embedding-3-small | 80,000 次 × 输入 30 tokens | ¥0.096 |
| 生成回复 | qwen3.5-plus | 80,000 次 × 输入 2,500 + 输出 150 tokens | ¥304.64 |
| 合计(每月) | ¥310.82 | ||
按各模型最低价分组的实时价格计算,价格更新于 2026年11月12日 20:17。
只含模型调用费用,不含向量库、服务器和人工坐席成本。知识库首次向量化是一次性费用,按条目总 tokens 乘以向量模型单价计算。会话量翻倍,费用大致翻倍;回复写得越长,输出费用越高。
05
示例代码
先用小模型判断意图,投诉直接转人工;其余问题带上知识条款流式生成回复,回复里出现转人工标记时交给坐席。检索部分换成你自己的知识库。
import os
from openai import OpenAI
client = OpenAI(base_url="https://open.tutujin.com/v1", api_key=os.environ["TUTUJIN_API_KEY"])
SYSTEM = (
"You are the support assistant of an online store. Answer only from the reference material. "
"If the material does not cover the question, or it is about a refund dispute, legal or medical matters, "
"reply with the single word HANDOFF so a human agent takes over."
)
def classify(message):
"""Cheap intent check before the main model: order, product, complaint or other."""
resp = client.chat.completions.create(
model="gemini-2.5-flash-lite",
messages=[
{"role": "system", "content": "Classify the message as order, product, complaint or other. Reply with the label only."},
{"role": "user", "content": message},
],
max_tokens=5,
temperature=0,
)
return resp.choices[0].message.content.strip().lower()
def reply_stream(message, references, history):
messages = [{"role": "system", "content": SYSTEM + "\n\nReference material:\n" + references}]
messages += history[-6:] # keep only the last few turns
messages.append({"role": "user", "content": message})
stream = client.chat.completions.create(
model="qwen3.5-plus",
messages=messages,
stream=True,
temperature=0.3,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
yield chunk.choices[0].delta.content
message = "When will my order ship?"
if classify(message) == "complaint":
print("-> human agent")
else:
# references: top matches from your knowledge base, embedded with text-embedding-3-small
references = "In-stock orders ship within 48 hours of payment. Pre-orders ship on the date shown on the product page."
reply = ""
for piece in reply_stream(message, references, history=[]):
reply += piece
print(piece, end="", flush=True)
if "HANDOFF" in reply:
print("\n-> human agent")常见问题
智能客服每月要花多少模型费用?
按每月 2 万次会话、约 8 万次回复、每次带约 2,500 tokens 上下文估算,用最低价分组计算约 ¥311。费用主要取决于回复次数和每次带入的知识条款长度。
机器人答错了怎么办?
系统提示词里要求模型只按给出的条款回答,资料里没有就输出转人工标记,同时保留完整对话、定期抽查。大模型的回答没法保证每次都对,退款、赔偿这类涉及钱的承诺,建议始终由人工确认。
一定要用向量检索吗?
知识条目只有几十条时,可以全部写进系统提示词,省掉检索这一步。条目多了再上向量检索,否则每次请求的输入 tokens 会很高。
怎么让回复更快?
开启流式输出,前端收到第一段文字就开始显示;意图识别用小模型并限制输出长度;历史对话只保留最近几轮。
网页、App 和微信多个渠道能共用一套吗?
可以。模型调用都在你自己的服务端完成,各渠道把消息转到同一个服务即可。建议每个渠道或环境用一把单独的 API Key,方便分别统计用量。