Google Cloud SQL for SQL server
Cloud SQL 是一项全托管式关系数据库服务,提供高性能、无缝集成和出色的可扩展性。它提供 MySQL、PostgreSQL 和 SQL Server 数据库引擎。利用 Cloud SQL 的 Langchain 集成,扩展您的数据库应用程序以构建由 AI 驱动的体验。
本 Notebook 介绍如何使用 Cloud SQL for SQL server 通过 MSSQLLoader 和 MSSQLDocumentSaver 来 保存、加载和删除 Langchain 文档。
在 GitHub 上了解有关该软件包的更多信息。
开始之前
要运行此笔记本,您需要执行以下操作:
- 创建 Google Cloud 项目
- 启用 Cloud SQL Admin API
- 创建 Cloud SQL for SQL server 实例
- 创建 Cloud SQL 数据库
- 向数据库添加 IAM 数据库用户(可选)
在笔记本的运行时环境中确认数据库访问权限后,请填充以下值并运行单元格,然后再运行示例脚本。
# @markdown Please fill in the both the Google Cloud region and name of your Cloud SQL instance.
REGION = "us-central1" # @param {type:"string"}
INSTANCE = "test-instance" # @param {type:"string"}
# @markdown Please fill in user name and password of your Cloud SQL instance.
DB_USER = "sqlserver" # @param {type:"string"}
DB_PASS = "password" # @param {type:"string"}
# @markdown Please specify a database and a table for demo purpose.
DATABASE = "test" # @param {type:"string"}
TABLE_NAME = "test-default" # @param {type:"string"}
🦜🔗 库安装
集成存在于我们自己的 langchain-google-cloud-sql-mssql 包中,因此我们需要安装它。
%pip install --upgrade --quiet langchain-google-cloud-sql-mssql
仅限 Colab: 取消注释下面的单元格以重启内核,或者使用按钮重启内核。对于 Vertex AI Workbench,您可以使用顶部的按钮重启终端。
# # Automatically restart kernel after installs so that your environment can access the new packages
# import IPython
# app = IPython.Application.instance()
# app.kernel.do_shutdown(True)
🔐 身份验证
通过当前笔记本登录的 IAM 用户身份验证到 Google Cloud,以便访问您的 Google Cloud 项目。
- 如果您使用 Colab 运行此笔记本,请使用下面的单元格并继续。
- 如果您使用 Vertex AI Workbench,请参阅此处的设置说明:https://github.com/GoogleCloudPlatform/generative-ai/tree/main/setup-env。
from google.colab import auth
auth.authenticate_user()
☁ 设置您的 Google Cloud 项目
设置您的 Google Cloud 项目,以便在本笔记本中利用 Google Cloud 资源。
如果您不知道项目 ID,可以尝试以下方法:
- 运行
gcloud config list。 - 运行
gcloud projects list。 - 查看支持页面:查找项目 ID。
# @markdown Please fill in the value below with your Google Cloud project ID and then run the cell.
PROJECT_ID = "my-project-id" # @param {type:"string"}
# Set the project id
!gcloud config set project {PROJECT_ID}
💡 API 启用
langchain-google-cloud-sql-mssql 包要求您在 Google Cloud 项目中 启用 Cloud SQL Admin API。
# enable Cloud SQL Admin API
!gcloud services enable sqladmin.googleapis.com
基本用法
MSSQLEngine 连接池
在从 MSSQL 表保存或加载文档之前,我们需要首先配置一个到 Cloud SQL 数据库的连接池。MSSQLEngine 会为您的 Cloud SQL 数据库配置一个 SQLAlchemy 连接池,从而使您的应用程序能够成功连接,并遵循行业最佳实践。
要使用 MSSQLEngine.from_instance() 创建一个 MSSQLEngine,您只需要提供以下 4 项内容:
project_id:Cloud SQL 实例所在 Google Cloud 项目的项目 ID。region:Cloud SQL 实例所在的区域。instance:Cloud SQL 实例的名称。database:要连接到 Cloud SQL 实例上的数据库的名称。user:用于内置数据库身份验证和登录的数据库用户。password:用于内置数据库身份验证和登 录的数据库密码。
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,
)
初始化表
通过 MSSQLEngine.init_document_table(<table_name>) 初始化一个默认模式的表。表结构:
- page_content (类型:text)
- langchain_metadata (类型:JSON)
overwrite_existing=True 标志表示新初始化的表将替换同名的现有表。
engine.init_document_table(TABLE_NAME, overwrite_existing=True)