agent.pybusinessLangchainv1.0.0
LangChain: SQL Analyst
Natural language to SQL queries. Ask questions about your database in plain English.
Setup time: ~10 min
Model: GPT-4o
Cost: ~$0.15/day
Last updated: Mar 16, 2026
Template
agent.py
# Install: pip install langchain langchain-openai langchain-community sqlalchemy
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.prompts import PromptTemplate
import os
# --- Config ---
DATABASE_URL = os.environ.get("DATABASE_URL", "sqlite:///./example.db")
# --- Connect to database ---
db = SQLDatabase.from_uri(DATABASE_URL, sample_rows_in_table_info=3)
print(f"Connected. Tables: {db.get_usable_table_names()}")
# --- Build chain ---
llm = ChatOpenAI(model="gpt-4o", temperature=0)
# Generate SQL from natural language
write_query = create_sql_query_chain(llm, db)
# Execute the query
execute_query = QuerySQLDataBaseTool(db=db)
# Answer template
answer_prompt = PromptTemplate.from_template(
"""Given the following user question, SQL query, and SQL result,
answer the user question in plain English. Be concise.
Question: {question}
SQL Query: {query}
SQL Result: {result}
Answer:"""
)
def ask(question: str) -> str:
"""Ask a question about the database in natural language."""
query = write_query.invoke({"question": question})
# Safety: only allow SELECT queries
if not query.strip().upper().startswith("SELECT"):
return "I can only run SELECT queries for safety."
result = execute_query.invoke(query)
answer = llm.invoke(
answer_prompt.format(question=question, query=query, result=result)
)
return f"SQL: {query}\nResult: {result}\nAnswer: {answer.content}"
if __name__ == "__main__":
print("SQL Analyst ready. Ask questions about your database.")
while True:
q = input("\nQuestion: ")
if q.lower() == "quit":
break
print(ask(q))Setup
- 1
Copy the agent.py content above.
- 2
Create a Python virtual environment and install dependencies.
- 3
Set your OPENAI_API_KEY environment variable.
- 4
Run: python agent.py
Run with LangChain
This is a Python script using LangChain. Set up a virtual environment and install dependencies.
# 1. Create a virtual environment
python -m venv venv && source venv/bin/activate
# 2. Install dependencies
pip install langchain langchain-openai langchain-community chromadb
# 3. Set your API key
export OPENAI_API_KEY="sk-..."
# 4. Save the agent.py from above and run it
python agent.pyVersion History
v1.0.0Initial releaseMar 16, 2026
Framework
LangchainRequirements
Python 3.10+
OpenAI API key
Database connection
Estimated cost
~$0.15/day
on GPT-4o model
File type
agent.py
Version
v1.0.0
Updated Mar 16, 2026
You might also like
SOUL.md
Client Onboarding
Track new client setup tasks. Send reminders until everything is done.
~$0.20/day · ~10 min setup
HEARTBEAT.md
Invoice Tracker
Track sent invoices. Alert on overdue payments.
~$0.10/day · ~5 min setup
HEARTBEAT.md
Lead Qualifier
Score inbound leads from form submissions. Route hot leads immediately.
~$0.30/day · ~10 min setup