项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1626
使用教程
环境要求
- 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克隆仓库
把 WikiChat 源码下载到本地并进入项目目录,后续所有命令都在该目录内执行。
git clone https://github.com/stanford-oval/WikiChat.git cd WikiChat -
2创建并激活 Pixi 环境
先按 pixi 官网说明安装 Pixi,然后在仓库根目录创建并进入项目环境,之后所有命令都保持该环境激活。
pixi shell -
3下载 spaCy 模型
spaCy 仅用于用户模拟功能,按 README 要求安装英文小模型。
python -m spacy download en_core_web_sm -
4安装 Docker
WikiChat 依赖 Docker 运行 Redis Stack 和向量检索服务。Ubuntu 可尝试用内置命令安装,其他系统请按 Docker 官网说明安装。
inv install-docker -
5配置 LLM 与 API 密钥
在 API_KEYS 中填入所选 LLM/服务的密钥,并在 llm_config 中配置要使用的模型,供后续 --engine 参数引用。
-
6终端运行 WikiChat
用 invoke 启动终端对话,--engine 可换成 llm_config 中配置的任意模型名,如 mistral-large、claude-sonnet-35、local。
inv demo --engine gpt-4o -
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···
ask.py
开源
一条命令查完资料,答案自动总结好
A simple Python program to implement the search-extract-summarize flow.
AnyCrawl
开源
一键爬取网页和搜索引擎,直接输出 LLM 可用的结构化数据
AnyCrawl : A Node.js/TypeScript crawler that turns websites into LLM-ready data and ···
UniversalRAG
开源
一套 RAG 搞定文本、表格、图像,多粒度检索更精准
[ACL 2026 Oral] UniversalRAG: Retrieval-Augmented Generation over Corpora of Diverse···
Awesome-LLM4Cybersecurity
开源
一张清单看懂 LLM 如何用于攻防安全
An overview of LLMs for cybersecurity.
asreview
开源
让 AI 帮你优先读最该读的文献,综述筛选省时数倍
Active learning for systematic reviews
graphiti
开源
让AI智能体实时构建可追溯的知识图谱,告别静态RAG
Build Real-Time Knowledge Graphs for AI Agents
ai-second-brain
开源
把散落的 AI 对话整理成可检索的个人知识库
Build a living, searchable AI second brain from your ChatGPT, Claude, and research h···
searxNcrawl
开源
给 AI 装搜索和整站抓取,免 Key 自托管
Open-source MCP server that gives AI agents web search (SearXNG) and clean Markdown ···
