老铁们,今天我们来聊聊如何使用Redis作为向量数据库,结合OpenAI的语言模型来进行RAG(检索增强生成)操作,专注于处理Nike的财务10k文件。这个模板依赖于sentence-transformers/all-MiniLM-L6-v2
进行文本的嵌入操作,不仅可以处理PDF文件的内容,还能回答用户的问题。
环境设置
首先,为了访问OpenAI模型,你需要设置OPENAI_API_KEY
环境变量:
export OPENAI_API_KEY=<YOUR OPENAI API KEY>
接下来是Redis相关的环境变量,用于配置你的Redis服务器:
export REDIS_HOST=<YOUR REDIS HOST>
export REDIS_PORT=<YOUR REDIS PORT>
export REDIS_USER=<YOUR REDIS USER NAME>
export REDIS_PASSWORD=<YOUR REDIS PASSWORD>
支持的设置
我们可以通过各种环境变量来配置这个应用,以下是一些关键的配置项:
环境变量 | 描述 | 默认值 |
---|---|---|
DEBUG | 启用或禁用LangChain调试日志 | True |
REDIS_HOST | Redis服务器的主机名 | “localhost” |
REDIS_PORT | Redis服务器的端口 | 6379 |
REDIS_USER | Redis服务器的用户名 | “” |
REDIS_PASSWORD | Redis服务器的密码 | “” |
REDIS_URL | 连接Redis的完整URL | 如果未提供,将从用户、密码、主机和端口构造 |
INDEX_NAME | 向量索引的名称 | “rag-redis” |
使用方法
要使用这个包,首先需要在Python虚拟环境中安装LangChain CLI和Pydantic:
pip install -U langchain-cli pydantic==1.10.13
创建一个新的LangChain项目并将此作为唯一包安装:
langchain app new my-app --package rag-redis
如果你想将其添加到现有项目中,只需运行:
langchain app add rag-redis
并在你的app/server.py
文件中添加以下代码片段:
from rag_redis.chain import chain as rag_redis_chain
add_routes(app, rag_redis_chain, path="/rag-redis")
(可选)我们来配置LangSmith,这将帮助我们追踪、监控和调试LangChain应用程序。你可以在这里注册LangSmith。如果没有访问权限,可以跳过这部分:
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_PROJECT=<your-project> # 如果未指定,默认为"default"
如果你在此目录下,可以直接启动一个LangServe实例:
langchain serve
这将启动一个本地运行的FastAPI应用,服务器地址为http://localhost:8000
。你可以在http://127.0.0.1:8000/docs
查看所有模板,并在http://127.0.0.1:8000/rag-redis/playground
访问游乐场。同时,你可以通过如下代码从代码中访问模板:
from langserve.client import RemoteRunnable
runnable = RemoteRunnable("http://localhost:8000/rag-redis")
这波操作可以说是相当丝滑。今天的技术分享就到这里,希望对大家有帮助。开发过程中遇到问题也可以在评论区交流~
—END—