KrishokChat
Safety-aware Bengali agricultural advisory RAG with crop disease vision diagnostics.

1. Problem Context & Objectives
Bangladesh has roughly one agricultural extension officer per thousand farm families. When a farmer needs to know how to treat a disease or whether a pesticide is safe, the information gap is real and it has direct consequences: a misread dosage can destroy a season's crop or poison the user. Existing chatbots hallucinate chemical advice, and every farmer expects a straight answer in Bengali, spoken in six major regional dialects.
2. Technical Architecture & Implementation
Built a four-stage agent pipeline — safety screening → dual-stage retrieval (BM25 k1=2.2/b=0.4 + FAISS mE5-small) → grounded generation → verification — that stops unsafe queries before they reach a model, routes photos through a crop classifier to per-crop disease models, and writes every decision to an audit log. Provenance-locked answers are extracted verbatim from 284 official publications, never generated. A local audit trail and a streaming, staged chat UI make the system inspectable end-to-end.
3. Outcomes, Benchmarks & Empirical Validation
The companion benchmark (85,979 instances, 4 tracks, 6 dialects) showed no frontier LLM is safe for farm advice without grounding: even with gold evidence, a 4.05–7.00% chemical-hallucination floor remains. The system itself demonstrates what the fix looks like — a safety sink, refusal taxonomy, and provenance gating — and is used as the reference implementation for evaluating safer advisory systems. Deployment prototype; evaluation harness and dataset released openly.
Source Code Inspection & Local Replication
This system is maintained in an open-source repository with full git commit history, environment configuration templates (.env.example), and dependency manifests.