Logo Lanfrica

Steven3-art/AgroVoice-CallE-Hackathon

Domaine:

agriculturenatural language processing

Type de record:

project
Créateur:
Ste
Hôte:
"AI-powered voice calls to collect real-time data from cocoa farmers in Cameroon — built with CALL-E" # 🌱 AgroVoice **AI-powered voice calls to collect real-time harvest data from cocoa farmers in Cameroon — no smartphone, no app, just a phone call.** Built for the **CALL-E: Your Code Is Calling** hackathon. --- ## The problem Most cocoa farmers in Cameroon don't own smartphones and have no realistic way to fill out a digital form. But nearly all of them own a basic phone. AgroVoice calls them directly, in French with an authentic Bulu-language greeting, asks three simple questions, and turns their spoken answers into clean, structured, analysis-ready data — automatically. ## How it works ``` Farmer phone number │ ▼ CALL-E places an AI voice call (French + Bulu greeting/closing) │ ▼ CALL-E extracts a NATIVE structured result, validated against a strict JSON schema (village, harvest_bags, logistics_issues, call_outcome) — no separate LLM guesswork needed │ ▼ SQLite (persistent storage) ──► Excel report + aggregated stats ``` ### Key design decision: honest data, always Earlier prototypes of this pipeline hardcoded fallback values (a fake village name, a fake bag count) whenever extraction was ambiguous. This version **never fabricates data** — if CALL-E cannot produce a schema-valid result, the record is explicitly flagged `NOT_EXTRACTED` rather than silently guessed. ## Tech stack - **Python 3** — pipeline orchestration - **CALL-E** REST API — AI voice calling with native structured extraction (`result_schema`) - **SQLite** — persistent local storage - **pandas** — data aggregation & Excel export ## Getting started ### 1. Prerequisites - Python 3.9+ - A CALL-E account with API access (sign up) - Your CALL-E API key from dashboard.heycall-e.com ### 2. Install dependencies ```bash pip install requests pandas openpyxl ``` ### 3. Set your API key **Never hardcode your API key.** Set it as an environment variable instead: ```bash # Windows (CMD) set CALLE_API_KEY=your_real_key_here # Windows (PowerShell) $env:CALLE_API_KEY="your_real_ …