Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

agente-modelador-datos

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 TABLE con 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

  • entrega/informe_final.pdf: informe resumen del proyecto (ficha, arquitectura, evidencia de pruebas).
  • entrega/*.mp4: video de demostracion (3:00).

Arquitectura

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>/

Instalacion

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 login

Completa .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.

Uso

# 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.py

El 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>/.

Pruebas

pytest tests/ -v

Corren 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.

Estructura

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)

Seguridad

  • 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.

Limitaciones conocidas

Ver docs/arquitectura.md y docs/ficha.md para riesgos y siguientes pasos.

About

Trabajo final para el curso de Fundamentos IA

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages