OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  Verba — 专注个人知识库问答的极简 RAG 应用

Verba — 专注个人知识库问答的极简 RAG 应用

 
  evolve ·  2026-02-21 17:17:12 · 6 次点击  · 0 条评论  

Verba

The Golden RAGtriever - 社区版 ✨

Weaviate
PyPi downloads Docker support Demo

欢迎使用 Verba:The Golden RAGtriever,这是一个社区驱动的开源应用程序,旨在提供一个开箱即用、端到端、简化且用户友好的检索增强生成(RAG)界面。只需几个简单的步骤,即可轻松探索您的数据集并提取洞察,无论是通过本地的 Ollama 和 Huggingface,还是通过 Anthrophic、Cohere 和 OpenAI 等 LLM 提供商。这个项目是为社区而建,也由社区共建,请注意,它的维护可能不如其他 Weaviate 生产应用程序那样及时。欢迎随时为项目做出贡献,帮助我们让 Verba 变得更好!<3

pip install goldenverba

Verba 演示

什么是 Verba?

Verba 是一个完全可定制的个人助手,利用检索增强生成(RAG)来查询和与您的数据交互,支持本地或云端部署。它可以解答关于您的文档的问题,交叉引用多个数据点,或从现有知识库中获取洞察。Verba 将最先进的 RAG 技术与 Weaviate 的上下文感知数据库相结合。您可以根据个人用例,在不同的 RAG 框架、数据类型、分块与检索技术以及 LLM 提供商之间进行选择。

开源精神

Weaviate 很自豪能为社区提供这个开源项目。虽然我们努力尽快解决问题,但请理解,它的维护可能不如生产软件那样严格。我们欢迎并鼓励社区贡献,以帮助其平稳运行。非常感谢您帮助我们快速修复开放问题。

在此观看我们最新的 Verba 视频:

视频链接

功能特性列表

🤖 模型支持 已实现 描述
Ollama (例如 Llama3) 由 Ollama 驱动的本地嵌入和生成模型
HuggingFace (例如 MiniLMEmbedder) 由 HuggingFace 驱动的本地嵌入模型
Cohere (例如 Command R+) Cohere 的嵌入和生成模型
Anthrophic (例如 Claude Sonnet) Anthrophic 的嵌入和生成模型
OpenAI (例如 GPT4) OpenAI 的嵌入和生成模型
Groq (例如 Llama3) Groq 的生成模型 (LPU 推理)
Novita AI (例如 Llama3.3) Novita AI 的生成模型
Upstage (例如 Solar) Upstage 的嵌入和生成模型
🤖 嵌入支持 已实现 描述
Weaviate 由 Weaviate 驱动的嵌入模型
Ollama 由 Ollama 驱动的本地嵌入模型
SentenceTransformers 由 HuggingFace 驱动的嵌入模型
Cohere Cohere 的嵌入模型
VoyageAI VoyageAI 的嵌入模型
OpenAI OpenAI 的嵌入模型
Upstage Upstage 的嵌入模型
📁 数据支持 已实现 描述
UnstructuredIO 通过 Unstructured 导入数据
Firecrawl 通过 Firecrawl 抓取和爬取 URL
UpstageDocumentParse 通过 Upstage Document AI 解析文档
PDF 导入 将 PDF 导入 Verba
GitHub & GitLab 从 Github 和 GitLab 导入文件
CSV/XLSX 导入 将表格数据导入 Verba
.DOCX 导入 .docx 文件
多模态 (使用 AssemblyAI) 通过 AssemblyAI 导入和转录音频
✨ RAG 特性 实现状态 描述
混合搜索 语义搜索与关键词搜索相结合
自动完成建议 Verba 提供自动完成建议
过滤 在执行 RAG 之前应用过滤器(例如文档、文档类型等)
可自定义元数据 自由控制元数据
异步导入 异步导入数据以加速流程
高级查询 计划中 ⏱️ 基于 LLM 评估的任务委派
重排序 计划中 ⏱️ 根据上下文对结果重新排序以提高效果
RAG 评估 计划中 ⏱️ 用于评估 RAG 管道的界面
智能体 RAG 不在范围 ❌ 智能体 RAG 管道
图 RAG 不在范围 ❌ 基于图的 RAG 管道
🗡️ 分块技术 已实现 描述
令牌 通过 spaCy 按令牌分块
句子 通过 spaCy 按句子分块
语义 按语义句子相似性分块和分组
递归 基于规则递归分块数据
HTML 分块 HTML 文件
Markdown 分块 Markdown 文件
代码 分块代码文件
JSON 分块 JSON 文件
🆒 额外亮点 实现状态 描述
Docker 支持 Verba 可通过 Docker 部署
可自定义前端 Verba 的前端可通过前端完全自定义
向量查看器 在 3D 中可视化您的数据
多用户协作 不在范围 ❌ Verba 中的多用户协作
🤝 RAG 库 已实现 描述
LangChain 实现 LangChain RAG 管道
Haystack 计划中 ⏱️ 实现 Haystack RAG 管道
LlamaIndex 计划中 ⏱️ 实现 LlamaIndex RAG 管道

缺少了什么功能?欢迎创建新的 Issue 或讨论来提出您的想法!

Verba 展示


开始使用 Verba

您有三种部署 Verba 的选项:

  • 通过 pip 安装
pip install goldenverba
  • 从源码构建
git clone https://github.com/weaviate/Verba

pip install -e .
  • 使用 Docker 部署

前提条件:如果不使用 Docker,请确保您的系统已安装 Python >=3.10.0,<3.13.0

git clone https://github.com/weaviate/Verba

docker compose --env-file <your-env-file> up -d --build

如果您不熟悉 Python 和虚拟环境,请阅读 Python 教程指南

API 密钥和环境变量

