Verba:终极 RAG 引擎 - 语义搜索、嵌入、矢量搜索等!

部署运行你感兴趣的模型镜像

cover_image
原文链接:(更好排版、视频播放、社群交流、最新AI开源项目、AI工具分享都在这个公众号!)

Verba:终极 RAG 引擎 - 语义搜索、嵌入、矢量搜索等!

🌟在本文中,我们将深入探讨 Verba,这是一款革命性的开源 rag 引擎。

使用 Verba,通过简单的几步操作,您可以轻松探索您的数据集并提取见解,无论是在本地使用 HuggingFace 和 Ollama,还是通过
OpenAI、Cohere 和 Google
等LLM提供商进行操作。

pip install goldenverba

什么是 Verba?

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 管道

缺少什么内容?欢迎创建新问题或讨论您的想法!

Verba入门指南

您有三种部署 Verba 的选项:

  • • 通过 pip 安装

    pip install goldenverba

  • • 从源码构建

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

    pip install -e .

  • • 使用 Docker 进行部署

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

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

API密钥

在启动 Verba 之前,您需要根据所选技术配置对各组件的访问,例如通过 .env 文件配置 OpenAI、Cohere 和 HuggingFace
的访问权限。在您要启动 Verba 的目录中创建此 .env 文件。您可以在 goldenverba 目录中找到 .env.example 文件。

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

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

