引言
在AI驱动的应用程序开发中,数据库的高性能和易于集成至关重要。Google Cloud SQL提供了一个托管关系数据库服务,支持MySQL、PostgreSQL和SQL Server引擎。本篇文章将带你深入了解如何利用Google Cloud SQL for SQL Server与Langchain集成,以保存、加载和删除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. 认证与设置
使用Google Cloud的IAM用户认证以访问你的Google Cloud项目。在Colab中可以通过以下代码认证:
from google.colab import auth
auth.authenticate_user()
然后设置你的Google Cloud项目:
PROJECT_ID = "my-project-id" # @param {type:"string"}
!gcloud config set project {PROJECT_ID}
4. 启用API
启用Cloud SQL Admin API:
!gcloud services enable sqladmin.googleapis.com
代码示例
以下示例展示了如何使用MSSQLLoader和MSSQLDocumentSaver来保存和加载Langchain文档:
from langchain_google_cloud_sql_mssql import MSSQLEngine, MSSQLDocumentSaver, MSSQLLoader
from langchain_core.documents import Document
# 配置SQLAlchemy连接池
engine = MSSQLEngine.from_instance(
project_id=PROJECT_ID,
region=REGION,
instance=INSTANCE,
database=DATABASE,
user=DB_USER,
password=DB_PASS,
)
# 初始化默认表
engine.init_document_table(TABLE_NAME, overwrite_existing=True)
# 保存文档
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 = MSSQLDocumentSaver(engine=engine, table_name=TABLE_NAME)
saver.add_documents(test_docs)
# 加载文档
loader = MSSQLLoader(engine=engine, table_name=TABLE_NAME)
docs = loader.lazy_load()
for doc in docs:
print("Loaded documents:", doc)
常见问题和解决方案
如何应对网络限制?
由于某些地区的网络限制,可能需要使用API代理服务提高访问稳定性。建议开发者考虑使用合适的代理解决方案,以确保API调用的稳定。
存在不同的架构怎么办?
对于非默认架构的表,在加载Langchain文档时,可以通过配置content_columns和metadata_columns来选择需要加载的内容和元数据。
总结与进一步学习资源
Google Cloud SQL for SQL Server结合Langchain集成提供了强大的文档处理能力。通过本文的示例和指导,开发者可以轻松实现文档的保存、加载和删除。更多详细的使用指南可以参考以下资源:
参考资料
- Google Cloud SQL 官方文档
- SQLAlchemy 官方文档
- Langchain 官方GitHub仓库
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—
425

被折叠的 条评论
为什么被折叠?



