pythonadvanced

LangChain SQL Database Agent

Create an AI agent that answers natural language questions by querying a SQL database.

python
from langchain_openai import ChatOpenAI
from langchain_community.utilities import SQLDatabase
from langchain_community.agent_toolkits import create_sql_agent

db = SQLDatabase.from_uri('sqlite:///chinook.db')
llm = ChatOpenAI(model='gpt-4o-mini', temperature=0)

agent_executor = create_sql_agent(
    llm=llm,
    db=db,
    agent_type='tool-calling',
    verbose=True,
    max_iterations=5,
)

questions = [
    'How many customers are from Germany?',
    'What are the top 3 best-selling tracks?',
]
for q in questions:
    result = agent_executor.invoke({'input': q})
    print(f'Q: {q}')
    print(f'A: {result["output"]}\n')

Use Cases

  • NL2SQL
  • database Q&A
  • text-to-SQL agents

Tags

Related Snippets

Similar patterns you can reuse in the same workflow.