Agri & Rural Voice Agents
Agri & Rural Voice Agents
Farmer-advisory bots (crop guidance, mandi/market prices, weather alerts, government scheme status) serve users who are frequently on 2G/3G connections, basic phones, and regional-language-only speech. Voice is often the only accessible interface here, not a convenience layer on top of an app. This vertical shares a lot with Government Services, the same accessibility bar and the same need to avoid stating unverified facts as certain, but adds connectivity constraints and domain content (crops, weather, mandi prices) that the other guides don’t cover.
There’s no dedicated example agent for this vertical yet in the cookbook, so this guide includes a full one, built on the same pattern as the Government Scheme Agent, which already covers PM-Kisan and other farmer-relevant schemes.
In short: design for a bad connection first, ground every price/weather answer with a live tool call instead of the model’s memory, and reuse the Government Services pattern for scheme questions instead of duplicating it.
Architecture
- Tool calls from the LLM step: mandi price lookup, weather API, scheme status
Design for the connection you'll actually get
Assume PSTN or low-bandwidth mobile data, not a stable broadband WebRTC session. Use 8kHz telephony-friendly audio formats (mulaw/alaw for PSTN legs) and design conversations to survive occasional dropped audio: short turns and a willingness to repeat.
Ground time-sensitive facts with tools, not the model's memory
Mandi prices, weather, and pest advisories are exactly the kind of facts that are wrong the moment they’re not live. Use tool calling to hit a real prices/weather API rather than letting the LLM guess from training data. This matters even more here than in Government Services, because a number like today’s mandi price goes stale in hours, not months.
Keep the conversational turn short and concrete
Same principle as citizen-services bots: short, plain-language turns beat long explanations for a low-literacy, audio-only interface.
Cross-reference scheme content instead of duplicating it
Questions about PM-Kisan status or other scheme eligibility should route to the same grounded-answer pattern as Government Services rather than maintaining a second, possibly inconsistent copy of scheme knowledge.
Recommended models & params
Latency targets
The connection is usually the bottleneck here, not the model. Use streaming STT and TTS as the default, but design your retry/reconnect logic assuming the network will drop mid-call more often than in an urban contact-center deployment.
- Keep tool-call round-trips (mandi price, weather) fast and cached where possible. For example, cache a mandi’s price for the trading day so a live lookup doesn’t stack latency on top of an already-slow connection.
- Prefer
sarvam-30boversarvam-105bby default here, specifically because the added latency of a bigger model compounds with network latency in a way it doesn’t on a stable connection.
Pitfalls
Quoting stale prices or weather as current
This is the biggest risk in this vertical. A farmer acting on yesterday’s mandi price or a stale weather forecast has real financial consequences. Always ground these answers with a live tool call, and never let the LLM state a specific number from memory.
Assuming smartphone-level connectivity
Test against 8kHz telephony audio and degraded network conditions, not just a WebRTC demo on office wifi. What works in a browser tab doesn’t necessarily survive a real rural PSTN call.
Over-relying on one language
A single hardcoded target_language_code will exclude farmers outside that language’s region. Auto-detect on STT and pick the TTS voice/language per caller, rather than shipping a single-language deployment and calling it done.
Agronomic or governmental jargon
Pesticide/fertilizer names, scheme acronyms, and technical crop terminology need the same plain-language treatment as Government Services content. Don’t assume agricultural literacy any more than you’d assume digital literacy.
Duplicating scheme content instead of reusing it
If your agri bot also answers PM-Kisan or scheme questions, reuse the grounded, verification-pointing pattern from the Government Scheme Agent rather than writing a second, possibly drifting version of the same facts.
Full example
There’s no published cookbook example for this vertical yet. Here’s a complete agent following the same LiveKit pattern as the Government Scheme Agent, with agri-specific instructions and a tool-calling stub for live mandi prices:
get_mandi_price and get_weather_forecast above are stubs. Wiring them to real data sources is what makes this agent safe to deploy. Without that, don’t let the LLM answer price/weather questions from its own knowledge. See Tool Calling for the full request/response flow.
Install the same dependencies as the other LiveKit examples:
See also: Government Services for the scheme-awareness portion of this audience.