手把手教你搭建 AI 客服机器人:用 ChatGPT + Telegram 一天上线 24/7 智能客服

手把手教你搭建 AI 客服机器人:用 ChatGPT + Telegram 一天上线 24/7 智能客服

完整教程:如何用 OpenAI API + Telegram Bot + Redis 搭建智能客服机器人,支持多轮对话、知识库检索、人工接管。

为什么要搭建 AI 客服机器人

传统客服的问题:

  • 成本高:每个客服人力 3000-8000 元/月
  • 无法 24 小时:人工需要休息、换班
  • 响应慢:高峰期排队等待
  • 无法扩展:业务增长 = 线性增加人力

AI 客服的优势:

  • 7x24 工作:永不下班
  • 即时响应:毫秒级回复
  • 无限扩展:1000 人同时咨询也能应对
  • 成本极低:每月 API 费用 $20-200
  • 一致的服务质量:不会有情绪波动

技术架构

用户 → Telegram/WhatsApp → Bot 服务 → OpenAI API
                              ↓
                         Redis 上下文缓存
                              ↓
                         向量数据库(知识库)
                              ↓
                         人工接管系统

技术栈选型

组件推荐备选
LLMOpenAI GPT-4o / Claude SonnetDeepSeek(省钱)
前端Telegram BotWhatsApp Business API、网站 Widget
后端Node.js / Python / Go任意
上下文存储Redis内存、MongoDB
向量数据库Pinecone / Qdrantpgvector、Weaviate
部署VPS / Railway / VercelLambda、Cloud Run

第一步:创建 Telegram Bot

  1. 在 Telegram 中搜索 @BotFather
  2. 发送 /newbot
  3. 按提示命名机器人
  4. 获取 Bot Token(形如 123456:ABC-DEF...)

第二步:初始化项目

# 使用 Node.js 示例
mkdir ai-customer-bot && cd ai-customer-bot
npm init -y
npm install telegraf openai ioredis dotenv

# .env
TELEGRAM_BOT_TOKEN=你的 Bot Token
OPENAI_API_KEY=你的 OpenAI API Key
REDIS_URL=redis://localhost:6379

第三步:核心代码

// index.js
import { Telegraf } from 'telegraf'
import OpenAI from 'openai'
import Redis from 'ioredis'
import 'dotenv/config'

const bot = new Telegraf(process.env.TELEGRAM_BOT_TOKEN)
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY })
const redis = new Redis(process.env.REDIS_URL)

const SYSTEM_PROMPT = `你是 9DSC 九度数城的 AI 客服助手。
职责:
1. 友好、专业地回答用户关于商品、支付、交付的问题
2. 不知道的问题诚实告知,不要编造
3. 复杂问题引导用户联系人工客服(Telegram @liberty2015)

店铺主要商品:
- Apple Gift Card:美区、日区、港区等多地区
- Telegram 会员/账号/机器人工具
- ChatGPT Plus/Pro 代充
- Claude Pro 代充
- Midjourney、Cursor、Copilot 代充
- OpenAI/Anthropic API 充值
- WhatsApp 精品账号(美/德/英/以/土/印/泰)

支付方式:人民币、USDT、加密货币
交付时间:AI 订阅 1-24 小时,礼品卡即时`

async function getContext(userId) {
  const key = `chat:${userId}`
  const history = await redis.lrange(key, 0, 20)
  return history.map(s => JSON.parse(s))
}

async function saveContext(userId, role, content) {
  const key = `chat:${userId}`
  await redis.rpush(key, JSON.stringify({ role, content }))
  await redis.ltrim(key, -20, -1) // 只保留最近 20 轮
  await redis.expire(key, 86400) // 24 小时过期
}

bot.on('text', async (ctx) => {
  const userId = ctx.from.id
  const userMessage = ctx.message.text

  // 人工接管关键词
  if (userMessage.includes('人工') || userMessage.includes('转人工')) {
    await ctx.reply('正在为您转接人工客服:@liberty2015,请直接联系。')
    return
  }

  try {
    await ctx.sendChatAction('typing')
    const history = await getContext(userId)

    const completion = await openai.chat.completions.create({
      model: 'gpt-4o-mini',
      messages: [
        { role: 'system', content: SYSTEM_PROMPT },
        ...history,
        { role: 'user', content: userMessage },
      ],
      temperature: 0.3,
    })

    const reply = completion.choices[0].message.content

    await saveContext(userId, 'user', userMessage)
    await saveContext(userId, 'assistant', reply)

    await ctx.reply(reply)
  } catch (err) {
    console.error(err)
    await ctx.reply('抱歉出错了,请联系人工客服 @liberty2015')
  }
})

