AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


【深入浅出RAG】LangChain与Redis联姻! 通过RAG模板打造Redis集成方案
发布日期:2024-06-11 07:03:12 浏览次数: 1827




近几年互联网的发展,让 Redis 在缓存方案已经成为了绝对的王者。大量的生产环境中,Redis 提供了一种可扩展的、可靠的缓存方案,已经应用在大量的数据读取场景中,但是在未来以 AI 为核心的生产环境中,Redis 需要如何跟 Agent 或者 RAG 进行结合?

LangChain 为开发者创建和部署API 提供了一种新的方法。通过 LangChain 检索增强生成(RAG)模板,可以轻松整合Redis,提升了架构的开发效率和扩展性。

当今的 AI 开发者在模型提供者、数据库和开发框架(如 LangChain)等技术选择上面临大量选择。但如果达到生产的要求,并不是那么简单。

为了减少部署 API 的额外成本LangChain 通过 LangServe 提供了一系列可部署的架构模版。这些模板包括特定工具的链、大型语言模型(LLM)特定的链和技术特定的链使用 FastAPI 将基于 LLM 的链或代理转换为 REST API,可以快速打造可部署的生产环境

Redis 与 LangChain 共同提供了 Redis RAG 模板,这是一个整合的程序包,用于创建可提供一致性的、由 LLM 驱动的聊天应用程序。

通过使用 Redis 作为向量数据库,这个模板确保了快速的上下文检索和有根据的提示构建,这对于响应迅速和精确的 AI 响应至关重要。


使用 RAG 模板打造 RAG 程序

Redis RAG 模板为开发者提供了一个 REST API,比如与公共财务的 PDF 文档(如 Nike 的 10-K 申报)进行聊天。该应用程序使用:

  • FastAPI 和 Uvicorn 通过 HTTP 提供客户端请求服务

  • UnstructuredFileLoader 将 PDF 文档解析为原始文本

  • RecursiveCharacterTextSplitter 将文本分割成较小的块

  • 来自 HuggingFace 的 'all-MiniLM-L6-v2' 句子转换器,将文本块嵌入到向量中

  • Redis 作为向量数据库,用于实时上下文检索

  • OpenAI 的 'gpt-3.5-turbo-16k' LLM 生成对用户查询的答案


要使用模板运行 RAG 应用程序,您将需要两件事:

  1. 一个运行中的 Redis 实例(Redis Cloud 或本地 Redis Stack)

  2. 一个 OpenAI API 密钥

以下是使用模板本地构建的步骤:

  1. 环境设置:设置 OpenAI API 密钥和 Redis 环境变量:或者设置 REDIS_URL 环境变量而不是各个组件。

    export OPENAI_API_KEY=<your_openai_api_key>export REDIS_HOST=<your_redis_host>export REDIS_PORT=<your_redis_port>export REDIS_USER=<your_redis_user>export REDIS_PASSWORD=<your_redis_password>
  2. 创建并激活 Python3.9 虚拟环境


    python3.9 -m venv lc-templatesource lc-template/bin/activate
  3. 安装 LangChain CLI 和 Pydantic


    pip install -U langchain-cli pydantic==1.10.13
  4. 创建一个新的 LangChain 项目


    运行下面的 LangChain CLI 命令创建一个名为 test-rag 的新目录。

    当提示安装模板时,选择是选项:y 这一步将在 ./test-rag/packages 目录下下载 rag-redis 模板内容,并尝试安装 Python 需求。

    langchain app new test-rag --package rag-redis
  5. 提取源数据


    这可能需要几分钟。ingest.py 脚本执行一个管道,如下所示,该管道加载源 PDF 文档,将文本转换为较小的块,使用 HuggingFace 句子转换器模型创建文本嵌入,并将数据加载到 Redis 中。

    cd test-rag/packages/rag-redispython ingest.py
  6. 使用 LangServe 服务 FastAPI 应用程序

    cd../ &&cd..langchain serve
  7. 在端口 8000 上访问 API

    启动后,您应该看到以下输出:

    导航到 http://127.0.0.1:8000/docs 查看文档。

    访问 http://127.0.0.1:8000/rag-redis/playground 以使用测试程序,如下所示:


也可以测试 API 的交互,LangChain 应用程序以从 Redis 检索的 Nike 公司 PDF 的丰富上下文结合 OpenAI LLM 的生成能力做出回应。



LangChain 和 Redis 一起推进 AI 创新


通过 LangChain 与 Redis 的集成可以在很多场景下提高高效的混合查询,并能够无需部署向量数据库。

随着AI技术的不断进步,Redis 与 LangChain 的结合为AI应用的开发提供了新的动力和可能性。它们共同构建的高效、可扩展的解决方案,不仅简化了开发流程,更在生产环境中展现出卓越的性能。在未来以AI为核心的生产环境中,这种结合无疑将成为推动创新的重要力量。

Redis 与 LangChain 的结合,就像是科技界的一场完美联姻,它们携手共创的不仅仅是代码,更是智能时代的无限可能。

在 AI 的世界里,Redis 和 LangChain 将会如何继续刷新我们对智能的认知?它们又会如何塑造我们的工作和生活方式?


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询