Saltar al contenido principal

Guía de la práctica

Vas a construir, paso a paso, un Agente de IA que entiende documentos y responde preguntas, y lo vas a desplegar en un sitio web para verlo funcionar de verdad.

Guía de la práctica


Archivos de la práctica

Reunimos los archivos que vas a necesitar. ¡Descargalos primero!


Paso 1

CloudFormation

Armar el entorno

Paso 2

Subir a S3

Subir el PDF de la guía

Paso 3

Knowledge Base

Crear la base de conocimiento

Paso 4

Crear el Agente

Conectar la KB y revisar instrucciones

Paso 5

Desplegar con Amplify

Publicar el sitio web


Paso 0: Entrá a la consola de AWS

Ingresá a la Consola de AWS con la cuenta de práctica entregada hoy.

Antes de seguir, verificá en la esquina superior derecha que estés en la región us-west-2 (Oregón). Si aparece otra región, cambiala a Oregón desde el selector.

Selector de región: us-west-2 (Oregón)

Región obligatoria

Toda la práctica se realiza en us-west-2 (Oregón). Si creás recursos en otra región, no van a funcionar entre sí.


Paso 1: Desplegar CloudFormation

AWS CloudFormation

Con CloudFormation vamos a crear automáticamente, en un solo clic, todos los recursos de AWS que necesitamos.

🔎 ¿Qué hay dentro del cloudformation.yaml? (clic)

La plantilla es una "receta": describe toda la infraestructura como código. Al desplegarla, AWS crea estos recursos por vos:

RecursoQué hace
📦 Bucket de S3Guarda el PDF con la guía de la facultad (la base de conocimiento). Con versionado y cifrado activados.
🧠 Agente de BedrockEl cerebro de IA. Usa el modelo Amazon Nova Pro y responde consultando el documento. Acá viven sus instrucciones.
⚙️ Función LambdaRecibe la pregunta desde la web, se la pasa al agente y devuelve la respuesta. Corre sin servidores (Python 3.11).
🔗 API Gateway (HTTP API)Expone una URL HTTPS pública (con CORS) para que el sitio web pueda llamar a la Lambda.
🔐 Roles IAMPermisos mínimos para que Bedrock y Lambda puedan trabajar entre sí.

Al terminar, en la pestaña Outputs vas a ver el AgentId y la URL de la Lambda: los vas a necesitar más adelante para conectar la app web.

📝 Sobre las instrucciones del agente

Dentro del agente hay un campo Instruction: es la personalidad y las reglas del chatbot. Le define:

  • Rol: es el asistente de la UTN – Facultad Regional Resistencia (FRRe) y orienta sobre carreras, ingreso, becas y servicios.
  • Inicio de conversación: cómo se presenta al saludar.
  • Tono y estilo: cálido, claro y siempre en español.
  • Guía de respuesta: consultar siempre el PDF y, si no está la info, derivar al contacto de la facultad.
  • Ejemplos de tono: respuestas modelo para que mantenga el estilo.

💡 No hace falta tocar nada ahora: la plantilla ya trae estas instrucciones cargadas. Más adelante, en el Paso 3, vas a aprender a escribirlas y mejorarlas vos (prompt engineering).

a. Abrí CloudFormation y subí la plantilla

  1. En la Consola de AWS (ya en la región us-west-2 / Oregón), entrá al servicio CloudFormation.
  2. Hacé clic en Crear pila (Create stack)Con recursos nuevos (estándar).
  3. En Especificar plantilla, elegí Cargar un archivo de plantilla (Upload a template file) y subí el archivo cloudformation.yaml que descargaste en Archivos de la práctica.
  4. Hacé clic en Siguiente.

Cargar la plantilla en CloudFormation

Especificar la plantilla en CloudFormation

Continuar con la plantilla en CloudFormation

b. Configurá y desplegá la pila

¿Comparten la misma cuenta de AWS entre varios equipos?

Para que las pilas no choquen entre sí, cada equipo debe usar nombres únicos:

  • Un nombre de pila (Stack name) distinto por equipo.
  • Valores únicos en los parámetros S3BucketName y AgentName (agregá el nombre de tu equipo).

