界面。通过几个简单步骤,您可以轻松探索数据集并提取洞察,无论是通过本地的HuggingFace和Ollama,还是通过OpenAI、Cohere和Google等LLM提供商。
pip install goldenverba
!https://github.com/weaviate/Verba/blob/1.0.0/img/verba.gif
Verba是一个完全可定制的个人助手,用于查询和交互您的数据,可在本地运行或通过云部署。解决文档相关问题、交叉引用多个数据点或从现有知识库中获取洞察。Verba结合了最先进的RAG技术与Weaviate的上下文感知数据库。您可以根据个人用例选择不同的RAG框架、数据类型、分块与检索技术以及LLM提供商。
| 🤖 模型支持 | 已实现 | 描述 |
|---|---|---|
| Ollama(如Llama3) | ✅ | 由Ollama支持的本地嵌入和生成模型 |
| HuggingFace(如MiniLMEmbedder) | ✅ | 由HuggingFace支持的本地嵌入模型 |
| Cohere(如Command R+) | ✅ | Cohere的嵌入和生成模型 |
| Google(如Gemini) | ✅ | Google的嵌入和生成模型 |
| OpenAI(如GPT4) | ✅ | OpenAI的嵌入和生成模型 |
| 📁 数据支持 | 已实现 | 描述 |
|---|---|---|
| PDF导入 | ✅ | 将PDF导入Verba |
| CSV/XLSX导入 | ✅ | 将表格数据导入Verba |
| 多模态数据 | 计划中⏱️ | 将多模态数据导入Verba |
| UnstructuredIO | ✅ | 通过Unstructured导入数据 |
| ✨ RAG功能 | 已实现 | 描述 |
|---|---|---|
| 混合搜索 | ✅ | 语义搜索与关键词搜索结合 |
| 语义缓存 | ✅ | 基于语义含义保存和检索结果 |
| 自动补全建议 | ✅ | Verba提供自动补全功能 |
| 过滤功能 | 计划中⏱️ | 执行RAG前应用过滤器(如文档、文档类型等) |
| 高级查询 | 计划中⏱️ | 基于LLM评估的任务委派 |
| 结果重排序 | 计划中⏱️ | 基于上下文对结果重新排序以提高结果质量 |
| RAG评估 | 计划中⏱️ | RAG管道评估界面 |
| 可定制元数据 | 计划中⏱️ | 元数据自由控制 |
| 🆒 额外特性 | 已实现 | 描述 |
|---|---|---|
| Docker支持 | ✅ | Verba可通过Docker部署 |
| 可定制前端 | ✅ | Verba前端可通过前端代码完全定制 |
| 🤝 RAG库支持 | 已实现 | 描述 |
|---|---|---|
| Haystack | 计划中⏱️ | 实现Haystack RAG管道 |
| LlamaIndex | 计划中⏱️ | 实现LlamaIndex RAG管道 |
| LangChain | 计划中⏱️ | 实现LangChain RAG管道 |
缺少某些功能?欢迎创建新issue或讨论您的想法!
!https://github.com/weaviate/Verba/blob/1.0.0/img/verba_screen.png
Verba有三种部署选项:
pip install goldenverba
git clone https://github.com/weaviate/Verba pip install -e .
前置条件:如果不使用Docker,确保系统已安装Python >=3.10.0。
如果不熟悉Python和虚拟环境,请阅读Python教程指南。
启动Verba前,您需要根据所选技术配置对各种组件的访问权限,如OpenAI、Cohere和HuggingFace,通过.env文件实现。在要启动Verba的目录中创建此.env文件。您可以在goldenverba目录中找到.env.example文件。
确保只设置您打算使用的环境变量,缺失或不正确的环境变量可能导致错误。
以下是您可能需要的API密钥和变量的综合列表:
| 环境变量 | 值 | 描述 |
|---|---|---|
| WEAVIATE_URL_VERBA | 托管Weaviate集群的URL | 连接到您的WCS集群 |
| WEAVIATE_API_KEY_VERBA | 托管Weaviate集群的API凭证 | 连接到您的WCS集群 |
| OPENAI_API_KEY | 您的API密钥 | 访问OpenAI模型 |
| COHERE_API_KEY | 您的API密钥 | 访问Cohere模型 |
| OLLAMA_URL | Ollama实例的URL(如http://localhost:***) | 访问Ollama模型 |
| OLLAMA_MODEL | 模型名称(如llama) | 访问特定的Ollama模型 |
| UNSTRUCTURED_API_KEY | 您的API密钥 | 访问Unstructured数据导入 |
| UNSTRUCTURED_API_URL | Unstructured实例的URL | 访问Unstructured数据导入 |
| GITHUB_TOKEN | 您的GitHub令牌 | 通过GitHub访问数据导入 |
| GOOGLE_APPLICATION_CREDENTIALS | Google凭证 | 访问Google模型 |
| GOOGLE_CLOUD_PROJECT | Google Cloud项目 | 访问Google模型 |
| GOOGLE_API_KEY | 您的API密钥 | 访问Google模型 |
| VERBA_PRODUCTION | True | 以生产模式运行Verba |
Verba提供连接Weaviate实例的灵活性。默认情况下,如果未检测到WEAVIATE_URL_VERBA和WEAVIATE_API_KEY_VERBA环境变量,Verba会选择Weaviate Embedded。这种本地部署是启动Weaviate数据库进行原型设计和测试的最简单方式。
不过,您也有其他选项:
🌩️ Weaviate云服务(WCS)
如果您偏好基于云的解决方案,Weaviate云服务(WCS)提供可扩展的托管环境。通过Weaviate集群设置指南了解如何设置云集群并获取API密钥。
🐳 Docker部署 另一个强大的本地替代方案是使用Docker部署Weaviate。有关详细信息,请参阅Weaviate Docker指南。
Verba支持Ollama模型。在您的设备上下载并安装Ollama([***]
已测试llama3、llama3:70b和mistral。更大的模型通常性能更好,但需要更多计算能力。
确保Ollama服务器在后台运行,并且不要使用不同的ollama模型导入文档,因为它们的向量维度可能不同,这会导致错误
如果要使用Google功能,请确保安装Google Verba包。
bashpip install goldenverba[google] 或 pip install `.[google]`
如果使用Docker,请相应修改Dockerfile
对于Google嵌入,Verba使用Google Cloud中的Vertex AI Studio。您可以在此处找到获取密钥的说明。如果安装了gcloud CLI,可以运行以下命令:gcloud auth print-access-token。目前,此访问令牌必须每小时更新一次。
您还需要将GOOGLE_CLOUD_PROJECT环境变量设置为项目名称。
要使用Google Gemini,您需要服务账户密钥(JSON文件)。要获取此密钥,请在Google Cloud控制台中进入"项目设置",然后进入"服务账户"。创建新服务账户,然后创建新密钥。下载此密钥并放在Verba的根目录中。将其命名为gemini_secrets.json,以自动排除在git之外。将环境变量GOOGLE_APPLICATION_CREDENTIALS设置为此文件的位置,例如gemini_secrets.json。
您还需要将GOOGLE_CLOUD_PROJECT环境变量设置为项目名称。
Verba支持通过Unstructured IO导入文档(如纯文本、.pdf、.csv等)。要使用它们,您需要UNSTRUCTURED_API_KEY和UNSTRUCTURED_API_URL环境变量。您可以从Unstructured获取。
UNSTRUCTURED_API_URL默认设置为
https://api.unstructured.io/general/v0/general
Verba支持OpenAI模型,如Ada、GPT3和GPT4。要使用它们,您需要指定OPENAI_API_KEY环境变量。您可以从OpenAI获取。
您还可以添加OPENAI_BASE_URL以使用代理,如LiteLLM(https://github.com/BerriAI/litellm%EF%BC%89
OPENAI_BASE_URL=您的-OPENAI_BASE_URL
要使用Azure OpenAI,您需要设置:
OPENAI_API_TYPE="azure"
OPENAI_API_KEY=<您的密钥> OPENAI_BASE_URL=http://XXX.openai.azure.com
AZURE_OPENAI_RESOURCE_NAME=<您的Azure资源名称>
AZURE_OPENAI_EMBEDDING_MODEL="text-embedding-ada-002" OPENAI_MODEL="gpt-4"
WAIT_TIME_BETWEEN_INGESTION_QUERIES_MS="100"
如果要使用HuggingFace功能,请确保安装正确的Verba包。
bashpip install goldenverba[huggingface] 或 pip install `.[huggingface]`
如果使用Docker,请相应修改Dockerfile
Python >=3.10.0
python3 -m virtualenv venv
pip install goldenverba
verba start
您可以通过标志指定--port和--host
访问localhost:8000
git clone https://github.com/weaviate/Verba.git
python3 -m virtualenv venv
pip install -e .
verba start
您可以通过标志指定--port和--host
访问localhost:8000
Docker是一组平台即服务产品,使用操作系统级虚拟化以容器形式交付软件。要开始使用Docker部署Verba,请按照以下步骤操作。如果需要有关Docker使用的更多详细说明,请查看Docker教程。
git clone https://github.com/weaviate/Verba.git
设置必要的环境变量
确保在.env文件中设置所需的环境变量。您可以在API密钥部分中了解如何设置它们。
调整docker-compose文件
您可以使用docker-compose.yml在verba服务下添加所需的环境变量,也可以调整Weaviate Docker设置以启用身份验证或更改数据库实例的其他设置。您可以在docker-compose文档中了解有关Weaviate配置的更多信息。
请确保只添加您真正需要的环境变量。如果Weaviate集群未启用身份验证,请确保不包含
WEAVIATE_API_KEY_VERBA环境变量
bashdocker compose up -d
bashdocker compose --env-file .env up -d
此命令将下载必要的Docker镜像,创建容器并启动Verba。 请记住,必须在系统上安装Docker才能使用此方法。有关安装说明和Docker的更多详细信息,请访问官方Docker文档。
您可以在localhost:8080访问本地Weaviate实例
您可以在localhost:8000访问Verba前端
如果希望Docker实例安装特定版本的Verba,可以编辑Dockerfile并更改安装行:
RUN pip install -e '.'
访问Verba后,您可以使用"概览页面"验证所有环境和库是否已正确设置和安装。您可以使用管理控制台查看Weaviate集合中存储的所有数据,并重置Verba的某些部分(如文档、缓存、配置等)。

invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务