您可以在 Verba 前端设置所有 API 密钥,但为了简化操作,我们也可以准备一个 .env 文件,Verba 会自动在其中查找密钥。在您要启动 Verba 的同一目录中创建一个 .env 文件。您可以在 goldenverba 目录中找到 .env.example 文件。

确保只设置您打算使用的环境变量,缺失或不正确的环境变量值可能导致错误。

以下是您可能需要的 API 密钥和变量的完整列表:

环境变量 描述
WEAVIATE_URL_VERBA 您托管的 Weaviate 集群的 URL 连接到您的 WCS 集群
WEAVIATE_API_KEY_VERBA 您托管的 Weaviate 集群的 API 凭证 连接到您的 WCS 集群
ANTHROPIC_API_KEY 您的 Anthropic API 密钥 获取 Anthropic 模型的访问权限
OPENAI_API_KEY 您的 OpenAI 密钥 获取 OpenAI 模型的访问权限
OPENAI_EMBED_API_KEY 您的 OpenAI 密钥 为嵌入使用不同的端点
OPENAI_BASE_URL OpenAI 实例的 URL 模型
OPENAI_EMBED_BASE_URL OpenAI 实例的 URL 为嵌入使用不同的端点
OPENAI_MODEL 选择 OpenAI 作为生成器时要使用的模型名称 默认值:端点返回的列表中的第一个模型
OPENAI_EMBED_MODEL 选择 OpenAI 作为嵌入器时要使用的 OpenAI 嵌入模型名称 默认值:text-embedding-3-small
OPENAI_CUSTOM_EMBED true | false 允许 Verba 识别自定义嵌入模型名称(不仅是 OpenAI 的)
COHERE_API_KEY 您的 API 密钥 获取 Cohere 模型的访问权限
GROQ_API_KEY 您的 Groq API 密钥 获取 Groq 模型的访问权限
NOVITA_API_KEY 您的 Novita API 密钥 获取 Novita AI 模型的访问权限
OLLAMA_URL 您的 Ollama 实例的 URL (例如 http://localhost:11434 ) 获取 Ollama 模型的访问权限
UNSTRUCTURED_API_KEY 您的 API 密钥 获取 Unstructured 数据导入的访问权限
UNSTRUCTURED_API_URL Unstructured 实例的 URL 获取 Unstructured 数据导入的访问权限
ASSEMBLYAI_API_KEY 您的 API 密钥 获取 AssemblyAI 数据导入的访问权限
GITHUB_TOKEN 您的 GitHub 令牌 获取通过 GitHub 导入数据的访问权限
GITLAB_TOKEN 您的 GitLab 令牌 获取通过 GitLab 导入数据的访问权限
FIRECRAWL_API_KEY 您的 Firecrawl API 密钥 获取通过 Firecrawl 导入数据的访问权限
VOYAGE_API_KEY 您的 VoyageAI API 密钥 获取通过 VoyageAI 使用嵌入模型的访问权限
EMBEDDING_SERVICE_URL 您的嵌入服务实例的 URL 获取通过 Weaviate 嵌入服务 使用嵌入模型的访问权限
EMBEDDING_SERVICE_KEY 您的嵌入服务密钥 获取通过 Weaviate 嵌入服务 使用嵌入模型的访问权限
UPSTAGE_API_KEY 您的 Upstage API 密钥 获取 Upstage 模型的访问权限
UPSTAGE_BASE_URL Upstage 实例的 URL 模型
DEFAULT_DEPLOYMENT Local, Weaviate, Custom, Docker 设置默认部署模式
SYSYEM_MESSAGE_PROMPT 提示文本值 默认值以:"You are Verba, a chatbot for..." 开头
OLLAMA_MODEL 您的 Ollama 模型 设置要使用的默认 Ollama 模型
OLLAMA_EMBED_MODEL 您的 Ollama 嵌入模型 设置要使用的默认 Ollama 嵌入模型

Verba 中的 API 密钥

Weaviate

Verba 根据您的需求提供了连接 Weaviate 实例的灵活性。您有三种选择:

  1. 本地部署:使用 Weaviate Embedded,它在您的设备上本地运行(Windows 除外,请选择 Docker/云部署)
  2. Docker 部署:当您运行 Verba 的 Dockerfile 时选择此选项。
  3. 云部署:使用托管在 WCD 上的现有 Weaviate 实例来运行 Verba

💻 Weaviate Embedded
Embedded Weaviate 是一种部署模式,它从您的应用程序代码中运行 Weaviate 实例,而不是从独立的 Weaviate 服务器安装中运行。当您在 Local Deployment 模式下运行 Verba 时,它将在后台设置和管理 Embedded Weaviate。请注意,Weaviate Embedded 在 Windows 上不受支持,并且处于实验模式,可能会带来意外错误。我们建议使用 Docker 部署或云部署。您可以在这里阅读更多关于 Weaviate Embedded 的信息。

🌩️ Weaviate 云部署 (WCD)

如果您更喜欢基于云的解决方案,Weaviate Cloud (WCD) 提供了一个可扩展的托管环境。按照 Weaviate 集群设置指南 学习如何设置云集群并获取 API 密钥。

🐳 Docker 部署
另一种本地替代方案是使用 Docker 部署 Weaviate。更多详情,请遵循 如何使用 Docker 安装 Verba 部分。

Verba 中的部署

⚙️ 自定义 Weaviate 部署

如果您自己托管 Weaviate,可以在 Verba 中使用 Custom 部署选项。这将允许您指定 Weaviate 实例的 URL、端口和 API 密钥。

Ollama

Verba 支持 Ollama 模型。在您的设备上下载并安装 Ollama (https://ollama.com/download)。确保使用

6 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私政策 ·  服务条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 55 ms
Developed with Cursor