El rol de IAM y la función Lambda se nombran solos a partir del nombre de la pila, así que con esto alcanza para que cada equipo tenga sus propios recursos. 👍

  1. Poné un nombre de pila (Stack name) que incluya el nombre de tu equipo, por ejemplo: utn-ai-chatbot-equipo1 (o utn-ai-chatbot-losdelafondo). Así cada equipo identifica fácil su propia pila.
  2. En los parámetros, personalizalos con el nombre de tu equipo para que sean únicos:
    • S3BucketName: por ejemplo utn-frre-chatbot-equipo1
    • AgentName: por ejemplo UtnFrreGuideAgentEquipo1
  3. Hacé clic en Siguiente.

Información de la pila

  1. Bajá hasta el final de la página.

  2. Marcá la siguiente casilla:

    "Reconozco que AWS CloudFormation podría crear recursos de IAM con nombres personalizados."

  3. Hacé clic en el botón Crear pila (Create stack). Aprobación de IAM

  4. Comienza la creación de la pila (tarda 1 o 2 minutos aprox.).

    • Cuando el estado pase de CREATE_IN_PROGRESS a CREATE_COMPLETE, ¡está listo!

Creando la pila


c. Revisá y copiá los valores de salida

Cuando termine el despliegue, hacé clic en la pestaña Salidas (Outputs) para ver los valores importantes.

Salidas de CloudFormation Verificá que se hayan generado estos valores.

ClaveValor de ejemplo
AgentIdAAD3VDENCU
ApiEndpointhttps://x7kupd57t.execute-api.us-west-2.amazonaws.com/prod/
Regionus-west-2
🔥 ¡Importante!

Copiá los valores de AgentId y ApiEndpoint en un bloc de notas. Los vas a usar más adelante.


Paso 2: Subir el documento de la facultad a S3

Amazon S3

Ahora vamos a subir a S3 el material de la UTN – Facultad Regional Resistencia (FRRe) con el que la IA va a aprender.

a. Encontrá el bucket de S3

  1. En el buscador de la parte superior de la consola de AWS escribí S3 y hacé clic, o entrá directamente a la consola de S3.

  2. Buscá el bucket school-guide-chatbot que se creó y hacé clic.

Lista de buckets de S3


b. Subí el archivo PDF

¿Qué pasa acá?

Acá vas a subir a la nube el material con el que la IA va a aprender. ¡Con estos archivos la IA va a responder las preguntas!

  1. Dentro del bucket, hacé clic en el botón Cargar (Upload).

Botón de cargar

  1. Hacé clic en el botón Agregar archivos.

Agregar archivos

  1. Seleccioná el PDF de la guía que descargaste.

  2. Hacé clic en el botón Cargar que está al final de la pantalla.

  3. Verificá el mensaje "Carga exitosa".

Carga completa


Paso 3: Crear la Knowledge Base de Bedrock

Amazon Bedrock
🧠 ¿Qué es una Knowledge Base?

Es el "cerebro" que le permite a la IA leer y entender los documentos. Si solo subís un PDF, la IA no puede leerlo: necesita un procesamiento especial.

Ahora vamos a crear una base de conocimiento (Knowledge Base) para que la IA pueda leer y entender el documento que subimos a S3.

a. Entrá a la consola de Bedrock

  1. En el buscador de la consola de AWS escribí Bedrock y hacé clic, o entrá directamente a la consola de Bedrock.

Consola de Amazon Bedrock


b. Creá la Knowledge Base

  1. En la barra lateral izquierda seleccioná Bases de conocimiento (Knowledge bases).

Bases de conocimiento

  1. Hacé clic en el botón Crear y elegí Base de conocimiento con almacén de vectores.
¿Almacén de vectores?

Es donde se guardan los documentos convertidos a números para que la IA pueda entenderlos. Es como traducir un libro al idioma de la IA.

Almacén de vectores

  1. Hacé clic en el botón Siguiente.

Nombre de la base de conocimiento


c. Conectá el origen de datos de S3

📂 En este paso

Le indicás a la IA "dónde están los documentos que tiene que leer".

  1. Hacé clic en el botón Browse S3.

