A WhatsApp assistant for smallholders in Riau.
Oil palm smallholders in Rokan Hulu ask their questions on WhatsApp and get answers from the project’s training materials: in plain language, with a source, around the clock. We built the assistant for Preferred by Nature.
- How do I prevent erosion on a slope?
- Plant ground cover between the palms and don’t burn plant residues. Roots and leaves hold the soil in heavy rain.Source: Module 2 Soil Health – Slopes
Answers only from the materials.
The assistant finds the relevant passages in the training materials and answers in two or three simple sentences. If something isn’t in the materials, it doesn’t make it up.
With a source
Every answer says which document it comes from, with a link to the original if you want one.
- How much compost do I give a three-year-old palm?
- My materials don’t give an amount for three-year-old palms. But I can explain how to make compost from palm fronds.Source: Module 7 Fertilisation – Compost
A picture says it faster.
Ask for a picture and you get the matching illustration from the materials, with a caption and a source.
Images from the documents
When the documents are imported, their illustrations are described so that search can find them.
- Is there a picture of that?
- Ground cover between the rows of palms.Source: Module 2 Soil Health – Figure 4
Understands follow-up questions too.
On its own, “And what else?” gives a search nothing to find. So the assistant first uses the conversation so far to turn the follow-up into a complete question, and only then searches.
The farmers’ language
A glossary translates local expressions into the terms used in the materials.
- How do I prevent erosion on a slope?
- And what else?Searching for: other ways to prevent erosion on a slope
- Dig small pits or terraces along the contour lines so the rainwater doesn’t run straight off.Source: Module 2 Soil Health – Erosion control
And says honestly when it doesn’t know.
The assistant doesn’t answer questions outside the materials. Instead of guessing, it says it is unsure and asks for more detail.
Only with a good match
If no passage in the materials fits the question well enough, the farmer gets a follow-up question instead of a guess.
- Who is Indonesia’s forestry minister?
- Sorry, based on my materials I’m not yet sure of the answer. Could you describe it in more detail, for example the age of the plants, the condition of the soil, or the problem you’re having right now?
The team reads along.
All conversations arrive in one inbox at the cooperative’s office. The team can reply themselves and use a WhatsApp template to invite farmers to training sessions.
Every question logged
Each one is stored with the passages found and the response time. A dashboard shows how many questions the assistant answers on its own.
- CooperativeInvitation: compost training on Saturday at 8 am at the cooperative’s office.
- I’ll be there, thanks!
How an answer comes about
Retrieval-augmented generation, or RAG for short: first search your own materials, then answer.
-
Materials in
The project’s training materials, as PDFs. A tool converts them to text, describes the illustrations and packs everything into a zip file for import.
-
Split into sections
Each document is split along its chapters into short sections and indexed in a vector database, together with its title, chapter and priority.
-
Searched for what was meant
The question, the rewritten follow-up and the glossary version are searched together. More important documents count a little more.
-
Answer or follow-up question
A language model writes a short answer with a source from the best sections. If the material isn’t enough, the farmer gets an honest follow-up question instead.
Guardrails built into the code
An assistant for people who rely on its answers needs more than a good model.
Do your people need answers on the go?
Volunteers, field staff, members: if the knowledge is in your materials, an assistant can bring it to WhatsApp. Tell us what people ask.
Frequently asked questions
Which language model is behind it?
Any model with an OpenAI-compatible API, both for the answers and for the search. That can be a large provider or a model you host yourself. If the search model changes, the materials are re-indexed.
What happens if an answer is wrong?
Every question is logged with the sections that were found, so the team can see where an answer came from. If you want, farmers can rate answers with a thumbs up or down, and the analysis shows where the materials need improving.
Which language does the assistant answer in?
In Rokan Hulu it answers in Bahasa Indonesia, the language of the materials. Search works across languages, and if you want, the assistant answers in the language of the question. The conversations on this page are translated.
Could this work for our organisation?
Yes, if you have knowledge your people need on the go, for example volunteers, field staff or members. It runs on Frappe, like our NPO software Good NPO. Tell us in a call what your people ask.
Book a call with Benedikt