SQLDatabaseToolkit()SQLDatabaseToolkit for interacting with SQL databases.
Setup:
Install langchain-community.
.. code-block:: bash
pip install -U langchain-community
Key init args:
db: SQLDatabase The SQL database. llm: BaseLanguageModel The language model (for use with QuerySQLCheckerTool)
Instantiate:
.. code-block:: python
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)
Tools:
.. code-block:: python
toolkit.get_tools()
Use within an agent:
.. code-block:: python
from langchain import hub from langgraph.prebuilt import create_react_agent
prompt_template = hub.pull("langchain-ai/sql-agent-system-prompt") system_message = prompt_template.format(dialect="SQLite", top_k=5)
agent_executor = create_react_agent( llm, toolkit.get_tools(), state_modifier=system_message )
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()