“Because your boss doesn’t want SQL. They want answers.” 💼🤖
🎯 Goal¶
In this lab, you’ll build your own AI-powered business analyst — a LangChain agent that fetches KPIs from data, explains trends, and makes you look like you worked all night when you really didn’t. ☕
🧱 What You’ll Learn¶
By the end of this lab, you’ll know how to:
⚙️ Build a LangChain Agent that understands KPI questions
🧠 Connect it with your data (CSV, SQL, Excel, or API)
💬 Query business metrics in plain English
📊 Generate automatic summaries and insights
🎭 Impress your manager in one meeting
🧰 Prerequisites¶
Make sure you’ve installed the essentials:
pip install langchain openai pandas python-dotenv sqlalchemyOptional (if you’re querying a database):
pip install psycopg2-binary # For PostgreSQL
pip install sqlite3 # Or use built-in SQLiteAnd don’t forget your OpenAI API key in .env:
OPENAI_API_KEY=your_key_here🧮 Step 1: Load Some Data¶
Let’s simulate your company’s sales data. (Spoiler: it’s slightly fake but totally functional.)
import pandas as pd
data = {
"Region": ["East", "West", "North", "South"],
"Sales": [120000, 95000, 102000, 87000],
"Profit": [24000, 18000, 15000, 11000],
"Month": ["January", "January", "January", "January"]
}
df = pd.DataFrame(data)
df.to_csv("sales_data.csv", index=False)Now your AI agent has something to gossip about.
🤖 Step 2: Connect LangChain to Your Data¶
from langchain.agents import create_pandas_dataframe_agent
from langchain.chat_models import ChatOpenAI
import pandas as pd
import os
from dotenv import load_dotenv
load_dotenv()
df = pd.read_csv("sales_data.csv")
llm = ChatOpenAI(model="gpt-4o", temperature=0)
agent = create_pandas_dataframe_agent(llm, df, verbose=True)💬 Step 3: Ask Business Questions¶
“Finally, someone who understands your vague requests.”
Try asking things like:
agent.run("What is the total sales and profit by region?")
agent.run("Which region performed best in terms of profit margin?")
agent.run("Generate a quick summary of the performance in one sentence.")The output might look like:
East had the highest sales and profit, followed by North and West. South needs therapy.🧠 Step 4: Make It Fancy – Add Natural Language Dashboards¶
If you want to visualize KPIs, plug in Plotly:
import plotly.express as px
fig = px.bar(df, x="Region", y="Sales", color="Profit", title="Sales vs Profit by Region")
fig.show()💡 Combine this with your LangChain responses for an auto-insight dashboard that explains data and plots it — like a data storyteller with caffeine.
🗃️ Step 5: Connect a Database (Optional)¶
Your boss loves “real-time dashboards,” right? Let’s make it actually real (ish).
from langchain.sql_database import SQLDatabase
from langchain.agents import create_sql_agent
db = SQLDatabase.from_uri("sqlite:///business_data.db")
sql_agent = create_sql_agent(llm, db=db, verbose=True)
sql_agent.run("Find the top 3 products by revenue last quarter.")Boom 💥 — instant data insights without a single JOIN (you’re welcome).
💡 Step 6: Automate KPI Reports¶
Let’s pretend you’re building an email summary system:
prompt = """
Summarize company performance for the month of January
based on sales_data.csv and include one sentence of motivation.
"""
response = agent.run(prompt)
print(response)Possible output:
“January sales totaled $404K, with East region leading the charge. Keep the coffee strong and targets stronger!”
⚙️ Step 7: Deploy It as a Slack or Streamlit Bot¶
Because your teammates deserve to talk to something smarter than Jira.
pip install streamlit langchain openaiimport streamlit as st
query = st.text_input("Ask me anything about KPIs 👇")
if query:
answer = agent.run(query)
st.write("📊", answer)Now everyone in your office can casually chat with your data. (Warning: they will ask “Who’s underperforming?”)
🧠 Extra Credit¶
Try adding:
🧩 Memory: So it remembers previous KPI questions
🔗 Tools: Integrate with CRMs or Google Sheets
🗓️ Scheduling: Daily auto-reports emailed via LangChain workflow
Bonus challenge:
Make it say “You’re doing great, champ!” when revenue drops.
🎯 Summary¶
| Concept | Description |
|---|---|
| 🧠 LangChain Agent | A smart layer between data & humans |
| 🧾 KPI Querying | Natural language → Insight |
| ⚙️ Integration | CSV, SQL, APIs |
| 📊 Visualisation | Optional but makes you look professional |
| 🤣 Humor | Mandatory (as per this course policy) |
🏁 What You’ve Built¶
✅ An LLM-powered KPI Query Agent ✅ That can analyze, summarize, and visualize business data ✅ Using LangChain + Pandas + OpenAI ✅ While making you laugh instead of cry at your dashboards
# Your code here