pythonintermediate
LangChain create_sql_query_chain
Generate SQL from natural language using LangChain's create_sql_query_chain with schema awareness.
pythonPress ⌘/Ctrl + Shift + C to copy
from langchain_openai import ChatOpenAI
from langchain_community.utilities import SQLDatabase
from langchain.chains import create_sql_query_chain
from langchain_community.tools.sql_database.tool import QuerySQLDataBaseTool
from langchain_core.runnables import RunnablePassthrough
from operator import itemgetter
db = SQLDatabase.from_uri('sqlite:///chinook.db')
llm = ChatOpenAI(model='gpt-4o-mini', temperature=0)
generate_query = create_sql_query_chain(llm, db)
execute_query = QuerySQLDataBaseTool(db=db)
chain = generate_query | execute_query
result = chain.invoke({'question': 'How many employees are there?'})
print('Result:', result)
sql = generate_query.invoke({'question': 'What are the top 5 customers by invoice total?'})
print('SQL:', sql)Use Cases
- NL to SQL
- database exploration
- text-to-query
Tags
Related Snippets
Similar patterns you can reuse in the same workflow.
pythonadvanced
LangChain SQL Database Agent
Create an AI agent that answers natural language questions by querying a SQL database.
Best for: NL2SQL
#langchain#sql
pythonbeginner
LangChain Prompt Chain (Python)
Build a simple LLMChain with a prompt template and ChatOpenAI in LangChain.
Best for: prompt chaining
#langchain#openai
pythonadvanced
Text-to-SQL with Validation Safety
Convert natural language to SQL with LLM and validate queries before execution for safety.
Best for: safe NL2SQL
#nl2sql#sql
typescriptadvanced
LangChain RAG Chain Pipeline
Build a retrieval-augmented generation chain with LangChain using vector store retrieval and prompt templates.
Best for: Document Q&A
#langchain#rag