AgentIA_infos / README.md
Zkone's picture
Rename README (1).md to README.md
553ea0b verified
|
Raw
History Blame Contribute Delete
3.25 kB
---
title: Veille CI
emoji: 🔎
colorFrom: green
colorTo: yellow
sdk: gradio
sdk_version: "5.0.0"
app_file: app.py
pinned: false
---
# Veille automatisée — Côte d'Ivoire (prototype gratuit)
Pipeline : recherche web → extraction du contenu → synthèse IA avec citations → cache local.
## 1. Obtenir les clés API gratuites (5 min)
### Tavily (recherche web) — gratuit, 1000 requêtes/mois
1. Aller sur https://tavily.com
2. Créer un compte (gratuit, pas de carte bancaire requise)
3. Copier la clé API depuis le dashboard
### Google Gemini (synthèse IA) — gratuit, quota généreux (~1500 requêtes/jour)
1. Aller sur https://aistudio.google.com/apikey
2. Se connecter avec un compte Google
3. Cliquer sur "Create API key"
4. Copier la clé
## 2. Installation
```bash
cd veille-app
pip install -r requirements.txt
```
## 3. Configuration
```bash
export TAVILY_API_KEY="ta_cle_tavily"
export GEMINI_API_KEY="ta_cle_gemini"
```
(Sur Windows PowerShell : `$env:TAVILY_API_KEY="ta_cle"`)
## 4. Lancer
```bash
python app.py
```
L'interface s'ouvre sur http://127.0.0.1:7860
## 5. Déploiement gratuit (optionnel)
Pour rendre l'app accessible en ligne, gratuitement :
1. Créer un Hugging Face Space (type Gradio) : https://huggingface.co/new-space
2. Uploader `app.py` et `requirements.txt`
3. Ajouter `TAVILY_API_KEY` et `GEMINI_API_KEY` dans les "Secrets" du Space (Settings > Repository secrets)
4. Le Space se déploie automatiquement
## Comment ça marche
1. **Recherche** : Tavily cherche les pages web récentes sur le thème + "Côte d'Ivoire", en
priorisant certains domaines fiables (gouv.ci, aip.ci, fratmat.info, etc.) — modifiable
dans `DOMAINES_PRIORITAIRES` en haut de `app.py`.
2. **Extraction** : `trafilatura` nettoie chaque page pour ne garder que le texte utile
(sans pubs, menus, etc.).
3. **Synthèse** : Gemini reçoit les extraits numérotés et génère une synthèse structurée où
chaque affirmation est reliée à sa source `[1]`, `[2]`, etc. Il évalue aussi la fiabilité
des informations.
4. **Cache** : chaque thème recherché est mis en cache 6h dans `veille_cache.db` (SQLite) pour
éviter de repayer une recherche identique. Modifiable via `CACHE_TTL_HOURS`.
## Limites connues de ce prototype
- Certains sites ivoiriens bloquent le scraping ou ont un contenu mal structuré →
`trafilatura` peut échouer à extraire le texte sur certaines pages (ce n'est pas grave,
la source est simplement ignorée).
- Le free tier Tavily (1000/mois) et Gemini (~1500/jour) sont largement suffisants pour un
usage personnel ou une démo, mais à surveiller si tu ouvres l'accès à plusieurs utilisateurs.
- Pas d'authentification utilisateur ni de limitation d'usage — à ajouter avant une mise en
production publique.
## Pistes d'amélioration
- Ajouter des embeddings (Chroma) pour permettre une recherche sémantique dans l'historique
des synthèses déjà générées.
- Filtrer les résultats Tavily par date exacte (`start_date`/`end_date` dans l'API) plutôt
que de compter sur la mention "2026" dans la requête.
- Ajouter un export PDF de la synthèse.
- Permettre à l'utilisateur de choisir la fenêtre temporelle (dernière semaine / mois / an).