OpenRAG:一款开源 GenAI 应用程序,可通过大型语言模型增强数据查询

Mary-Kate Olsen
发布: 2024-10-22 14:17:02
原创
905 人浏览过

OpenRAG: An Open-Source GenAI Application to Supercharge Data Queries with Large Language Models

在人工智能时代,企业和开发人员越来越多地利用大型语言模型 (LLM) 来简化数据分析和客户交互。 OpenRAG 是一款开源生成人工智能 (GenAI) 应用程序,通过将法学硕士的灵活性与跨各种向量数据库的高效数据查询功能相结合,为用户提供支持。无论您是处理 PDF、查询大型数据集还是从存储的数据中寻求见解,OpenRAG 都可以使用自然语言查询与您的数据无缝交互。

OpenRAG 的主要特性

  1. 支持所有开源 LLM 模型 OpenRAG 旨在与各种开源 LLM 集成,让用户可以自由选择最适合其独特用例的模型。该平台的可扩展性允许未来扩展,确保用户可以不受任何限制地利用人工智能领域的最新进展。

  2. 多个开源矢量数据库集成 OpenRAG 已预先配置为支持流行的开源矢量数据库,例如 Chroma、FAISS 和 Qdrant。这些数据库有助于高性能矢量搜索和检索,确保用户在查询数据时获得精确的结果。

  3. PDF 上传和数据查询OpenRAG 的一项突出功能是能够上传 PDF 文件并将其转换为结构化数据集合。这使得该应用程序对于处理大量基于 PDF 的信息的专业人员非常有用。上传 PDF 后,用户可以使用自己选择的法学硕士查询内容,快速有效地提取见解。

  4. 持久集合名称以实现可重用性 OpenRAG 为上传的 PDF 分配唯一的集合名称,允许用户返回和查询数据,而无需重新上传相同的文件。此功能可以节省时间并使数据管理更加无缝。

  5. 矢量数据库的一致性 用法 OpenRAG 通过将数据集合绑定到特定的矢量数据库来保持一致性。一旦选择采集后,用户就无法切换数据库,保证每次数据检索稳定准确。

OpenRAG 入门

在深入人工智能驱动的数据查询世界之前,请确保满足以下先决条件才能顺利安装:

先决条件

Python 版本: 确保您安装了 Python 3.9 或更高版本。
Qdrant Docker 映像: OpenRAG 与 Qdrant 集成,并且该映像应该正在运行。确保本地主机上的端口 6333 可以访问。

安装

  1. 克隆存储库:

git 克隆 https://github.com/yourrepo/openrag.git

  1. 创建虚拟环境:
python3 -m venv openrag-env
source openrag-env/bin/activate
登录后复制
  1. 安装依赖项:

pip install -r requests.txt

  1. 下载 Spacy 语言模型:

python3 -m spacy download en_core_web_sm

  1. 运行应用程序:

uvicorn main:app --reload

Docker化以方便部署

对于喜欢使用 Docker 进行部署的开发人员,OpenRAG 可以容器化:

  1. 构建 Docker 镜像:

docker build -t openrag-app .

  1. 运行容器:

docker run -d -p 8000:8000 openrag-app

应用程序运行后,通过浏览器中的 http://localhost:8000 访问它。

用法:通过 API 与 OpenRAG 交互

OpenRAG 的 API 优先架构使其能够集成到各种前端应用程序中。以下是如何上传 PDF 并通过 API 查询其内容的示例:

上传 PDF

curl -X POST "http://localhost:8000/upload" \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-F "file=@yourfile.pdf" \
-F "model_name=GPT-3.5" \
-F "vector_db_name=qdrant"

登录后复制

开始聊天会话
上传 PDF 后,您可以发起基于聊天的查询:

curl -X POST "http://localhost:8000/chat" \
-H "Content-Type: application/json" \
-d '{
  "collection_name": "your_collection_name",
  "query": "your_query",
  "model_name": "GPT-3.5",
  "vector_db_name": "qdrant",
  "device": "cpu"
}'
登录后复制

OpenRAG 的可扩展性
OpenRAG 的最大优势之一是其可扩展性。虽然它可以使用 uvicorn 等工具在本地计算机上运行,​​但它已做好生产准备,并且可以使用云提供商、Docker 或 Kubernetes 进行部署。在生产环境中,OpenRAG 支持通过 Gunicorn 等工具进行扩展,为高流量用例提供强大的性能。

常见错误及解决方案
用户在开发过程中可能会遇到以下常见错误:

类型错误:无法直接创建描述符。

要解决此问题,请考虑将 protobuf 包降级到版本 3.20.x 或更低版本,或者设置环境变量

PROTOCOL_BUFFERS_PYTHON_IMPLMENTATION=python

结论
对于希望利用法学硕士和矢量数据库的强大功能进行数据查询和洞察的用户来说,OpenRAG 是一种灵活的开源解决方案。无论您是开发人员、研究人员还是企业用户,OpenRAG 都提供了以高效且直观的方式处理您的数据的工具。

有关详细的 API 文档和更多示例,请访问 OpenRAG 的 API 文档。

为 OpenRAG 做出贡献
我们欢迎社区的贡献!有关如何贡献、提交问题或请求功能的详细信息,请查看 CONTRIBUTING.md。

Github 存储库链接
打开 Rag Repo

以上是OpenRAG:一款开源 GenAI 应用程序,可通过大型语言模型增强数据查询的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!