WikiChat

让聊天机器人不再胡说八道,回答自带来源引用

开源 🏷️定价信息待确认 ✅ 目前可打开 对话助手 🍴 复刻 146 🐛 待处理 11 👀 关注 17
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 1626
维护状态 低维护
是否开源 开源
定价模式 🏷️定价信息待确认

项目预览

WikiChat 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类对话助手
开发团队stanford-oval
定价模式🏷️定价信息待确认
价格说明定价信息待确认
访问状态✅ 目前可打开
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型chatbot,emnlp2023,factuality,llm,natural-language-processing,nlp,rag
GitHub 星标★ 1626
上线时间2023-10-19 00:00:00
代码更新2026-01-31
仓库体积28.1 MB
本站数据更新2026-11-09
维护状态低维护
收录时间2026-08-09
浏览次数2

项目介绍

WikiChat 是一个基于检索增强生成(RAG)的对话助手,旨在解决大语言模型在对话中产生的幻觉问题。它通过从维基百科等语料库中实时检索相关信息,并结合多步骤的检索、过滤和生成流程,确保回答的准确性和事实性。核心能力包括:对用户查询进行意图解析、从语料库中检索最相关的段落、对检索内容进行事实核查、最后生成带有引用来源的回答。WikiChat 在 EMNLP 2023 上发表,提供了完整的 Python 实现,支持自定义语料库,可轻松集成到现有应用中。它特别适合需要高事实准确性的场景,如知识问答、研究辅助和客服系统。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1626

使用教程

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

