Logo Lanfrica

Bakari1548/wolof-voice-agent

Domaine:

natural language processing

Type de record:

software
Créateur:
Bak
Hôte:
# Wolof Voice Agent — Squelette (LangGraph + Groq/Gemini) Pipeline : **App mobile (audio wolof) → STT Dikkte → texte wolof → traduction wolof→français → agent LangGraph (Groq) avec tools par domaine métier → traduction français→wolof → TTS Oolel → audio renvoyé**. Les actions irréversibles (créer une commande, annuler une commande, initier un paiement) déclenchent une **demande de confirmation explicite** via le mécanisme `interrupt` de LangGraph, avant exécution réelle. ## Structure ``` app/ main.py # FastAPI : /voice-query, /debug/text-query, /confirm config.py # config centralisée (.env) core/ llm.py # init du modèle agent (Groq ou Gemini, singleton) db.py # client MongoDB partagé (utilisé par le checkpointer) graph/ state.py # AgentState : état partagé du graphe prompts.py # system prompt (langage simple, oral) nodes.py # noeuds : appel agent, exécution des tools builder.py # construction du StateGraph + checkpointer MongoDB tools/ # tools de l'agent, un fichier par domaine métier catalogue.py # rechercher_produit, obtenir_prix, verifier_disponibilite commande.py # panier (RAM), creer_commande, statut, annuler (avec interrupt) livraison.py # estimer_delai, verifier_zone_couverte paiement.py # lister_moyens_paiement, initier_paiement (avec interrupt) navigation.py # expliquer_ecran support.py # repondre_faq models/schemas.py # schémas Pydantic services/ stt.py # audio -> texte (dikkte HF wolof, Whisper local ou ElevenLabs) translation.py # wolof français via Gemini agent_runner.py # façade d'appel au graphe (invoke / confirm) tts.py # texte wolof -> audio (Oolel-Voices) ``` ## Démarrage rapide ```bash python -m venv venv source venv/bin/activate pip install -r requirements.t …