Talking to your field data on Signal
| At a glance | |
|---|---|
| For | Sugarcane growers using SmartCane |
| What it does | Answers questions about a farmer’s own fields, in the language they write in |
| Built with | signal-cli, R, SQLite, a local Mistral NeMo 12B model in Ollama, ChromaDB with nomic-embed-text for retrieval |
| Status | In development |
| My role | Building it |
SmartCane sends out a weekly report. That works, but a farmer’s question doesn’t always fit the week. Why is my field flagged? Should I harvest now? What does CI mean?
So I’m building a chatbot on Signal that lets farmers “talk to their data”, on demand. When a message comes in, the bot checks who sent it, loads the latest indicators for that farmer’s fields, adds the weather, and looks up background from a small knowledge base. That knowledge base has about fourteen short documents on growth phases, diseases, pests, irrigation, nutrition, weeds and harvesting, plus optional agronomy documents from SASRI. All of that goes to a language model that runs on our own machine, and the answer goes back on Signal in the language the farmer wrote in. If the model is down, the farmer gets a short fallback message instead of silence.
Related: SmartCane