Cloud SQL 是一项完全托管的关系型数据库服务,提供高性能、无缝集成和令人印象深刻的可扩展性。它提供 PostgreSQL、PostgreSQL 和 SQL Server 数据库引擎。利用 Cloud SQL 的 LangChain 集成,扩展您的数据库应用程序以构建 AI 驱动的体验。本笔记本将介绍如何使用
Cloud SQL for PostgreSQL 和 PostgresVectorStore 类来存储向量嵌入。 在 GitHub 上了解有关该包的更多信息。 开始之前
要运行此 notebook,您需要执行以下操作🦜🔗 库安装
安装集成库langchain-google-cloud-sql-pg 和嵌入服务库 langchain-google-vertexai。
🔐 身份验证
以登录到此 notebook 的 IAM 用户身份向 Google Cloud 进行身份验证,以访问您的 Google Cloud 项目。- 如果您正在使用 Colab 运行此 notebook,请使用下面的单元格并继续。
- 如果您正在使用 Vertex AI Workbench,请查看此处的设置说明。
☁ 设置您的 Google Cloud 项目
设置您的 Google Cloud 项目,以便您可以在此 notebook 中利用 Google Cloud 资源。 如果您不知道您的项目 ID,请尝试以下操作:- 运行
gcloud config list。 - 运行
gcloud projects list。 - 查看支持页面:查找项目 ID。
基本用法
设置 Cloud SQL 数据库值
在 Cloud SQL 实例页面中查找您的数据库值。PostgresEngine 连接池
将 Cloud SQL 建立为向量存储库的其中一个要求和参数是一个PostgresEngine 对象。 PostgresEngine 为您的 Cloud SQL 数据库配置连接池,使您的应用程序能够成功连接并遵循行业最佳实践。 要使用 PostgresEngine.from_instance() 创建 PostgresEngine,您只需提供 4 项内容:project_id:Cloud SQL 实例所在的 Google Cloud 项目的项目 ID。region:Cloud SQL 实例所在的区域。instance:Cloud SQL 实例的名称。database:要连接到 Cloud SQL 实例上的数据库名称。
PostgresEngine.from_instance() 提供可选的 user 和 password 参数
user:用于内置数据库身份验证和登录的数据库用户password:用于内置数据库身份验证和登录的数据库密码。
初始化表
PostgresVectorStore 类需要一个数据库表。 PostgresEngine 引擎有一个辅助方法 init_vectorstore_table(),可用于为您创建具有正确架构的表。
创建嵌入类实例
您可以使用任何 LangChain 嵌入模型。您可能需要启用 Vertex AI API 才能使用VertexAIEmbeddings。我们建议为生产环境设置嵌入模型的版本,了解更多关于文本嵌入模型的信息。
初始化默认的 PostgresVectorStore
添加文本
删除文本
搜索文档
按向量搜索文档
添加索引
通过应用向量索引加速向量搜索查询。了解有关向量索引的更多信息。重新索引
删除索引
创建自定义向量存储
向量存储可以利用关系数据来过滤相似性搜索。 创建具有自定义元数据列的表。使用元数据过滤器搜索文档
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。