DeepQA

用 TensorFlow 训练你的第一个生成式聊天机器人

DeepQA 是一个基于 TensorFlow 实现的神经对话模型,源自论文《A Neural Conversational Model》。它用序列到序列(Seq2Seq)架构训练聊天机器人,解决传统检索式对话缺乏泛化能力的问题,让机器能根据上下文生成自然回复。核心能力包括:支持中英文语料训练、提供数据预处理脚本、可调整模型参数(如层数、隐藏单元数)、训练后能进行交互式对话。项目代码结构清晰,适合学习 Seq2Seq 在对话系统中的应用。

开源 free 对话助手
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 2909
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类对话助手
开发团队Conchylicultor
所属国家
官网地址
定价模式free
价格说明开源项目,基于TensorFlow的对话模型实现,可自行部署,完全免费。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型chatbot,deep-learning,seq2seq,tensorflow
GitHub 星标★ 2909
30天Star增速
HF 下载量
上线时间2016-07-07 00:00:00
最近更新2026-09-08 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:进阶 约 30 分钟 部署方式:本地安装 6 步

环境要求

  • Python 3.5
  • TensorFlow(README 中在 v1.0 上测试通过)
  • numpy、nltk、tqdm(通过 requirements.txt 安装)
  • 可选 CUDA(使用 GPU 训练时需要)
  • Web 界面额外需要 django、channels、Redis、asgi_redis

安装与启动步骤

  1. 1克隆项目仓库

    README 说明 Cornell Movie Dialogs 语料已随仓库一起下载,克隆后即可直接使用默认语料。

    git clone https://github.com/Conchylicultor/DeepQA.git
  2. 2安装 Python 依赖

    进入项目目录后按官方要求用 pip3 安装 requirements.txt 中的依赖(tensorflow、numpy、nltk、tqdm 等)。

    cd DeepQA
    pip3 install -r requirements.txt
  3. 3下载 NLTK 数据

    nltk 用于对句子分词,README 明确要求额外下载 punkt 数据包,否则运行时会报错。

    python3 -m nltk.downloader punkt
  4. 4准备其他语料

    OpenSubtitles 用 --corpus opensubs、Supreme Court 用 --corpus scotus,需先按 data/ 下各自文件夹的说明准备数据。

  5. 5安装 Web 界面依赖

    Web 界面需 django、channels、asgi_redis 与 Redis 服务,README 只列出包名,未给出具体安装命令。

  6. 6可选 Docker 部署

    README 说明提供了 Docker 安装方式,详细步骤在仓库的 docker/README.md 中查看。

关键配置

配置项必填说明示例
--corpus否选择使用的对话语料,默认 cornell,也可选 opensubs、scotus 等--corpus opensubs

如何确认成功

pip3 安装与 nltk 下载均无报错即环境就绪;训练与对话的启动命令本次 README 节选未给出。

常见问题

Q:需要自己准备语料吗?

A:不需要。Cornell Movie Dialogs 语料在克隆仓库时已自带,可直接使用;OpenSubtitles、Supreme Court 等其它语料需按 data/ 下对应文件夹的说明单独准备。

Q:怎么换成 OpenSubtitles 语料?

A:先按 data/opensubs/ 中的说明准备数据,然后在运行时加上 --corpus opensubs 参数。Supreme Court 语料同理,先看 data/scotus/ 说明再使用 --corpus scotus。

Q:可以用 Docker 部署吗?

A:可以,README 明确说明提供了 Docker 安装方式,更详细的步骤需要查看仓库中的 docker/README.md。

Q:报错找不到 nltk 的 punkt 怎么办?

A:执行 python3 -m nltk.downloader punkt 下载该数据包,这是 README 中明确要求的附加数据下载步骤。

注意事项

  • 项目在 Python 3.5 与 TensorFlow v1.0 下测试,新版本 Python / TensorFlow 可能不兼容。
  • 除默认 Cornell 语料外,其它语料都需要额外下载与预处理。
  • Web 界面依赖 Redis 服务,需自行准备。
  • README 节选中未包含训练与对话的具体运行命令,请以仓库 README 的 Running 章节为准。

核心亮点

  • 代码简洁,核心模型仅几百行,易于阅读和二次开发
  • 支持中英文语料,提供数据预处理和训练脚本,开箱即用
  • 基于经典论文实现,适合作为 Seq2Seq 对话模型的教学范例

不足之处

  • 模型较老,未采用注意力机制,回复质量有限
  • 训练依赖大量数据,小数据集效果不佳
  • 文档/社区待观察

适用场景

  • 学习 Seq2Seq 对话模型原理
  • 快速搭建原型聊天机器人
  • 学术研究中的基线模型

替代项目

ChatterBot、DeepPavlov、Mozilla DeepSpeech

项目介绍

DeepQA 是对话助手领域的开源项目,由 Conchylicultor 开发,2016 年首次发布。

在全站 13,109 个收录项目中,它的 GitHub 星标数(2,909)位列前 30%,在对话助手分类的 907 个项目里位列前 9%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-08。基于TensorFlow的对话模型实现,可自行部署,完全免费。

它主要面向的使用场景是:学习Seq2Seq对话模型原理。同类可对比的替代方案包括 ChatterBot、DeepPavlov、Mozilla DeepSpeech。

上一篇:builderbot

下一篇:cskefu

同类项目推荐

open-webui 开源

给本地模型配个漂亮聊天室,全家都能用

User-friendly AI Interface (Supports Ollama, OpenAI API, ...)

★ 152821 2026-08-09
prompts.chat 开源

海量好提示词,抄了就能让 AI 更听话

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the commun···

★ 170999 2026-08-09
elia 开源

终端里用键盘快速聊 AI,多模型切换不打断思路

A snappy, keyboard-centric terminal user interface for interacting with large langua···

★ 2479 2026-08-09
NextChat 开源

一个界面聊遍所有主流AI模型,支持全平台部署,轻快又私密。

✨ Zero-config AI chat assistant. No API key needed — sign up and instantly chat wi···

★ 88802 2026-08-09