Este proyecto implementa un agente de IA para Retail utilizando Llama 3.2 (vía Ollama) y Python. Demuestra el patrón de arquitectura Tool Calling (Function Calling), donde el LLM actúa como orquestador de lógica de negocio.
Para una explicación detallada de cómo funciona el Tool Calling desde la perspectiva de un desarrollador de software tradicional (Java/.NET), consulta: 👉 CONCEPTOS_PARA_DEVS
- Antigravity
- Modelo Gemini 3 Pro(High)
- Python 3.x
- Modelo: Llama 3.2 (ejecutado localmente vía Ollama)
- Python 3.8+
- Ollama instalado y ejecutándose
- Modelo llama3.2 descargado en Ollama
Si aún no tienes Ollama instalado:
Windows/macOS/Linux:
# Descarga desde https://ollama.com/download
# O usa el instalador apropiado para tu sistemaDescargar el modelo Llama 3.2:
ollama pull llama3.2Iniciar el servidor Ollama:
ollama serveEl servidor Ollama debe estar ejecutándose en http://localhost:11434 (puerto por defecto).
Navega a la carpeta del proyecto:
cd llm_tool_calling(Opcional) Crea y activa un entorno virtual:
python -m venv venv
# En Windows:
.\venv\Scripts\activate
# En macOS/Linux:
source venv/bin/activateInsta las dependencias:
pip install -r requirements.txtpython main.py- Consulta de Stock: "Necesito verificar el stock de la laptop-001". (Invoca
InventoryService). - Consulta de Atributos: "¿Cuál es el precio del phone-002?". (Invoca
InventoryService). - Pregunta General: "¿Qué opinas del retail?". (Respuesta directa del LLM, sin herramientas).
El modelo Llama 3.2 demostró:
- Excelente capacidad para identificar cuándo necesita información externa
- Correcta extracción de parámetros de las preguntas del usuario
- Buena integración de los resultados de las tools en respuestas naturales
- Capacidad de distinguir entre preguntas que requieren tools y las que no
- Separación de responsabilidades: El LLM decide cuándo llamar a tools
- Flexibilidad: Fácil agregar nuevas tools al sistema
- Transparencia: El sistema muestra claramente cuándo se llama a una tool
- Escalabilidad: El patrón se puede extender a múltiples tools
El proyecto demuestra exitosamente:
- Implementación de function calling con Llama 3.2 (Ollama)
- Creación de una tool personalizada para la vertical de Retail
- Manejo correcto de casos que requieren y no requieren tools
- Integración fluida entre el LLM y funciones Python