极客前沿

用Python打造你的第一个聊天机器人:从安装到跑通

2026-05-07 01:30
Real Python
查看原文

零基础学会用Python的ChatterBot库搭建命令行聊天机器人,包括环境安装、数据准备和训练。

准备工作:安装Python和ChatterBot

你需要一台安装了Python 3.10或更新版本的电脑。如果还没装,去python.org下载安装包,安装时记得勾选“Add Python to PATH”。装好后,打开终端(Windows用命令提示符或PowerShell,Mac/Linux用终端),输入以下命令安装ChatterBot库:

Tutorial Image
  • pip install chatterbot

如果遇到权限问题,在命令前加pip install --user chatterbot。安装成功后,你会看到类似“Successfully installed”的提示。

Tutorial Image

第一步:创建并运行一个最简单的聊天机器人

新建一个Python文件,比如bot.py,写入以下代码:

Tutorial Image
from chatterbot import ChatBot
chatbot = ChatBot('MyBot')
while True:
user_input = input('你说:')
if user_input.lower() == '退出':
break
response = chatbot.get_response(user_input)
print('机器人:', response)

保存后,在终端运行python bot.py。现在你可以和机器人对话了,不过因为还没训练,它的回答可能很傻。按“退出”结束对话。

Tutorial Image

第二步:用真实聊天数据训练它

为了让机器人更聪明,我们需要给它一些聊天记录。你可以导出微信或WhatsApp的聊天记录,或者使用示例文件(比如chat.txt)。把文件放到和bot.py相同的文件夹里。然后修改代码,加入训练步骤:

Tutorial Image
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer

chatbot = ChatBot('MyBot')
trainer = ListTrainer(chatbot)

# 读取聊天记录文件
with open('chat.txt', 'r', encoding='utf-8') as f:
lines = f.readlines()
trainer.train(lines)

while True:
user_input = input('你说:')
if user_input.lower() == '退出':
break
response = chatbot.get_response(user_input)
print('机器人:', response)

再次运行python bot.py,你会发现机器人的回答更贴切了。训练数据越多、质量越高,效果越好。

常见坑和下一步

  • 坑1:如果训练时报错“No module named 'spacy'”,运行pip install spacy安装spaCy。
  • 坑2:聊天记录文件必须是纯文本格式,每行一句对话。如果是从WhatsApp导出的,可能需要用正则表达式清洗数据。
  • 下一步:你可以尝试连接本地大语言模型(如Ollama),让机器人能回答更复杂的问题。具体方法可参考ChatterBot官方文档。

现在你已经成功搭建了第一个聊天机器人!继续探索,用更多数据训练它,或者给它添加新功能吧。

内容来源

Real Python

发布时间

2026-05-07 01:30

返回 AI技术