LangGraph multi-agent sales intelligence platform for FMCG / CPG route-to-market teams.
A supervisor agent detects intent and routes to 5 specialist agents — order, coaching, analytics, collection, and promotion — over a Qdrant + LangChain RAG pipeline with a 3-tier LLM fallback chain. Built and deployed for an FMCG distributor across 50–500 retail outlets.
This is a production system, not a demo. It consolidates fragmented sales tooling (order parsing, promo suggestions, collection coaching, analytics) into one multi-agent application.
┌─────────────────────────┐
│ LangGraph StateGraph │
│ Supervisor (intent) │
└───────────┬─────────────┘
┌──────────┬────────┼────────┬──────────┐
▼ ▼ ▼ ▼ ▼
Order Coach Analytics Collection Promo
│ │ │ │ │
└──────────┴────────┴────────┴──────────┘
│
┌─────────┴─────────┐
▼ ▼
Qdrant (RAG) 3-tier LLM fallback
+ LangChain (frontier → mid → local)
- Dashboard — TypeScript / React
- AI service — Python / FastAPI
- Retrieval — Qdrant vector store, LangChain, Pydantic structured outputs, streaming responses
- Reliability — per-agent context budgeting (prevents token-cost explosion), max-iteration caps, 3-tier LLM fallback
- Observability — MLflow + Prometheus; intent-classifier accuracy validated on a golden set before each routing change
| Agent | Responsibility |
|---|---|
| Order | Parse and place retailer orders |
| Coach | Sales-call coaching and talk-track suggestions |
| Analytics | Outlet performance, route analytics |
| Collection | Outstanding tracking and dunning |
| Promo | Promo eligibility and upsell suggestions |
apps/ # TypeScript dashboard
services/ # Python FastAPI ai-service (LangGraph)
packages/ # shared types / utils
infra/ # deployment manifests
docker-compose*.yml
turbo.json # monorepo orchestration
Most "AI sales" tools wrap a single LLM call. OpenSalesAI treats sales as a stateful multi-step workflow where each step is owned by a scoped agent with its own context budget — the same pattern that prevents a 5-agent system from costing like a 50-agent one.
Production-deployed for an FMCG client. Some configuration and client-specific logic has been abstracted for open-source release.
MIT