python 如何连接Langchain数据库代理和SqlServer

cvxl0en2  于 12个月前  发布在  Python
关注(0)|答案(1)|浏览(222)

我需要连接我的langchain数据库代理与我的sqlserver数据库,以便我的代理可以访问数据,但在documention中没有解释如何做到这一点,它只显示了如何连接到sqlite,如以下代码:

from langchain.agents import create_sql_agent
from langchain.agents.agent_toolkits import SQLDatabaseToolkit
from langchain.sql_database import SQLDatabase
from langchain.llms.openai import OpenAI
from langchain.agents import AgentExecutor
from langchain.agents.agent_types import AgentType
from langchain.chat_models import ChatOpenAI

db = SQLDatabase.from_uri("sqlite:///../../../../../notebooks/Chinook.db")
toolkit = SQLDatabaseToolkit(db=db, llm=OpenAI(temperature=0))

我试着替换这个代码:

db = SQLDatabase.from_uri("sqlite:///../../../../../notebooks/Chinook.db")

用这个:

db = SQLDatabase.from_uri("mssql+pyodbc://{server}/{database}?driver{driver}")

但出现了以下错误:
sqlalchemy.exc.InterfaceError:(pyodbc.InterfaceError)('IM002','[IM002] [Microsoft][ODBC Driver Manager]未找到数据源名称,且未指定默认驱动程序(0)(SQLDriverConnect错误')(此错误的背景信息位于:https://sqlalche.me/e/20/rvf5)**

ztigrdn8

ztigrdn81#

我已经测试过了,它似乎起作用了。

uri = 'mssql+pyodbc://DBUsername:DBPassword@ServerName:Port/DBName?driver=ODBC+Driver+17+for+SQL+Server'
db = SQLDatabase.from_uri(uri)

参考号:https://github.com/langchain-ai/langchain/issues/9804

相关问题