À propos du projet

Ce projet est une application d'exemple fullstack qui démontre comment construire une IA conversationnelle augmentée par la recherche en utilisant les modèles Gemini 2.5 de Google et le framework LangGraph. Il combine un frontend React avec un agent backend propulsé par LangGraph qui effectue des recherches web itératives pour répondre aux requêtes des utilisateurs avec des citations. **Fonctionnalités clés** - Architecture fullstack : frontend React (Vite) et backend LangGraph/FastAPI - Génération dynamique de requêtes de recherche à l'aide des modèles Gemini - Recherche web intégrée via l'API Google Search - Raisonnement réflexif pour identifier les lacunes de connaissances et affiner les recherches - Génère des réponses avec des citations provenant des sources collectées - Rechargement à chaud pour le frontend et le backend pendant le développement **Structure du projet** - `frontend/` : application React construite avec Vite, stylisée avec Tailwind CSS et Shadcn UI - `backend/` : application LangGraph/FastAPI contenant la logique de l'agent de recherche **Comment fonctionne l'agent backend** 1. Génère des requêtes de recherche initiales en fonction de l'entrée de l'utilisateur 2. Effectue des recherches web pour chaque requête en utilisant Gemini avec Google Search 3. Réfléchit aux résultats pour identifier les lacunes de connaissances 4. Affine itérativement les recherches (jusqu'à un maximum configurable) 5. Synthétise une réponse finale avec des citations **Pour commencer** - Nécessite Node.js, Python 3.11+ et une clé API Gemini - Backend : `cd backend && pip install .` et définir `GEMINI_API_KEY` dans `.env` - Frontend : `cd frontend && npm install` - Exécutez les deux serveurs de développement avec `make dev` - Exemple CLI : `python backend/examples/cli_research.py "query"` **Déploiement** - La production utilise Docker avec Redis (pour le streaming) et Postgres (pour la persistance) - Construisez avec `docker build -t gemini-fullstack-langgraph -f Dockerfile .` - Exécutez avec `docker-compose up` (nécessite une clé API LangSmith) **Technologies** : React, Vite, Tailwind CSS, Shadcn UI, LangGraph, Google Gemini **Licence** : Apache License 2.0