bot.launch()
console.log('Bot started!')

第四步:加入知识库(RAG)

让机器人能回答特定问题,需要把你的 FAQ、产品文档嵌入到向量数据库:

// 1. 把文档切分成 chunks(每段 500 字符)
// 2. 对每段生成 embedding
const embedding = await openai.embeddings.create({
  model: 'text-embedding-3-small',
  input: chunk,
})
// 3. 存入向量数据库
await vectorDB.upsert({ id, values: embedding.data[0].embedding, metadata: { text: chunk } })

// 查询时:
// 1. 用户问题转 embedding
// 2. 在向量库中搜索 top 3 相似的 chunks
// 3. 拼到 prompt 里让 LLM 参考回答
const context = topChunks.map(c => c.text).join('\n')
const systemPrompt = `${SYSTEM_PROMPT}

参考信息:
${context}`

第五步:人工接管逻辑

关键词触发 + 情绪检测:

  • 用户说「人工」「转人工」「投诉」→ 转人工
  • 同一个问题问 3 次未解决 → 转人工
  • 情绪识别(愤怒、焦躁)→ 转人工
  • 涉及退款、申诉 → 转人工

第六步:部署上线

方案 1:VPS 部署

# 使用 PM2 常驻进程
npm install -g pm2
pm2 start index.js --name ai-bot
pm2 save
pm2 startup

方案 2:Railway(最简单)

  1. 推代码到 GitHub
  2. 在 Railway 新建项目,连接 repo
  3. 配置环境变量
  4. 自动部署,获得 HTTPS URL

方案 3:Vercel Serverless

适合 Webhook 模式(不需要常驻)。

进阶功能

1. 多语言支持

根据用户语言自动切换回复:

const lang = detectLanguage(userMessage)
const systemPrompt = LANG_PROMPTS[lang]

2. 商品搜索集成

让 Bot 能直接搜索你的产品数据库:

// 使用 Function Calling
const tools = [{
  type: 'function',
  function: {
    name: 'search_products',
    description: '搜索店铺商品',
    parameters: { /* ... */ }
  }
}]

3. 订单查询

用户输入订单号,Bot 自动查询订单状态。

4. 支付链接生成

用户确认购买后,Bot 生成支付链接。

5. 自动 A/B 测试回复

收集用户满意度,持续优化 Prompt。

成本估算

月活 1000 用户

  • GPT-4o mini:每对话约 1000 token
  • 每用户每月 30 条消息 → 30K token/用户/月
  • 1000 用户 → 30M token/月
  • 成本:约 $9/月(gpt-4o-mini)
  • Redis:免费(Upstash 免费版)
  • 服务器:$5/月(VPS)或免费(Vercel)
  • 总计:$15-25/月

月活 10 万用户

  • GPT-4o mini:$900/月
  • 向量数据库:$70/月
  • 服务器:$50/月
  • 总计:约 $1000/月

相比传统客服(10 万用户至少需要 5-10 个客服,每月 3-8 万元),AI 客服节省 90% 以上的成本

常见问题

Q: 回答不准确怎么办?

A: 优化 System Prompt;加入更多 FAQ 到向量库;调低 temperature(0.1-0.3);关键场景用 Few-shot 示例。

Q: API 费用失控?

A: 用 gpt-4o-mini 代替 gpt-4o(便宜 17 倍);缓存常见问题答案;限制每个用户每日消息上限。

Q: 用户问敏感问题?

A: 在 System Prompt 里明确拒绝规则;加入内容过滤层;涉及金融/医疗/法律必须转人工。

需要的 API 和订阅

搭建 AI 客服机器人需要 OpenAI 或 Anthropic API。通过 9DSC 九度数城

  • OpenAI API 充值:$50 起充,灵活使用
  • Anthropic API 充值:使用 Claude 模型
  • ChatGPT Plus / Pro 代充:开发测试阶段使用 GPTs
  • 无需国际信用卡
  • 支持人民币、USDT 多种支付

想直接使用成熟的 Telegram 客服方案?Telegram 自动回复机器人 开箱即用,无需自己编码。

结语

AI 客服机器人是 2025 年任何线上业务都应该标配的基础设施。不搭建的人,等于在给竞争对手送客户。

立即访问 9DSC 九度数城 获取 OpenAI API 额度,开始搭建你的 AI 客服。或者直接购买 Telegram 自动回复机器人,几分钟上线。