AI客服应用教程:从零搭建自动问答机器人

想自己搭一个能自动回答常见问题的AI客服,又担心流程太复杂?
这篇教程会带你从零开始,在一台云服务器上部署一个基于开源工具Rasa的客服机器人。
整个过程不需要写太多代码,重点是把环境装好、把问答数据喂进去,最后通过接口测试确认它能正常回复。
下面按实际操作的顺序展开。

先确认服务器环境和必备条件

建议准备一台至少2核4G内存的Linux云服务器(Ubuntu 22.04或CentOS 7以上),并确保能通过SSH登录。
操作系统需要自带Python 3.8以上版本,如果没有,先升级。
另外,确保服务器能访问外网,因为后续要拉取Docker镜像和Python包。

登录服务器后,先更新软件源并安装基础工具:

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git vim

如果使用CentOS,把apt换成yum即可。
接着检查Python版本:

python3 --version

如果低于3.8,建议用pyenv或系统包管理器安装新版本。
这里假设已满足要求。

用Docker快速拉起Rasa服务

Rasa是一个开源的对话式AI框架,适合用来做客服机器人。
为了简化依赖管理,我们用Docker来运行。
先安装Docker和Docker Compose:

curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER

执行完需要重新登录SSH,让用户组生效。
然后验证Docker是否可用:

docker --version

随后创建一个工作目录,并编写docker-compose.yml文件:

mkdir ~/ai-customer-service && cd ~/ai-customer-service
vim docker-compose.yml

把以下内容粘贴进去(注意缩进):

version: '3.0'
services:
  rasa:
    image: rasa/rasa:3.6.0-full
    ports:
      - "5005:5005"
    volumes:
      - ./rasa:/app
    command: run --enable-api --cors "*" --debug

保存后,在rasa子目录里初始化项目:

mkdir rasa && cd rasa
docker run --rm -v $(pwd):/app rasa/rasa:3.6.0-full init --no-prompt

这会在当前目录生成默认的配置文件、训练数据和模型目录。
回到上级目录,启动服务:

docker-compose up -d

用docker-compose logs -f查看日志,看到Rasa server is up and running表示启动成功。
此时API监听在5005端口。

导入客服知识库并训练模型

默认项目里已经包含一些示例意图和回复,但我们需要换成自己的客服问答。
编辑rasa/data/nlu.yml,按YAML格式添加意图和例句,例如:

version: "3.1"
nlu:
- intent: ask_shipping
  examples: |
    - 发货时间要多久
    - 什么时候能发货
    - 快递几天能到

再编辑rasa/domain.yml,在responses部分添加对应的回复模板:

responses:
  utter_ask_shipping:
  - text: "一般下单后48小时内发货,物流时间视地区而定,通常3-5天送达。"

同时确保rules.yml或stories.yml里包含对应的规则,让机器人知道收到ask_shipping意图时回复utter_ask_shipping。
最简单的做法是在rasa/data/rules.yml里增加:

version: "3.1"
rules:
- rule: 回复发货问题
  steps:
  - intent: ask_shipping
  - action: utter_ask_shipping

保存后,重新训练模型:

docker-compose exec rasa rasa train

训练完成后,重启服务加载新模型:

docker-compose restart rasa

通过HTTP接口测试机器人回复

Rasa提供了REST API,可以用curl模拟用户发消息。
先确认服务正常运行:

curl http://localhost:5005/status

返回{"status":"ok"}表示正常。
然后发送一条测试消息:

curl -X POST http://localhost:5005/webhooks/rest/webhook \
  -H "Content-Type: application/json" \
  -d '{"sender":"test_user","message":"发货时间要多久"}'

如果返回的JSON里包含text字段且内容与预期回复一致,说明客服机器人已经能正确应答。
如果返回空数组,检查意图是否被正确识别,可以查看日志里的NLU解析结果。

常见报错和避坑提醒

部署过程中容易遇到几个典型问题。
一是Docker权限不足,执行docker命令提示permission denied,确认当前用户已加入docker组并重新登录。
二是训练时内存不足,Rasa训练需要一定内存,如果服务器只有1G内存可能会被OOM杀掉,建议至少2G并加swap。
三是端口5005被占用,用ss -tlnp | grep 5005查看占用进程,修改docker-compose.yml的端口映射或停止冲突服务。
四是修改了YAML文件但没重新训练,机器人不会生效,每次改完数据都要执行rasa train并重启容器。
另外,生产环境不要直接暴露5005端口到公网,建议用Nginx反向代理并加认证,或者只在内网调用。

验证与后续维护建议

功能验证除了发消息,还可以用rasa test运行测试用例,检查意图识别和规则回复的准确率。
日常维护时,定期备份rasa/data目录和训练好的模型文件,避免数据丢失。
如果客服问答量增大,可以考虑把Rasa接入微信公众号或网页聊天窗口,通过webhook对接。
对于刚接触AI客服的团队,先跑通基础问答流程,再逐步增加多轮对话和实体抽取,更容易落地。

分享到:
上一篇
AI物流优化配置入门:从零搭建可运行的路径规划环境
下一篇
AI智能客服搭建:从零部署到对接网页的实操流程
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意