环境变量描述
WEAVIATE_URL_VERBA您的 Weaviate 集群的 URL连接到您的 WCS 集群
WEAVIATE_API_KEY_VERBA您的 Weaviate 集群的 API 凭证连接到您的 WCS 集群
OPENAI_API_KEY您的 API 密钥获取对 OpenAI 模型的访问权限
OPENAI_BASE_URLOpenAI 实例的 URL模型
COHERE_API_KEY您的 API 密钥获取对 Cohere 模型的访问权限
OLLAMA_URL您的 Ollama 实例的 URL(例如:http://localhost:11434 )获取对 Ollama
模型的访问权限
OLLAMA_MODEL模型名称(例如:llama)获取对特定 Ollama 模型的访问权限
UNSTRUCTURED_API_KEY您的 API 密钥获取对 Unstructured 数据导入的访问权限
UNSTRUCTURED_API_URLUnstructured 实例的 URL获取对 [Unstructured](https

😕/docs.unstructured.io/welcome) 数据导入的访问权限 | | HUGGINGFACEHUB_API_TOKEN | 您的
API 密钥 | 获取对 HuggingFace 模型的访问权限 | | HUGGINGFACEHUB_BASE_URL | HuggingFace
实例的 URL(例如:https://api-inference.huggingface.co/)| 获取对特定 HuggingFace 模型的访问权限
| | GOOGLE_APPLICATION_CREDENTIALS | JSON 文件路径或直接的 JSON 字符串(例如:JSON 字符串) | 获取对
Google 模型的访问权限 |


如何通过pip部署

在安装了 Python >=3.10.0 的系统上执行以下步骤:

  1. 1. 安装 goldenverba 包:
pip install goldenverba
  1. 1. 在 Verba 项目目录中创建 .env 文件。您可以使用示例文件 .env.example 来设置环境变量。最少需要设置以下环境变量:
OPENAI_API_KEY=您在 OpenAI 注册的 API 密钥
  1. 1. 启动 Verba:
verba

如何从源码构建

在安装了 Python >=3.10.0 的系统上执行以下步骤:

  1. 1. 克隆 Verba 仓库并导航到该目录:
git clone https://github.com/weaviate/Verba  
  
cd Verba
  1. 1. 安装 goldenverba 包:
pip install -e .
  1. 1. 在 Verba 项目目录中创建 .env 文件。您可以使用示例文件 .env.example 来设置环境变量。最少需要设置以下环境变量:
OPENAI_API_KEY=您在 OpenAI 注册的 API 密钥
  1. 1. 启动 Verba:
verba

如何通过Docker安装Verba

在安装了 Docker 的系统上执行以下步骤:

  1. 1. 在 Verba 项目目录中创建 .env 文件。您可以使用示例文件 .env.example 来设置环境变量。最少需要设置以下环境变量:
OPENAI_API_KEY=您在 OpenAI 注册的 API 密钥
  1. 1. 运行 Docker 容器:
docker run --rm -it --env-file .env goldenverba

您可以通过 docker-compose 文件来简化此过程。请参考 docker-compose 示例文件 。


💾 Verba演练

在成功安装 Verba 后,您可以通过以下步骤快速开始:

  1. 1. 访问 Verba 的 web 界面,默认为 http://localhost:8080。

  1. 2. 导入您的数据,例如上传一个 PDF 文件或 CSV 文件。

  1. 3. 开始查询您的数据,通过 Verba 的检索增强生成技术获取见解。

您可以参考 快速开始视频 了解更多。

🚩 已知问题

  • • 某些模型在特定数据集上表现不佳。

  • • 高并发请求可能导致响应时间较慢。

参考链接:
[1]https://github.com/weaviate/Verba

知音难求,自我修炼亦艰

抓住前沿技术的机遇,与我们一起成为创新的超级个体

(把握AIGC时代的个人力量)

** 点这里👇关注我,记得标星哦~ **

**
**

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见 ~

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

预览时标签不可点

微信扫一扫
关注该公众号

轻触阅读原文

AI进修生



收藏

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

<think>好的,用户想修改RAG界面上的API服务器地址,从http://localhost改为其他地址。我需要根据提供的引用和知识库来找出解决办法。 首先,用户提到了使用Verba、Ollama和FastAPI构建的RAG系统。引用[2]中的代码显示,配置可能通过一个config文件来设置,比如config["llm_url"]。所以可能需要修改配置文件中的相关参数,比如llm_url或者API的host和port。 另外,引用[3]中的FastGPT部署过程提到了通过修改docker-compose文件来配置服务。如果用户是通过Docker部署的,可能需要调整docker-compose.yml里的环境变量,比如设置OLLAMA_URL或者其他服务的host地址。例如,在Docker中可能需要将localhost替换为0.0.0.0或者特定的IP,同时注意容器间的网络通信,可能需要使用host.docker.internal这样的地址。 还有,引用[1]中提到Verba启动时可以指定端口和host,使用--port和--host参数。例如,verba start --host 0.0.0.0,这样服务可能会监听所有接口,而不仅仅是localhost。所以如果用户的RAG界面是Verba,可能需要修改启动命令或者配置文件中的host设置。 另外,如果API服务器是用FastAPI构建的,像引用[2]中的例子,可能需要修改FastAPI应用的启动配置,设置host参数为0.0.0.0或其他IP,这样外部可以访问。例如,在uvicorn.run中指定host="0.0.0.0"。 还要考虑前端配置,如果RAG界面有前端代码,可能需要修改调用API的URL,从localhost改为新的服务器地址。比如前端JavaScript中发请求的URL需要更新。 综合这些信息,可能的步骤包括检查配置文件的环境变量、调整Docker的compose文件、修改API服务器的启动参数,以及更新前端代码中的API端点。需要根据用户具体的部署方式来判断,比如是否使用Docker、是否通过环境变量配置等。同时,注意跨域问题,如果前端和API不在同一个域,可能需要配置CORS。</think>要修改 RAG 界面中的 API 服务器地址,需根据部署方式选择以下方法: ### 一、通过环境变量配置 1. **Docker 部署时**(参考引用[1][3]) ```yaml # docker-compose.yaml 中添加/修改环境变量 services: verba: environment: - API_URL=http://新IP:端口 - OLLAMA_URL=http://host.docker.internal:11434 # 容器访问宿主机服务 ``` 2. **本地服务启动参数**(参考引用[1]) ```bash verba start --host 0.0.0.0 --port 9000 # 开放所有网络接口 ``` ### 二、修改代码配置(引用[2]) 在 FastAPI 应用中显式声明服务地址: ```python # main.py 中调整启动参数 if __name__ == "__main__": import uvicorn uvicorn.run(app, host="新IP", port=新端口) ``` ### 三、前端界面配置 1. 如果使用独立前端项目,需修改调用 API 的地址: ```javascript // 前端代码中的 API 请求地址 const API_ENDPOINT = "http://新IP:端口/api/query" ``` ### 四、网络调试要点 1. **容器间通信**需使用 Docker 网络别名(参考引用[3]) 2. **跨域问题**需在 FastAPI 配置 CORS: ```python from fastapi.middleware.cors import CORSMiddleware app.add_middleware(CORSMiddleware, allow_origins=["*"]) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aitrainee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值