A production-grade agentic document processing system built with LangGraph, Groq Llama 3.3 70B, and Langfuse observability. Upload invoices, expense reports, or booking confirmations, or even your resume - the agent classifies, extracts, validates, and lets you chat with your documents.
- Note : No login required, may take a minute to wake up (Render free tier limits on inactivity)
Every document processing run and chat message is traced in your Langfuse dashboard:
- Full node-by-node traces (load - classify - extract - validate - respond)
- LLM call inputs/outputs with latency
- Per-user session tracking
- Anomaly rates and risk distributions
After uploading documents:
- "What is the total amount on the invoice?"
- "Are there any anomalies across all documents?"
- "Who is the traveler on the booking confirmation?"
- "Summarize all documents in one paragraph"
| Component | Technology |
|---|---|
| Agent framework | LangGraph 0.2+ |
| LLM | Groq Llama 3.3 70B (free tier) |
| Document loading | LangChain PyPDFLoader |
| Observability | Langfuse cloud (free tier) |
| UI | Gradio 4 |
| Backend | FastAPI + Uvicorn |
| Deployment | Render (free tier) |
git clone https://github.com/EESHAK02/doc-processor
cd doc-processor
pip install -r requirements.txtEdit .env with your keys
You need:
- Groq API key - free at https://console.groq.com
- Langfuse keys - free at https://cloud.langfuse.com (create a project, copy Public + Secret keys)
python main.pyOpen http://localhost:7860 in your browser.
- Push this repo to GitHub
- Go to https://render.com -> New -> Web Service
- Connect your GitHub repo
- Set these environment variables in Render dashboard:
GROQ_API_KEYLANGFUSE_PUBLIC_KEYLANGFUSE_SECRET_KEYLANGFUSE_HOST→https://cloud.langfuse.com
- Build command:
pip install -r requirements.txt - Start command:
python main.py - Deploy - Render gives you a public
https://your-app.onrender.comURL