Verba
Weaviate 团队开源的全栈 RAG 应用,一条命令快速构建私有知识库问答
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Weaviate 团队开源的全栈 RAG 应用,一条命令快速构建私有知识库问答
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是否有过这样的经历:面对公司积压多年的文档库,想快速找到某个问题的答案,却只能在海量文件中反复搜索?Verba(拉丁语"词语"之意)正是为解决这一痛点而生。它是 Weaviate 团队开源的 RAG(检索增强生成)聊天机器人,让你在几步配置后,把本地文档变成可对话的智能知识库。
图1:Verba 运行界面
Weaviate 是一个专注于 AI 向量检索的开源向量数据库。Verba 由 Weaviate 团队于 2023 年推出,是其官方 RAG 演示应用,目标是展示如何在真实场景中构建完整的 RAG 系统。不同于停留在概念阶段的 Demo,Verba 功能完整,支持 PDF、Word、Excel、Markdown、PowerPoint 等多种格式,并在 GitHub 上持续维护(版本已至 2.x)。
RAG 可以类比为"带图书馆的 AI 助手":先让 AI"查阅参考资料"(检索),再基于资料回答问题(生成)。这解决了大语言模型的两大局限:知识截止于训练日期,以及无法访问私有数据。Verba 将这个流程可视化,让用户直观看到从文档上传、切片、向量化、存储、检索到最终回答的每个环节。
图2:Verba 中的 RAG 完整工作流程
内置解析器支持:PDF、Word(.docx)、Excel(.xlsx)、CSV、PowerPoint(.pptx)、Markdown、TXT。文档上传后自动完成提取、切片、向量化三个步骤。
图3:Verba 文档导入与管理界面
通过 Ollama 可完全离线运行,数据完全私有,不依赖任何外部 API。
图4:Verba 支持的嵌入模型选择界面
后端代码组织在 goldenverba/ 目录,采用模块化插件架构:
goldenverba/
├── components/ # 核心组件
│ ├── chunking/ # 文档切片策略
│ ├── embedding/ # 嵌入模型抽象
│ ├── generation/ # LLM 生成抽象
│ ├── reader/ # 文档格式解析
│ └── retriever/ # 检索策略
└── server/ # FastAPI 服务层
├── api.py # REST API
├── cli.py # 命令行入口
└── frontend/ # Next.js 构建产物
关键依赖:FastAPI(后端框架)、Weaviate Client(向量数据库)、tiktoken(Token 计数)、pypdf/python-docx(文档解析)、Next.js + TailwindCSS + DaisyUI(前端)。
Docker Compose 一键启动,同时运行 Verba 应用本体和 Weaviate 向量数据库两个容器:
git clone https://github.com/weaviate/Verba.git
cd Verba
cp .env.example .env
# 编辑 .env 填入 OPENAI_API_KEY 等
docker-compose up
访问 http://localhost:8000 即可使用。部署难度极低,无需 GPU,普通开发机即可运行。
Verba 代表了 RAG 系统工程化的方向:提供完整 UI 和运维体验,而非停留在 API 调用层。Ollama 集成让完全离线部署成为可能,在金融、医疗等数据敏感行业有重要价值。