利用Google Cloud SQL for PostgreSQL实现AI驱动的文档加载体验
引言
在现代应用程序中,数据库的选择和使用至关重要,尤其是在需要扩展AI功能时。Google Cloud SQL for PostgreSQL作为一款完全托管的数据库服务,提供了便捷的数据库管理,同时与Langchain项目集成,使开发者能够构建AI驱动的体验。本文将介绍如何使用Cloud SQL for PostgreSQL加载文档,并通过实际的代码示例帮助您理解和实现这一过程。
主要内容
搭建环境
在开始之前,您需要具备以下条件:
- 创建一个Google Cloud项目。
- 启用Cloud SQL Admin API。
- 创建Cloud SQL for PostgreSQL实例和数据库。
- 向数据库添加用户。
完成以上步骤后,您可以继续安装相关的库:
%pip install --upgrade --quiet langchain_google_cloud_sql_pg
注意: 在网络不稳定的地区,考虑使用API代理服务以提高访问稳定性。
认证与项目设置
使用以下代码进行Google Cloud认证和项目设置:
from google.colab import auth
auth.authenticate_user()
# 设置您的Google Cloud项目
PROJECT_ID = "your_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
对象连接到Cloud SQL for PostgreSQL数据库:
from langchain_google_cloud_sql_pg import PostgresEngine
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
# 创建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)
# 设置内容格式
loader = await PostgresLoader.create(
engine,
table_name="products",
content_columns=["product_name", "description"],
format="YAML",
)
docs = await loader.aload()
print(docs)
常见问题和解决方案
- 网络访问不稳定: 在网络受限的地区,考虑使用API代理服务以提高访问稳定性。
- 认证失败: 确保使用的Google Cloud项目正确,并且用户拥有访问权限。
总结与进一步学习资源
通过使用Google Cloud SQL for PostgreSQL和Langchain集成,您可以很容易地实现AI驱动的文档加载和处理。继续深入了解这些功能,您可以参考以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—