langchain_community.agent_toolkits.sql.toolkit
.SQLDatabaseToolkit¶
- class langchain_community.agent_toolkits.sql.toolkit.SQLDatabaseToolkit[source]¶
基类:
BaseToolkit
与SQL数据库交互的SQLDatabaseToolkit。
- 设置
安装
langchain-community
。pip install -U langchain-community
- 关键初始化参数
- db: SQLDatabase
SQL数据库。
- llm: BaseLanguageModel
语言模型(与QuerySQLCheckerTool协同使用)
- 实例化
from langchain_community.agent_toolkits.sql.toolkit import SQLDatabaseToolkit from langchain_community.utilities.sql_database import SQLDatabase from langchain_openai import ChatOpenAI db = SQLDatabase.from_uri("sqlite:///Chinook.db") llm = ChatOpenAI(temperature=0) toolkit = SQLDatabaseToolkit(db=db, llm=llm)
- 工具
toolkit.get_tools()
- 在代理中使用
from langchain import hub from langgraph.prebuilt import create_react_agent # Pull prompt (or define your own) prompt_template = hub.pull("langchain-ai/sql-agent-system-prompt") system_message = prompt_template.format(dialect="SQLite", top_k=5) # Create agent agent_executor = create_react_agent( llm, toolkit.get_tools(), state_modifier=system_message ) # Query agent example_query = "Which country's customers spent the most?" events = agent_executor.stream( {"messages": [("user", example_query)]}, stream_mode="values", ) for event in events: event["messages"][-1].pretty_print()
通过解析和验证从关键字参数输入的数据来创建一个新的模型。
如果输入数据不能解析为有效的模型,则引发ValidationError。
- param db: SQLDatabase [Required]¶
- param llm: BaseLanguageModel [Required]¶
- property dialect: str¶
返回要使用的SQL方言的字符串表示。