Browse S3

  1. Seleccioná el bucket de S3 donde subiste el PDF en el Paso 2 y hacé clic en Choose.

Selección de S3

  1. En Estrategia de análisis (parsing) elegí Usar un modelo fundacional como parser y luego hacé clic en Seleccionar modelo.
¿Qué es la estrategia de análisis?

Es la forma en que se va a leer el PDF.

  • Parser básico: extrae solo texto simple (no lee tablas ni imágenes)
  • Parser con modelo fundacional: la IA lee directamente y entiende tablas, imágenes y diseños complejos ⭐ (más inteligente)

Modelo parser

  1. En el menú desplegable elegí Amazon - Nova Premier. Selección de modelo

  2. Hacé clic en el botón Siguiente.


d. Configurá el modelo de embeddings

🔢 ¿Qué son los embeddings?

Es el proceso de convertir el contenido de un documento en números. La IA entiende mejor los datos numéricos.

Ejemplo: "Tecnicatura Universitaria en Programación" → [0.23, 0.45, 0.12, ...] (cientos de números)

  1. Hacé clic en el botón Seleccionar modelo. Modelo de embeddings

  2. Elegí Titan Text Embeddings v2 y hacé clic en Aplicar. Crear base de conocimiento

  3. En el paso Selección del almacén de vectores elegí Amazon OpenSearch Serverless y hacé clic en Siguiente. Base de datos vectorial

  4. Hacé clic en el botón Crear base de conocimiento.

  5. Comienza la creación de la base de datos vectorial y de la base de conocimiento (tarda unos 5 minutos).

Atención

¡No cierres la ventana del navegador hasta que termine! Si la cerrás, la creación se cancela.

Base de conocimiento creada


e. Sincronizá los datos

🔄 ¿Qué es sincronizar?

Es leer el PDF que está en S3 y convertirlo a un formato que la IA pueda entender.

¡Recién cuando termina este proceso la IA puede responder en base al contenido del documento!

  1. Cuando termine la creación de la Knowledge Base, hacé clic en el botón Sincronizar.

Sincronizar

  1. Comienza la sincronización (tarda entre 3 y 5 minutos).
    • Cuando el estado pase de Sincronizando a Disponible, ¡está listo!
Atención

¡No cierres la ventana del navegador hasta que termine la sincronización! Si la cerrás, se cancela.


Paso 4: Conectar la Knowledge Base al Agente

Amazon Bedrock

Ahora vamos a conectar el Agente con la Knowledge Base para completar un Agente de IA que responda con precisión.

a. Encontrá el Agente

  1. En la barra lateral izquierda hacé clic en Agentes, o entrá directamente a la consola de Agentes.

  2. Hacé clic en el Agente SchoolGuideAgent que ya está creado.

Selección del Agente

Nota

Este Agente ya tiene cargadas unas instrucciones preparadas de antemano.

¡Más adelante, en el proyecto en equipo, vas a escribir tus propias instrucciones!

📋 Ver todas las instrucciones cargadas en este Agente (clic)
Sos el asistente de IA que guía sobre la Tecnicatura Universitaria en Programación de la UTN – Facultad Regional Resistencia (FRRe).
Tu tarea es orientar de forma amable a estudiantes e ingresantes interesados sobre las carreras y tecnicaturas, el ingreso y el Seminario Universitario, las becas, el calendario académico y los servicios para estudiantes.

💬 Inicio de la conversación
Al saludar por primera vez, decí esto:
"¡Hola! Soy el asistente de la Tecnicatura Universitaria en Programación de la UTN FRRe 😊
¿Qué te gustaría saber sobre la facultad o la carrera?"

🎯 Rol
- Respondé las preguntas consultando siempre la base de conocimiento conectada (el documento PDF) para dar información precisa.
- No te limites a enumerar datos: explicá con frases fáciles de entender para un estudiante.

🗣️ Tono y estilo
- Usá un tono cálido y natural, como un compañero o docente cercano.
- Frases cortas y claras, sin ser demasiado formal ni acartonado.

