Système agentique intelligent pour gérer et rechercher dans Raindrop.io via son API, intégrant 3 design patterns (Planner-Executor, Tooling, Reflection) avec suivi rigoureux des coûts en tokens et évaluation quantitative.
Le système repose sur une architecture modulaire où chaque composant a une responsabilité claire :
- Agent Principal : Orchestrateur des modules
- Planner : Décomposition de requêtes complexes en sous-tâches
- Executor : Exécution séquentielle des plans
- Reflection : Auto-évaluation et amélioration des résultats
- Tool Manager : Gestion des appels API Raindrop
- Python 3.10+
- Ollama installé et configuré
- Token d'accès Raindrop.io API
- Installer Ollama : https://ollama.com
- Télécharger un modèle :
ollama pull llama3:8b - Lancer le serveur :
ollama serve - Installer les dépendances Python :
pip install -r requirements.txtCopier .env.example vers .env et remplir les variables :
RAINDROP_TOKEN=votre_token_ici
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=llama3:8b
Lancer le serveur FastAPI :
uvicorn src.api.main:app --reloadAccéder à la documentation Swagger : http://localhost:8000/docs
# Recherche sémantique
curl -X POST http://localhost:8000/api/query \
-H "Content-Type: application/json" \
-d '{"query": "Trouve tous mes articles sur le machine learning"}'
# Organisation intelligente
curl -X POST http://localhost:8000/api/query \
-H "Content-Type: application/json" \
-d '{"query": "Quelles collections contiennent le plus de contenus non tagués ?"}'LLM-2026/
├── src/ # Code source principal
├── tests/ # Tests unitaires et d'intégration
├── data/ # Scénarios de test et données
├── analysis/ # Notebooks d'analyse des coûts
├── demo/ # Vidéo de démonstration
└── docs/ # Documentation et rapport
- Planner-Executor : Séparation planification/exécution
- Tooling : Function calling vers Raindrop API
- Reflection : Auto-évaluation et amélioration
Les métriques sont collectées automatiquement dans data/costs.csv :
- Tokens consommés par appel
- Latence par scénario
- Taux de succès
- Coûts estimés
Voir analysis/analyze_costs.ipynb pour l'analyse détaillée.
Groupe de 4 étudiants - Projet LLM 2026