-
Set your API Key Add your API key to
backend/.env:OPENAI_API_KEY=your_key_here
-
Run the Backend
cd final_project/backend source venv/bin/activate pip install -r requirements.txt # or install dynamically uvicorn main:app --reload --host 127.0.0.1 --port 8000
-
Run the Frontend
cd final_project/frontend npm install npm run dev
Open http://localhost:5173 to interact with the Biodiversity Sentinel Agent!
Este proyecto implementa un chatbot inteligente impulsado por Pydantic AI (modelo: openai:gpt-4o-mini). Su función principal es analizar proactivamente (de forma simulada y conectada a prompts del usuario) informes de datos satelitales, sensores medioambientales y cámaras trampa, para asistir en la protección de los ecosistemas y prevenir la tala o pesca ilegal, enviando alertas a las autoridades competentes.
La solución se divide en los siguientes componentes:
-
Frontend (React + Vite + TailwindCSS):
- Provee una interfaz de usuario conversacional Premium, estéticamente diseñada con temáticas oscuras ambientales y estilos modernos.
- Utiliza componentes de CopilotKit (
@copilotkit/react-uiy@copilotkit/react-core) para renderizar el chat, integrándose al 100% con el estándar AG-UI.
-
Backend (FastAPI):
- Un servicio web mínimo y rápido que levanta el endpoint REST
/chat. - Se comunica instantáneamente con la UI recibiendo mensajes
RunAgentInpute instanciando un stream de texto y llamadas a herramientas (SSE - Server Sent Events) gracias al uso del adaptadorAGUIAdapter.dispatch_request.
- Un servicio web mínimo y rápido que levanta el endpoint REST
-
Agente (Pydantic AI):
- Configurado con un System Prompt integral como agente protector botánico y biopreservador.
- Herramientas asíncronas (
@agent.tool) de monitoreo:analyze_satellite_imageryanalyze_ocean_sensorsanalyze_wildlife_camerasalert_authorities
- Fundamentos de LLMs y Prompting: System prompt con instrucciones precisas para encasillar al modelo y dotarlo de las reglas de conservación.
- Bucle de Agente y Herramientas (Tools): Implementación de Pydantic AI
@agent.toolincluyendo docstrings claros para que el modelo decida por si solo enviar llamados a diferentes ecosistemas. - FastAPI y Streaming: API modular manejando múltiples peticiones en paralelo utilizando Server-Sent Events (SSE) en su propia ruta independiente, libre de bloqueos.
- AG-UI Protocol: Completo desacoplamiento frontend-backend que permite compatibilidad cruzada de renderizado de interfaces de agente.
Desarrollado para el proyecto final del curso SuperPower AI Crash Course - Biodiversidad.