如何将LangChain的SQLDatabaseChain连接到SingleStoreDB
问题与相关内容整理
1. SingleStoreDB适配URI需求
我可通过以下URI连接本地MySQL数据库,但该方式无法用于连接SingleStoreDB:
mysql+pymysql://user:pass@some_mysql_db_address/db_name
希望获取类似如下格式的适配URI:
singlestore://user:pass@some_mysql_db_address/db_name
本地MySQL连接示例代码
import pymysql from langchain import OpenAI, SQLDatabase, SQLDatabaseChain user = 'root' host='localhost' password='password' database='classicmodels_test' local_uri = f"mysql+pymysql://{user}:{password}@{host}/{database}"
数据库连接代码
db = SQLDatabase.from_uri(local_uri) print(db.table_info)
连接成功后的输出示例
CREATE TABLE customers ( `customerNumber` INTEGER NOT NULL, `customerName` VARCHAR(50) NOT NULL, `contactLastName` VARCHAR(50) NOT NULL, `contactFirstName` VARCHAR(50) NOT NULL, phone VARCHAR(50) NOT NULL, `addressLine1` VARCHAR(50) NOT NULL, `addressLine2` VARCHAR(50), city VARCHAR(50) NOT NULL, state VARCHAR(50), `postalCode` VARCHAR(15), country VARCHAR(50) NOT NULL, `salesRepEmployeeNumber` INTEGER, `creditLimit` DECIMAL(10, 2), PRIMARY KEY (`customerNumber`), CONSTRAINT customers_ibfk_1 FOREIGN KEY(`salesRepEmployeeNumber`) REFERENCES employees (`employeeNumber`) )DEFAULT CHARSET=latin1 ENGINE=InnoDB
2. pymysql连接对象创建SQLDatabase连接的疑问
想了解是否支持通过pymysql连接对象直接创建SQLDatabase连接,示例代码如下:
connection_obj = pymysql.connect(user='root',host='localhost', password='password', database='classicmodels_test') SQLDatabase.connect(connection_obj)
内容的提问来源于stack exchange,提问作者Krunal Kalariya
相关产品推荐
相关产品推荐

