综合介绍
WikiChat是由斯坦福大学开发的一款实验性聊天机器人,旨在通过从维基百科检索数据来提高大语言模型的事实性。大语言模型(如ChatGPT和GPT-4)在处理最新信息或不太流行的话题时,往往会出现错误。WikiChat通过使用维基百科和一个七阶段的管道,确保其响应的准确性。该项目支持多种语言,并且能够从结构化数据(如表格、信息框和列表)中检索信息。WikiChat还提供了高质量的维基百科预处理脚本,并使用最先进的多语言检索模型BGE-M3和Qdrant进行可扩展的向量搜索。
功能列表
- 多语言支持:默认支持从 10 种不同语言的 Wikipedia 中检索信息。
- 改进的信息检索:支持从结构化数据(如表格、信息框和列表)中检索信息。
- 高质量的 Wikipedia 预处理脚本:使用最先进的多语言检索模型 BGE-M3。
- 免费多语言 Wikipedia 搜索 API:提供高质量、免费的(但有速率限制)搜索 API。
- 扩展的 LLM 兼容性:通过统一接口支持超过 100 种 LLM。
- 优化的管道:提供更快、更具成本效益的管道选项。
- LangChain 兼容性:完全兼容 LangChain。
- 多用户访问部署:提供代码以部署简单的前端和后端,并连接到 Azure Cosmos DB 数据库以存储对话。
使用帮助
安装流程
- 安装依赖项:
git clone https://github.com/stanford-oval/WikiChat.git cd WikiChat conda env create --file conda_env.yaml conda activate wikichat python -m spacy download en_core_web_sm
- 安装 Docker:按照 Docker 官方文档 进行安装。
- 配置 LLM:
- 填写
llm_config.yaml
文件中的相关字段。 - 创建一个名为
API_KEYS
的文件,并设置所需的 API 密钥。
- 填写
- 配置信息检索:
- 使用默认的 Wikipedia 搜索 API。
- 或者下载并托管 Wikipedia 索引。
- 或者构建自己的索引。
- 运行 WikiChat:
inv demo --retriever-endpoint "http://0.0.0.0:<port number>/search"
功能操作流程
- 多语言支持:WikiChat 默认从 10 种不同语言的 Wikipedia 中检索信息,包括英语、中文、西班牙语、葡萄牙语、俄语、德语、法语、意大利语、日语和波斯语。
- 信息检索:支持从结构化数据(如表格、信息框和列表)中检索信息,使用最先进的多语言检索模型 BGE-M3。
- 免费搜索 API:提供高质量、免费的多语言 Wikipedia 搜索 API,支持超过 180M 向量嵌入。
- 扩展 LLM 兼容性:通过统一接口支持超过 100 种 LLM,包括 OpenAI、Azure、Anthropic、Mistral、HuggingFace、Together.ai 和 Groq 的模型。
- 优化管道:提供更快、更具成本效益的管道选项,通过合并 WikiChat 的“生成”和“提取声明”阶段来优化性能。
- LangChain 兼容性:完全兼容 LangChain,支持多种 LLM 的无缝集成。
- 多用户访问部署:提供代码以部署简单的前端和后端,并连接到 Azure Cosmos DB 数据库以存储对话。