JI
JimeFioni/agente-carniceria-ia
Agente de Ventas AI para una Carniceria- Utilizando GeminiAI- GCP- Whatsapp_ Streamlit
🤖 Agente de Ventas con IA para Carnicería
Sistema inteligente con Streamlit + Google Gemini AI
Simulador de WhatsApp con inteligencia artificial para automatizar ventas de carnicería con dashboard en tiempo real.
🚀 Características Principales
- 🤖 IA Conversacional: Powered by Google Gemini 2.5 Flash
- 📱 Simulador WhatsApp: Interface que simula conversaciones reales
- 📊 Dashboard Interactivo: Streamlit con métricas en tiempo real
- 🥩 Catálogo Especializado: Base de conocimientos de productos cárnicos
- 💬 Chat en Tiempo Real: Conversaciones persistentes con historial
- 📈 Analytics Avanzado: Visualizaciones con Plotly
- ⚡ Modo Demo: Funciona sin API key para desarrollo
🏗️ Arquitectura
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ │ │ │ │ │
│ 👤 Cliente │ │ 🤖 CarniceriaAI │ │ 📊 Dashboard │
│ (Simulador) │◄──►│ Gemini 2.5 Flash │◄──►│ Streamlit │
│ │ │ │ │ │
└─────────────────────┘ └─────────────────────┘ └─────────────────────┘
│
▼
┌─────────────────────┐
│ 🥩 Catálogo │
│ + Analytics │
│ │
└─────────────────────┘
📂 Estructura del Proyecto
agente-carniceria/
├── 📁 src/ # Módulos principales
│ └── carniceria_ai.py # 🧠 Motor de IA con Gemini
├── 📁 demo/ # Dashboard Streamlit
│ ├── streamlit_app.py # 📊 Aplicación principal
│ └── Demo Whatsapp CaniBot.mp4 # 🎥 Video demostración
├── 📁 models/ # Modelos para futuras funcionalidades
│ ├── customer.py # Modelo de clientes
│ ├── order.py # Modelo de pedidos
│ └── product.py # Modelo de productos
├── 📁 services/ # Servicios para expansiones futuras
│ └── whatsapp_service.py # Servicio WhatsApp Business
├── .env # 🔐 Variables de entorno (local)
├── .env.example # 📋 Plantilla de configuración
├── .gitignore # 🚫 Archivos excluidos de Git
├── requirements.txt # 📦 83 dependencias Python
├── carniceria_productos.csv # 📋 Datos de productos
├── config.py # ⚙️ Configuración para futuros usos
├── main.py # 🚀 FastAPI para expansiones
├── logo.png # 🎨 Logo del proyecto
└── README.md # 📖 Documentación actualizada
🛠️ Instalación Rápida
1. Preparar Entorno
# Clonar repositorio
git clone <repository-url>
cd agente-carniceria
# Crear y activar entorno virtual
python -m venv .venv
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows
# Instalar dependencias
pip install -r requirements.txt
2. Configurar API (Opcional)
# Editar .env para agregar tu API key de Gemini
# GEMINI_API_KEY=tu_api_key_aqui
#
# ℹ️ Sin API key funciona en modo demo
3. Ejecutar Dashboard
# Ejecutar aplicación
streamlit run demo/streamlit_app.py
# 🌐 Abrir en navegador: http://localhost:8501
🎮 Cómo Usar
1. Dashboard Principal
- Dashboard: Overview y métricas
- WhatsApp Demo: 🔥 Simulador de chat con IA
- Analytics: Visualizaciones y reportes
- Productos: Gestión de inventario
- Configuración: Ajustes del sistema
2. Simulador de WhatsApp
- Ir a la pestaña "WhatsApp Demo"
- Escribir mensajes como cliente:
- "Hola, ¿qué tal?"
- "¿Cuánto sale el bife de chorizo?"
- "¿Tienen stock de asado?"
- "Quiero 2 kilos de bife de chorizo"
- Observar respuestas inteligentes de la IA
3. Controles Disponibles
- 🗑️ Limpiar Chat: Borrar conversación
- 🔄 Reiniciar Bot: Reiniciar IA
- 📊 Ver Analytics: Métricas detalladas
🤖 Motor de IA
Productos Disponibles
| Producto | Precio/kg | Stock | Descripción |
|---|---|---|---|
| Bife de Chorizo | $3,500 | 45kg | Corte premium de novillo |
| Asado | $2,800 | 38kg | Corte tradicional argentino |
| Vacío | $3,200 | 25kg | Jugoso y sabroso |
| Entraña | $3,800 | 20kg | Tierno con sabor intenso |
| Chorizo Parrillero | $800/unidad | 50 unidades | Casero |
Tipos de Consultas
- Precios: "¿Cuánto sale el bife de chorizo?"
- Stock: "¿Tienen asado disponible?"
- Recomendaciones: "¿Qué me recomendás para el asado?"
- Pedidos: "Quiero 2 kilos de bife de chorizo"
- Conversación: Saludos e interacciones naturales
📋 Requisitos
- Python 3.10+ (recomendado 3.11+)
- Streamlit 1.50+
- Google Gemini AI (opcional - funciona en modo demo)
- 84 dependencias incluidas en requirements.txt
🔧 Troubleshooting
Problemas Comunes
# Error de módulos
source .venv/bin/activate
pip install -r requirements.txt
# Verificar instalación
python test_environment.py
# Verificar que Streamlit funciona
streamlit --version
Obtener API Key de Gemini
- Ir a Google AI Studio
- Crear nueva API key
- Agregar a
.env:GEMINI_API_KEY=tu_api_key_aqui
🧹 Proyecto Optimizado
Estructura Limpia
Este proyecto ha sido optimizado eliminando archivos legacy y manteniendo solo los componentes esenciales:
✅ Núcleo Funcional:
src/carniceria_ai.py- Motor de IA completodemo/streamlit_app.py- Dashboard interactivo.env- Configuración de variablesrequirements.txt- 83 dependencias optimizadas
🔧 Preparado para Expansión:
models/- Estructuras de datos para futuras funcionalidadesservices/- Servicios modulares listos para integraciónmain.py- Backend FastAPI preparadoconfig.py- Sistema de configuración centralizado
🚫 Archivos Eliminados:
- Documentación obsoleta (SETUP.md, STREAMLIT_FEATURES.md)
- Scripts de prueba innecesarios (test_environment.py)
- Configuraciones legacy (package.json, setup.py)
- Archivos JavaScript obsoletos (src/services/, src/models/, src/*.js)
- Directorios vacíos (logs/, config/)
- Archivos de cache (__pycache__/, *.pyc, .DS_Store)
- Demos redundantes (demo/requirements.txt, demo/*.js)
🚀 Próximos Pasos
- WhatsApp Business API: Integración real
- Más productos: Expandir catálogo
- Analytics avanzados: Métricas detalladas
- Sistema de pedidos: Funcionalidad completa
📈 Características Técnicas
Stack Tecnológico
- Frontend: Streamlit + Plotly
- IA: Google Gemini 2.5 Flash
- Backend: Python + Módulos especializados
- Datos: CSV + Session State
- Chat: Sistema de mensajería en tiempo real
Funcionalidades IA
- Procesamiento NLP: Entendimiento natural del lenguaje
- Cálculos automáticos: Precios y totales en tiempo real
- Recomendaciones: Sugerencias personalizadas
- Memoria de conversación: Contexto persistente
- Modo demo: Respuestas predefinidas sin API
🤝 Contribución
- Fork el repositorio
- Crear rama feature (
git checkout -b feature/nueva-funcionalidad) - Commit cambios (
git commit -am 'Agregar nueva funcionalidad') - Push rama (
git push origin feature/nueva-funcionalidad) - Crear Pull Request
📄 Licencia
MIT License - ver archivo LICENSE para detalles.
📞 Soporte
- GitHub Issues: Reportar problemas
🎉 ¡Listo para automatizar tu carnicería con IA!
Desarrollado con ❤️ usando Streamlit + Google Gemini AI