AI / LLM

LEPA Support Agent

Learning project in the AI Learning Tracker series.

A LangGraph support workflow for LEPA: typed state, conditional routing, tools, memory, and a multi-agent split behind FastAPI.

Overview

LEPA Support Agent is Project 2 in my public AI learning series. It is a LangGraph learning project, not a production chatbot. A support request moves through an explicit graph — intake, classify, optional clarification, knowledge search, then a support answer — with SQLite checkpointing so a thread can continue across turns.

Problem

After a tool-calling CLI, an MCP server, and a thin agent harness, I still could not explain branching, durable state, and named steps as a workflow. A loop was not enough.

What I built

I drew the work as a StateGraph: typed SupportState, START/END, conditional edges after classify, a Markdown search tool, a multi-agent split (intake, knowledge, support), and a SQLite checkpointer keyed by thread_id. FastAPI exposes POST /chat. Classification stays heuristic so routing is testable without an LLM.

My contribution

  • Wired intake → classify → clarify or knowledge → support as an explicit LangGraph.
  • Added search_knowledge over LEPA Markdown docs and SQLite conversation memory.
  • Split specialists into intake, knowledge, and support agents while keeping one shared state.
  • Exposed the compiled graph over FastAPI and documented HITL vs a clarifying question.

Technologies

  • Python
  • LangGraph
  • FastAPI
  • SQLite
  • OpenRouter

More ai / llm

AI / LLM

AI Learning Tracker

A public repo of small AI engineering projects — terminal agents, MCP, LangGraph, and async document workflows — built while learning in public.

  • Python
  • TypeScript
  • OpenRouter
  • MCP
  • AI SDK

Related writing