Agente de IA (Microsoft Foundry + Python, azure-ai-projects 2.4) que convierte
la descripcion en lenguaje natural de un dominio de negocio en un modelo de
datos relacional, y entrega:
- DDL (
CREATE TABLEcon llaves primarias y foraneas) - Excel con el listado de campos por tabla y las relaciones
- Diagrama entidad-relacion en formato
.drawio(abrible en diagrams.net)
Antes de escribir cualquier archivo, el agente valida el modelo propuesto
(validar_modelo) y el CLI pide confirmacion humana explicita.
Trabajo final del microprograma "Agentes de IA con Microsoft Foundry + Python".
Ver la guia del proyecto en el repo del curso: curso-fundamentos-ia/materiales/04_trabajo_final.pdf.
entrega/informe_final.pdf: informe resumen del proyecto (ficha, arquitectura, evidencia de pruebas).entrega/*.mp4: video de demostracion (3:00).
Ver docs/arquitectura.md para el diagrama de flujo,
limites y costos.
descripcion en lenguaje natural
-> el agente disena tablas/campos/relaciones
-> validar_modelo (sin errores)
-> confirmacion humana
-> generar_ddl / generar_excel / generar_drawio
-> salidas/<nombre_proyecto>/
python -m venv .venv
# Windows PowerShell:
.venv\Scripts\Activate.ps1
# macOS/Linux:
source .venv/bin/activate
pip install -r requirements-dev.txt # incluye pytest ademas de las deps de runtime
cp .env.example .env
az loginCompleta .env con el endpoint de tu proyecto Foundry y el nombre exacto del
deployment (PROJECT_ENDPOINT, MODEL_DEPLOYMENT_NAME). Deja AGENT_NAME
vacio por ahora.
# 1. Publica (o actualiza) la version del agente en Foundry
python src/crear_agente.py
# Copia el AGENT_NAME que imprime a tu .env
# 2. Corre el agente
python src/agente.pyEl CLI pide una descripcion del negocio (puedes usar como ejemplo el contenido
de data/ejemplo_entrada.txt), muestra el modelo propuesto y pide confirmacion
[s/N] antes de escribir cada artefacto en salidas/<nombre_proyecto>/.
pytest tests/ -vCorren completamente offline (no requieren Azure): validan modelo.py y
herramientas.py -- la logica de validacion, generacion de DDL, Excel y
drawio -- contra un modelo de ejemplo fijo. Ver el detalle y la matriz de
pruebas end-to-end del agente (que si requieren Foundry) en
docs/pruebas.md.
agente-modelador-datos/
├── src/
│ ├── modelo.py # dataclasses del modelo de datos + JSON Schema
│ ├── herramientas.py # validar_modelo, generar_ddl, generar_excel, generar_drawio
│ ├── crear_agente.py # publica la version del agente en Foundry
│ └── agente.py # CLI: conversacion + loop de function-calling + confirmacion humana
├── tests/test_herramientas.py
├── data/ejemplo_entrada.txt
├── docs/
│ ├── arquitectura.md
│ ├── pruebas.md
│ └── ficha.md
└── salidas/ # artefactos generados (gitignorado)
- Nunca publiques
.env, tokens o credenciales. salidas/esta gitignorado: revisa su contenido antes de publicar cualquier archivo generado, por si describiste un dominio con datos reales.- El agente no ejecuta ninguna escritura en disco sin confirmacion humana explicita en el CLI.
- No subas informacion personal o confidencial en las descripciones de prueba.
- Elimina agentes y conversaciones de prueba en Foundry cuando termines.
Ver docs/arquitectura.md y
docs/ficha.md para riesgos y siguientes pasos.