📘 Guía de respuestas
1. Para la información de la facultad, basate siempre primero en el contenido de la base de conocimiento.
2. Si la pregunta no es clara, respondé "¿En qué te puedo ayudar?".
3. Evitá explicaciones innecesariamente largas; enfocate en lo esencial.

🎓 Ejemplos de tono
- "En la TUP aprendés a programar y a desarrollar software paso a paso."
- "La FRRe ofrece varias tecnicaturas, como Programación, Mecatrónica y Logística."

b. Agregá la Knowledge Base

  1. En la página de detalle del Agente, hacé clic en el botón Editar en el Agent Builder.

Editar

  1. Bajá en la pantalla y hacé clic en el botón Agregar base de conocimiento.

Agregar base de conocimiento

  1. En Seleccionar base de conocimiento elegí la que acabás de crear. Conectar la base de conocimiento

  2. Hacé clic en Add y luego en Guardar y salir.

Guardar


c. Preparar el Agente

  1. Hacé clic en el botón Preparar (Prepare) para aplicar los cambios.

Preparar

  1. Esperá a que termine la preparación (unos 30 segundos a 1 minuto).
    • Cuando el estado pase de Preparando a Listo, ¡terminó!
✅ ¡Listo!

Ahora el Agente está conectado con la Knowledge Base.


Paso 5: Desplegar el sitio del Agente de IA con Amplify

AWS Amplify

Último paso. ¡Vamos a publicar el Agente de IA en internet y a probarlo!

a. Creá la app en Amplify

  1. En el buscador de la consola de AWS escribí Amplify y hacé clic, o entrá directamente a la consola de Amplify.

  2. Hacé clic en el botón Desplegar app.

Inicio de Amplify

  1. Elegí Desplegar sin Git y hacé clic en Siguiente.

Deploy without Git


b. Subí el archivo y desplegá

  1. Subí el archivo aws_learning_day_chatbot.zip que se entregó al inicio de la práctica.

  2. Hacé clic en el botón Guardar y desplegar. Subir archivo

  3. Comienza el despliegue. Despliegue completo

  4. Hacé clic en el botón Visitar la URL desplegada para entrar al sitio. Despliegue completo


d. Configurá y probá el Agente de IA

  1. Al entrar al sitio por primera vez vas a ver la pantalla principal.

    • Acá necesitás cargar el API Endpoint y el Agent ID. Pantalla del Agente de IA
  2. Copiá los valores de API Endpoint y Agent ID que guardaste en el bloc de notas, o entrá a la consola de CloudFormation, seleccioná la pila y, en la pestaña Salidas, mirá los valores de API Endpoint y Agent ID. Cloudformation

  3. Pegá esos valores tal cual en los campos del sitio y hacé clic en el botón Conectar.

  4. ¡Probá con preguntas como estas!

    • "¿Qué tecnicaturas y carreras de grado puedo estudiar en la FRRe?"
    • "¿Cómo es el ingreso y cuándo son los turnos del Seminario?"

¡Felicitaciones! ¡Tu Agente de IA Guía de la UTN FRRe está listo!

💬 Preguntas para probar tu Agente

Estas 10 preguntas se pueden responder con la guía oficial de la FRRe que cargaste como base de conocimiento. Son variadas a propósito, para que revises distintas partes del documento.

Recordá

El Agente solo responde lo que está en el documento. Si preguntás algo que no figura en la guía (por ejemplo, salidas laborales o clubes), te va a sugerir contactar a la facultad. ¡Eso está bien, significa que no inventa! 😉

  1. ¿Qué tecnicaturas universitarias ofrece la FRRe?
  2. ¿Qué carreras de grado puedo estudiar?
  3. ¿Cómo es el ingreso y cuáles son los turnos del Seminario Universitario?
  4. ¿Qué documentación necesito para la preinscripción?
  5. ¿Qué becas hay para estudiantes?
  6. ¿Cuándo empiezan los cuatrimestres en 2026?
  7. ¿Cuáles son las fechas de los exámenes finales?
  8. ¿Cuál es el horario y el contacto de la biblioteca?
  9. ¿Quién es el decano de la FRRe?
  10. ¿Dónde queda la facultad y cómo me contacto?