引言
Google Cloud SQL for PostgreSQL是一种全托管的数据库服务,帮助开发者在Google Cloud Platform上轻松管理PostgreSQL数据库。在这篇文章中,我们将介绍如何使用Langchain集成来利用Cloud SQL for PostgreSQL加载文档。本文旨在为您提供实用的知识和清晰的代码示例,帮助您快速上手。
主要内容
前期准备
在开始之前,请确保您已完成以下准备工作:
- 创建一个Google Cloud项目。
- 启用Cloud SQL Admin API。
- 创建一个Cloud SQL for PostgreSQL实例和数据库。
- 为数据库添加用户。
安装Langchain集成库
使用以下命令安装langchain_google_cloud_sql_pg库:
%pip install --upgrade --quiet langchain_google_cloud_sql_pg
注意:如果您在Colab中运行此笔记本,请重启内核以访问新安装的包。
认证和设置项目
确保您已登录Google Cloud,并为项目设置正确的Project ID:
from google.colab import auth
auth.authenticate_user()
PROJECT_ID = "gcp_project_id" # 设置项目ID
! gcloud config set project {PROJECT_ID}
设置Cloud SQL数据库值
根据您的实例和数据库信息设置以下变量:
REGION = "us-central1"
INSTANCE = "my-primary"
DATABASE = "my-database"
TABLE_NAME = "vector_store"
创建PostgresEngine
PostgresEngine是用于配置连接池的对象。您可以使用以下方法创建:
from langchain_google_cloud_sql_pg import PostgresEngine
# 使用API代理服务提高访问稳定性
engine = await PostgresEngine.afrom_instance(
project_id=PROJECT_ID,
region=REGION,
instance=INSTANCE,
database=DATABASE,
)
创建PostgresLoader并加载文档
创建PostgresLoader以从表中加载文档:
from langchain_google_cloud_sql_pg import PostgresLoader
loader = await PostgresLoader.create(engine, table_name=TABLE_NAME)
docs = await loader.aload()
print(docs)
自定义表加载
您可以指定要作为内容和元数据的列:
loader = await PostgresLoader.create(
engine,
table_name=TABLE_NAME,
content_columns=["product_name"],
metadata_columns=["id"],
)
docs = await loader.aload()
print(docs)
设置页面内容格式
支持多种格式,例如YAML:
loader = await PostgresLoader.create(
engine,
table_name="products",
content_columns=["product_name", "description"],
format="YAML",
)
docs = await loader.aload()
print(docs)
常见问题和解决方案
-
网络访问问题:
- 由于某些地区的网络限制,开发者可能需要考虑使用API代理服务以提高访问稳定性。
-
认证错误:
- 确保您已正确设置IAM用户权限,并使用了正确的Project ID。
总结和进一步学习资源
使用Google Cloud SQL for PostgreSQL加载文档简化了数据库管理过程,通过结合Langchain的功能还能构建更智能的应用。想了解更多,请查看以下资源:
参考资料
- Google Cloud SQL for PostgreSQL文档
- Langchain文档和GitHub页面
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---