Cloud SQL for MySQL for LangChain

imageimageimage

Quick Start

In order to use this library, you first need to go through the followingsteps:

  1. Select or create a Cloud Platform project.

  2. Enable billing for your project.

  3. Enable the Google Cloud SQL Admin API.

  4. Setup Authentication.

Supported Cloud SQL Maintenance Versions

This LangChain integration is only supported for Cloud SQL maintenance versions betweenMYSQL_8_0_36.R20240401.03_00 andMYSQL_8_0_36.R20241208.01_00

Installation

Install this library in avirtualenv using pip.virtualenv is a tool to create isolated Python environments. The basic problem it addresses isone of dependencies and versions, and indirectly permissions.

Withvirtualenv, it’s possible to install this library without needing system install permissions, and without clashing with the installed system dependencies.

Supported Python Versions

Python >= 3.9

Mac/Linux

pip install virtualenvvirtualenv <your-env>source <your-env>/bin/activate<your-env>/bin/pip install langchain-google-cloud-sql-mysql

Windows

pip install virtualenvvirtualenv <your-env><your-env>\Scripts\activate<your-env>\Scripts\pip.exe install langchain-google-cloud-sql-mysql

Vector Store Usage

Use a vector store to store embedded data and perform vector search.

from langchain_google_cloud_sql_mysql import MySQLEngine, MySQLVectorStorefrom langchain_google_vertexai import VertexAIEmbeddingsengine = MySQLEngine.from_instance("project-id", "region", "my-instance", "my-database")engine.init_vectorstore_table(    table_name="my-table-name",    vector_size=768)vectorstore = MySQLVectorStore(    engine,    embedding_service=VertexAIEmbeddings(model_name="textembedding-gecko@003"),    table_name="my-table-name")

See the fullVector Store tutorial.

Document Loader Usage

Use a document loader to load data as LangChainDocuments.

from langchain_google_cloud_sql_mysql import MySQLEngine, MySQLLoaderengine = MySQLEngine.from_instance("project-id", "region", "my-instance", "my-database")loader = MySQLLoader(    engine,    table_name="my-table-name")docs = loader.lazy_load()

See the fullDocument Loader tutorial.

Chat Message History Usage

UseChatMessageHistory to store messages and provide conversationhistory to LLMs.

from langchain_google_cloud_sql_mysql import MySQLChatMessageHistory, MySQLEngineengine = MySQLEngine.from_instance("project-id", "region", "my-instance", "my-database")history = MySQLChatMessageHistory(    engine,    table_name="my-message-store",    session_id="my-session-id")

See the fullChat Message History tutorial.

Contributions

Contributions to this library are always welcome and highly encouraged.

SeeCONTRIBUTING for more information how to get started.

Please note that this project is released with a Contributor Code of Conduct. By participating inthis project you agree to abide by its terms. SeeCode of Conduct for moreinformation.

License

Apache 2.0 - SeeLICENSEfor more information.

Disclaimer

This is not an officially supported Google product.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-07-18 UTC.