环境要求

  • Python 3.11(由 pixi.toml 中的 pixi 环境提供,含 pip、gcc、g++、make 及所需 Python 包)
  • Pixi 包管理工具(https://pixi.sh/latest/#installation 安装)
  • Docker(用于运行 Redis Stack 及检索用向量数据库,如 Text Embedding Inference 和 Qdrant)
  • 至少一个 LLM 提供方的 API 密钥(支持 OpenAI、Azure、Anthropic、Mistral、HuggingFace、Together.ai、G

安装与启动步骤

  1. 1克隆仓库

    把 WikiChat 源码下载到本地并进入项目目录,后续所有命令都在该目录内执行。

    git clone https://github.com/stanford-oval/WikiChat.git
    cd WikiChat
  2. 2创建并激活 Pixi 环境

    先按 pixi 官网说明安装 Pixi,然后在仓库根目录创建并进入项目环境,之后所有命令都保持该环境激活。

    pixi shell
  3. 3下载 spaCy 模型

    spaCy 仅用于用户模拟功能,按 README 要求安装英文小模型。

    python -m spacy download en_core_web_sm
  4. 4安装 Docker

    WikiChat 依赖 Docker 运行 Redis Stack 和向量检索服务。Ubuntu 可尝试用内置命令安装,其他系统请按 Docker 官网说明安装。

    inv install-docker
  5. 5配置 LLM 与 API 密钥

    在 API_KEYS 中填入所选 LLM/服务的密钥,并在 llm_config 中配置要使用的模型,供后续 --engine 参数引用。

  6. 6终端运行 WikiChat

    用 invoke 启动终端对话,--engine 可换成 llm_config 中配置的任意模型名,如 mistral-large、claude-sonnet-35、local。

    inv demo --engine gpt-4o
  7. 7可选:多用户 Web 部署

    启动 Chainlit 前后端,会话存入 Cosmos DB;前端默认在 5001 端口访问。

    inv chainlit --backend-port 5001

关键配置

配置项必填说明示例
API_KEYS是集中存放各服务密钥,如 LLM、嵌入模型与数据库的密钥EMBEDDING_API_KEY=sk-xxxxxxxx
llm_config是配置可用的 LLM 引擎名称,供 inv demo --engine 调用gpt-4o
COSMOS_CONNECTION_STRING否多用户部署时用于存储对话的 Cosmos DB 连接串,写在 API_KEYS 中COSMOS_CONNECTION_STRING=your-cosmos-connection-string

如何确认成功

终端能进入 WikiChat 对话并返回带引用来源的回答;若用 Chainlit,浏览器可打开 5001 端口的聊天界面。

常见问题

Q:运行后提示 Error: Redis lookup failed 怎么办?

A:说明 Redis 未正确启动。查看 Redis Docker 容器日志排查,或按 Redis 官方文档手动安装 Redis。

Q:有哪些可用命令和参数?

A:执行 invoke --list(简写 inv -l)列出全部命令,用 inv [命令名] --help 或 inv demo --help 查看具体参数。

Q:怎么换成别的模型?

A:把 --engine 的值改成 llm_config 中已配置的引擎名,例如 mistral-large、claude-sonnet-35 或 local。

Q:想用自己的文档做检索源怎么办?

A:可自建索引:把文档预处理成 JSONL 后用 inv index-collection --collection-path <JSONL 路径> --collection-name <集合名> 建立索引。

Q:能跑蒸馏小模型降低延迟和成本吗?

A:WikiChat>=2.0 与已发布的微调 LLaMA-2 检查点不兼容,需改用 v1.0 才能运行蒸馏模型。

注意事项

  • 默认检索源是免费但限速的维基百科搜索 API,支持 25 种语言,高频调用可能受限。
  • 仓库默认通过 Docker 使用 Redis Stack,请确认 Docker 服务已启动。
  • pixi shell 激活的环境需在所有后续命令中保持有效。
  • 多用户部署的 Chainlit 前端与 Cosmos DB 逻辑写在 backend_server.py 和 database.py,换成其他数据库或前端需自行修改。

核心亮点

  • 通过检索+过滤机制,显著降低大模型幻觉,回答更可靠
  • 回答附带引用来源,用户可追溯信息出处,增强可信度
  • 基于 EMNLP 论文,有学术背书,且代码开源可定制

不足之处

  • 依赖外部语料库,检索延迟可能影响实时对话体验
  • 文档/社区待观察

适用场景

  • 企业知识库问答,确保回答基于内部文档
  • 学术研究辅助,快速获取带引用的准确信息
  • 新闻或事实核查类聊天机器人,避免传播错误信息

替代项目

RAGFlow、Haystack、LlamaIndex

上一篇:autoflow

下一篇:IncarnaMind

同类项目推荐

graphrag-ui 开源

本地化GraphRAG图形界面,拖拽式构建知识图谱问答

The latest graphrag interface is used, using the local ollama to provide the LLM int···

★ 155 2026-08-09
ask.py 开源

一条命令查完资料,答案自动总结好

A simple Python program to implement the search-extract-summarize flow.

★ 283 2026-08-09
AnyCrawl 开源

一键爬取网页和搜索引擎,直接输出 LLM 可用的结构化数据

AnyCrawl : A Node.js/TypeScript crawler that turns websites into LLM-ready data and ···

★ 3524 2026-08-09
UniversalRAG 开源

一套 RAG 搞定文本、表格、图像,多粒度检索更精准

[ACL 2026 Oral] UniversalRAG: Retrieval-Augmented Generation over Corpora of Diverse···

★ 178 2026-08-09
asreview 开源

让 AI 帮你优先读最该读的文献,综述筛选省时数倍

Active learning for systematic reviews

★ 1068 2026-09-16
graphiti 开源

让AI智能体实时构建可追溯的知识图谱,告别静态RAG

Build Real-Time Knowledge Graphs for AI Agents

★ 32664 2026-08-09
ai-second-brain 开源

把散落的 AI 对话整理成可检索的个人知识库

Build a living, searchable AI second brain from your ChatGPT, Claude, and research h···

★ 226 2026-11-07
searxNcrawl 开源

给 AI 装搜索和整站抓取,免 Key 自托管

Open-source MCP server that gives AI agents web search (SearXNG) and clean Markdown ···

★ 185 2026-10-21