0% encontró este documento útil (0 votos)
128 vistas242 páginas

Material Compilado

La clase se centra en la introducción a la API de OpenAI y la generación de prompts, con el objetivo de comprender su funcionamiento y los diferentes modelos de IA. Se realizarán interacciones en vivo, microdesafíos y se proporcionará contenido pregrabado para reforzar el aprendizaje. Además, se abordará el proyecto final que implica crear una solución a un problema utilizando herramientas de IA.

Cargado por

herpared
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
128 vistas242 páginas

Material Compilado

La clase se centra en la introducción a la API de OpenAI y la generación de prompts, con el objetivo de comprender su funcionamiento y los diferentes modelos de IA. Se realizarán interacciones en vivo, microdesafíos y se proporcionará contenido pregrabado para reforzar el aprendizaje. Además, se abordará el proyecto final que implica crear una solución a un problema utilizando herramientas de IA.

Cargado por

herpared
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

¡Les damos la

bienvenida!
¿Comenzamos?
Esta clase va a ser
grabada
Semana 1. IA: Generación de prompts

Introducción a la API
OpenIA
Objetivos de la clase

Comprender qué es el prompt


-

Conocer los diferentes modelos de IA.

Realizar una prueba de la API de openAI

Interactuar con los distintos tipos de modelos.


COMISIÓN N° XXXXXX

Presentación
del equipo
✔ Profesor/a responsable: Lorem Ipsum
✔ Tutores y tutoras:

○ Lorem ipsum ○ Lorem ipsum


○ … ○ …
○ … ○ …
○ … ○ …
○ … ○ …
○ … ○ …
○ … ○ …
Presentación
de estudiantes
Por encuestas de Zoom

1. País
2. Conocimientos previos
3. ¿Por qué elegiste este curso?
ACUERDOS Y COMPROMISOS

Equipo
✓ Intercambia ideas por el chat de la plataforma.
✓ Siempre interactúa respetuosamente.
✓ No te olvides de valorar tu experiencia educativa y
de contarnos cómo te va.
Interacciones
en clases en vivo
INTERACCIONES CLASE EN VIVO

Mientras el
profesor explica
Para mantener una comunicación clara y fluida a lo largo
de la clase, te proponemos mantener 2 reglas

1. Si tienes dudas durante la explicación, debes


consultarle directamente por privado a tu tutor por
el chat de Zoom.
INTERACCIONES EN CLASES EN VIVO

Espacios para
consultas
2. Durante la dinámica de cada clase se abrirán breves
espacios de consulta. Allí puedes escribir en el chat
tu pregunta.

¡Tu duda puede ayudar a otras personas!


No olvides seleccionar “todos” para que todos
puedan leerte.
INTERACCIONES EN CLASES EN VIVO

Funcionalidades
Para evitar saturar el chat de mensajes, Por ejemplo: si se pregunta si se
utiliza los signos que figuran en el apartado escucha correctamente, debes
Participantes, dentro de Zoom.** seleccionar la opción “Sí” o “No”.

**Para quitar el signo, presiona el mismo botón nuevamente o la opción “clear all”.
CoderFlex
Contenido Pregrabado Microdesafíos

Cada semana encontrarás disponible en la Encontrarás disponible en la plataforma un


plataforma contenido asincrónico, en formato microdesafío correspondiente a cada semana. Son
audiovisual (videos, tutoriales, podcast, etc) .Es instancias prácticas breves relacionadas con el
requisito que veas este material en forma Contenido Pregrabado. Si bien no requieren
previa a cada clase en vivo 🙌 entrega, te recomendamos llevarlos al día. En cada
clase en vivo se realizará una puesta en común en
torno a ellos.

Clases en vivo

Cada semana deberás asistir a una clase en vivo


de dos horas. El objetivo es poner en práctica y
profundizar sobre el Contenido Pregrabado. Está
orientada a ejemplos en vivo, actividades
colaborativas y prácticas.
INFORMACIÓN DEL CURSO

Plataforma
En el margen superior izquierdo
encontrarás el menú.
¡Hola, Eliana!
✓ Desde allí podrás acceder
a Mis cursos y ver la
comisión en la que estás
inscripto, fechas y
horarios de clase.
✓ Ingresando en Ir al curso
accederás a información
específica.
INFORMACIÓN DEL CURSO

Mis cursos
Desde esta sección, podrás acceder
a la información de tu curso:
✓ Número de comisión.
✓ Nombre del curso.
✓ Semana de cursada.
✓ Evaluaciones aprobadas en
“Desafíos y Proyecto Final”.
Más abajo podrás acceder al
contenido del curso.
INFORMACIÓN DEL CURSO

Tutor
En esta sección podrás
ver el nombre de tu tutor.
A través del chat podrás
comunicarte para realizar
consultas si fuera
necesario.
INFORMACIÓN DEL CURSO

Chat

Chat: Podrás acceder al


María

canal de tu comisión o
comunicarte con tu tutor.

Mateo
INFORMACIÓN DEL CURSO

Asistencia

En la sección Top 10
podrás ver tus asistencias,
entregas, fechas.
Preentregas y Proyecto Final
¿Qué son?
Preentregas Proyecto Final

Actividades que les permitirán avanzar en el El Proyecto Final se debe subir a partir de la
desarrollo del Proyecto Final. Deberán ser última semana del curso. Tienes hasta 10 días
subidas a la plataforma hasta 7 días luego de la después de esa fecha para cargarlo en la
clase para ser corregidas por tu profesor/a. plataforma.
PROYECTO FINAL

Entrega Nombre Fecha

Idea Alquímica: Tejiendo el Futuro con Prompt


1° preentrega Semana 2
Engineering

2° preentrega Fast Prompting en Acción: Desentrañando la Magia Semana 4

Proyecto Final IA: Entretejiendo Imaginación y Algoritmos Semana 6


¿Cuál es nuestro
Proyecto Final?
PROYECTO FINAL

IA: Entretejiendo
Imaginación y Algoritmos
Resumen consigna:

Crea una solución a un problema de la temática que


elijas usando OpenIA u otras herramientas. En dicha
solución aplicarás los dos modelos vistos durante el
curso: texto-texto, texto-imagen y lo presentarás en
Jupyter para combinar texto, código e imagen.

Puedes consultar la consigna completa aquí


PROYECTO FINAL

Proyecto Final de referencia

En este archivo podrás ver un Proyecto Final


resuelto que te servirá como referencia.

¡Esperamos que te resulte inspirador!


REPASO

Semana 1
En esta semana aprendiste: ✓ API de OpenAI para interactuar con
modelos de texto.
✓ Qué es el prompt.
✓ API de OpenAI para utilizar Dall-e y
✓ Diferentes tipos de modelos, generar imágenes.
generación de texto, generación de
imágenes. ✓ Uso del prompt, ejemplos y resultados.
Puesta en común
microdesafío
¡Vamos a recuperar lo trabajado durante la semana!

Duración: 10 minutos.
PUESTA EN COMÚN - MICRODESAFÍO

ChatGPT y el razonamiento lógico


Ahora que hemos aprendido qué es un prompt, empezaremos a conocer la
capacidad de razonamiento lógico de los modelos basados en Inteligencia
Artificial.
Te presentaremos una serie de situaciones para las que deberás
desarrollar el prompt para que ChatGPT te de la respuesta que esperas.

Acceso a la consigna completa 🚀


¡Buen trabajo! 😎
¿La IA razona?
Si bien las respuestas a las situaciones del
microdesafío podrían parecernos simples u obvias, eso
sucede porque como humanos tenemos la capacidad
de razonar.

Pero… ¿Podríamos decir que la Inteligencia Artifical


razona?

En cierto sentido sí, aunque tiene sus limitaciones


porque carece de un verdadero entendimiento.
¿Y entonces…?
Los modelos de Inteligencia Artificial pueden
brindarnos la respuesta que esperamos porque este
tipo de modelo genera respuestas basadas en
patrones aprendidos a partir de grandes cantidades
de datos contextuales. Pero no tienen la capacidad de
comprender el significado de manera profunda.
Tipos de razonamiento del
microdesafío

Situación 1: verdad y Situación 2: Situación 3: Lógica


mentira comparación matemática
Los modelos de IA son Los modelos de IA evalúan Los modelos de IA pueden
capaces de evaluar la las relaciones y sacar conclusiones
veracidad de una similitudes entre basadas en principios
afirmación basándose diferentes elementos. Los lógicos o reglas
en patrones aprendidos patrones aprendidos les matemáticas. Son
durante el permiten establecer capaces de realizar
entrenamiento. conexiones y jerarquías operaciones lógicas, como
entre conceptos AND, OR y NOT, así como
basándose en la manipulaciones
información que les fue matemáticas para resolver
proporcionada. problemas.
Entrenamiento
Los entrenamientos son instancias en las cuales se
brinda grandes cantidades de datos a los modelos de
Inteligencia Artificial, buscando que puedan aprender
patrones y relaciones entre la información.

Este proceso es iterativo y se considera que un


entrenamiento es óptimo u aceptable cuando el
modelo logra brindar las salidas (respuestas)
correctas.
¿Preguntas?
Te invitamos a dejar tu
pregunta a través del
chat

Break
¡En 10 minutos volvemos!
RECOMENDACIONES

Recomendaciones para la conexión


a la API
✓ Tener API key creada ✓ Elegir el modelo dependiendo
de la complejidad de la tarea
✓ Proteger el API key

✓ Minimizar cantidad de
consultas
Para pensar
Considerando lo que has aprendido esta
semana ¿Cómo explicarías con tus palabras
qué es un prompt?

Puedes responder por el chat de Zoom


Prompts
El prompt es la manera que tenemos de comunicarnos
con los sistemas de inteligencia artificial. Algo muy
particular de los prompts es que un mismo prompt
puede generar resultados ligeramente distintos debido a REEMPLAZAR
la forma en la que están construidos estos modelos. Es POR IMAGEN
por esto que para evaluar los resultados de un prompt,
en cuanto a calidad por ejemplo, resulta fundamental
analizar varias iteraciones y estudiar los resultados de
forma estadística.
Generación de
imágenes
Duración: 5/10 minutos
ACTIVIDAD

Generación de imágenes
Consigna: Desarrolla el prompt para que un Te recomendamos que utilices Nightcafe o
modelo de texto-imagen te brinde un cualquier otra herramienda sugerida en el
resultado lo más parecido posible a las repositorio del curso.
imágenes que te mostraremos a
continuación.

Modo hard: Hazlo una sola vez por cada


imagen,
ACTIVIDAD

Generacion de imagenes
con dalle
Consigna: A partir de este prompt: QUiero que generes la imagen de un mono
simpatico escuchando musica con auriculares.
Los alumnos generaran imagenes utilizando este ejemplo como base de los guiones:
(reemplazar la api por https://creator.nightcafe.studio/)

La idea de hacer esto en clase es que lo alumnos puedan ver que un mismo prompt
genera diferentes imagenes. Explicar un poco esto ya que son redes generativas que
parten del ruido para generar la imagen. UN mismo input produce outputs distintos
Puesta en común
Duración: 10 minutos
Generación de Prompts
PARA PENSAR

¿Por qué un
mismo prompt
genera imágenes
diferentes?

Puedes responder por el chat de Zoom


Inicialización aleatoria: Los modelos de IA suelen tener procesos de
inicialización aleatoria, lo cual implica que haya diferencias en sus
entrenamientos. Esto da como resultado que haya diferencias en sus salidas.

Ruido aleatorio: El mismo se introduce durante los procesos de generación e


influye en el resultado final.

Espacio latente: Hay modelos que producen pequeñas variaciones en el


espacio donde son codificadas las características de los datos de entrada.

Variabilidad interna: Según su arquitectura, también pueden producirse


cambios en las activaciones de la red neuronal del modelo.
Para pensar

Estos modelos generan grandes beneficios a la


humanidad y no tienen consecuencias
negativas.

¿Verdadero o falso?
Puedes responder por el chat de Zoom
¿Cuánto cuesta entrenar un
modelo de IA como chatGPT 4?
700.000 8400 100
Litros de agua costó
entrenar el modelo Kg es la huella de Millones de dólares
chatGPT4. carbono anual. costó entrenarlo.
El equivalente para
enfriar un reactor
nuclear.

Fuente: Xataka
Te compartimos los
siguientes
recomendaciones
RECOMENDACIONES

Te recomendamos
✓ El prompt debe redactarse de forma ✓ Refinar el prompt hasta obtener los
clara, que exprese el problema a resultados esperados.
resolver.
✓ Tener paciencia, muchas veces un
✓ Un prompt no es mejor por ser corto, pequeño cambio en la escritura genera
sino por ser claro. un gran cambio en el resultado.

✓ La API de openAI tiene costo, es


importante usarla siendo conscientes
de esto.
MATERIAL AMPLIADO

✓ Difusión estable vs. DALL·E 2: ¿Qué generador de imágenes es


mejor? | Harry Guinness
✓ Los mejores generadores de imágenes con IA en 2024 | Harry
Guinness
Resumen
de la clase hoy
✓ ¿Que es el prompt?
✓ Diferentes tipos de modelos, texto-texto,
texto-imagen
✓ API openIA
✓ Uso de la API para generar imágenes
¡A tener en cuenta!

Recuerda que, a partir de ahora, tienes


disponible el contenido pregrabado de la
semana 2 en la plataforma. Es requisito que lo
veas en forma previa a la próxima clase.
La próxima semana
Los próximos temas que vamos a ver

Contenido Pregrabado Clase en vivo (2h)

✓ Video 2.1 - Roles de usuario y asistente en la API ✓ Modelo texto a texto


OpenAI
✓ Video 2.2 -Sumarización y traducción de texto
✓ Video 2.3 - Generación de contenido con
ChatGPT
Preentrega 1
✓ Video 2.4 - Generación de código utilizando el
prompt
✓ Video 2.5 - Recomendaciones para el Proyecto ✓ Idea Alquímica: Tejiendo el Futuro con
Final II Prompt Engineering
✓ Video 2.6 - Explorando el universo OpenAI
✓ Microdesafío - Sumarización
Opina y valora
esta clase
Muchas gracias.
#DemocratizandoLaEducación
¿Sabías que
premiamos a nuestros estudiantes
por su dedicación?
Conoce los beneficios del Top 10
🎓
¡Gracias por estudiar
con nosotros!
Microdesafío
ChatGPT y el
razonamiento lógico - 01
MICRODESAFÍO

ChatGPT y el razonamiento lógico

Consigna
Ahora que hemos aprendido qué es un prompt, empezaremos a conocer la
capacidad de razonamiento lógico de los modelos basados en Inteligencia Artificial.
Te presentaremos una serie de situaciones para las que deberás desarrollar el
prompt para que ChatGPT te de la respuesta que esperas.

Importante: no elimines esta actividad de tu historial de OpenAI, ya que lo


retomaremos en la clase en vivo.

Recuerda:
Los microdesafíos si bien no requieren entrega, en cada clase en vivo se realizará una puesta en común en torno a ellos. Te
recomendamos realizarlo para poner en práctica los contenidos pregrabados.
MICRODESAFÍO

ChatGPT y el razonamiento lógico


Situación 1

● Hay dos tipos de personas: uno que siempre dice la verdad, y otro que siempre miente.
Una persona del primer grupo enuncia algo.

Objetivo
● Debes desarrollar un prompt para que ChatGPT te indique si el enunciado es verdad o no.
MICRODESAFÍO

ChatGPT y el razonamiento lógico


Situación 2

● Una persona corre más rápido que otra, quien a su vez, corre más rápido que una tercera
persona.

Objetivo
● Debes desarrollar un prompt para que ChatGPT te indique quién corre más rápido y quién
más lento.
MICRODESAFÍO

ChatGPT y el razonamiento lógico


Situación 3

● Sabes que 5 gatos pueden cazar a 5 ratones en 5 minutos.

Objetivo
● Debes desarrollar un prompt para que ChatGPT te indique cuánto tiempo se necesita para
que 100 gatos cacen a 100 ratones.
¡Les damos la
bienvenida!
¿Comenzamos?
Esta clase va a ser
grabada
Semana 2. IA: Generación de prompts

Modelo texto a texto


Objetivos de la clase

Utilizar la API de OpenAI de manera eficaz para crear prompts.

Desarrollar habilidades en la generación de resúmenes


automáticos.

Aplicar lógica matemática en la creación de prompts.

Dominar la traducción automática de texto con la API de OpenAI.


REPASO

Semana 2
En esta semana aprendiste: ✓ Sumarización de una frase o texto.

✓ Conexión con la API de OpenAI desde ✓ Resolución de una ecuacion simple.


una jupyter notebook.
✓ Traducción de texto.
✓ Uso del prompt para actividades
específicas.
Puesta en común
microdesafío
¡Vamos a recuperar lo trabajado durante la semana!

Duración: 10/ 15 minutos


PUESTA EN COMÚN - MICRODESAFÍO

Sumarización
Vamos a observar la capacidad de los modelos de IA para
realizar tareas específicas. En este caso, aplicaremos
sumarización de texto.
Elige un grupo de whatsapp que quieras, y pídele a OpenAI que
te haga un resumen.

Acceso a la consigna completa 🚀


¡Buen trabajo! 😎
¿Preguntas?
Te invitamos a dejar tu
pregunta a través del
chat
Para pensar
Considerando lo que has aprendido esta
semana y el microdesafío que has realizado
¿Cómo explicarías con tus palabras qué es la
sumarización?

Puedes responder por el chat de Zoom


Sumarización
La sumarización en modelos de Inteligencia Artificial
refiere al proceso a partir del cual estos modelos pueden
comprender información contextual, y devolver un
resumen de la misma, siendo capaces de identificar los
puntos más significativos,
Esto es posible debido a…
Modelos de atención: es aquello que le permite a la IA enfocarse en alguna parte específica
dentro de la información que se le brinda. Permite procesar datos de manera efectiva y
mejora la capacidad del modelo.

Tokenizado: son maneras de representar frases o palabras con vectores numéricos,


logrando que las palabras similares tengan vectores próximos entre sí. Esto le permite a los
modelos de IA comprender significados y relaciones semánticas.

Contextualización: como hemos visto, estos modelos analizan información


contextualizada. Es decir, que en lugar de tomar una palabra aislada, tienen en cuenta la
información cercana a la misma para poder interpretarla.

Transfer learning: los modelos adquieren conocimiento a partir de los entrenamientos.


Cuando transfieren conocimiento están aplicando lo que aprendieron en una tarea a otra
similar.
Ejemplo en vivo
En los videos de esta semana aprendimos a
traducir un texto, ahora vamos a desafiar aún más
al modelo pidiéndole que ejecute una tarea para
la cual no fue específicamente entrenado.

Duración: 15 minutos
Paso a paso

1 2 3
Momento 1 Momento 2 Momento 3

Conexión con la API Escritura del system Análisis de resultados


de OpenAI seteo del prompt y user prompt
APIKEY

Break
¡En 10 minutos volvemos!
Procesamiento de
lenguaje natural (NLP)
¿Qué es?
El NLP (por sus siglas en inglés) es aquello que permite a
los modelos de IA entender e interpretar contenido y
responder de manera similar a como lo haría un humano.

Se utiliza para que la interacción IA-humano se sienta


más natural, como por ejemplo con asistentes de voz o
chatbots.
Ejemplo en vivo

Dar una instrucción al modelo: veremos a


continuación cómo se puede realizar un
conteo de letras en una frase

Duración: 15 minutos
Paso a paso

1 2 3
Momento 1 Momento 2 Momento 3

Conexión la API de Redacción del Ejecución del ejemplo


openAI. Carga API key, prompt, escritura de y evaluación.
conexión con la API. los roles de usuario,
system y user.
Para pensar
¿Cómo dirías que se vincula el procesamiento
de lenguaje natural con el conteo de
palabras o letras?

Puedes responder por el chat de Zoom


PARA RECORDAR

Contenido destacado
El NLP permite a los modelos interpretar y vincular
las palabras con el prompt. De esta forma, son
capaces de realizar una actividad como contar
palabras o letras.
PARA RECORDAR

Contenido destacado
Adicionalmente, en Python hay librerías como spaCy que pueden
ejecutar la misma función, aunque se limitan exclusivamente a esa
tarea y carecen de la versatilidad de otros modelos. Estas librerías
tienden a enfocarse en tareas más simples al adoptar modelos
más compactos diseñados para funciones específicas. Hoy en día
existe una tendencia hacia la IA basada en modelos más
especializados y de menor envergadura, en lugar de depender de
un único modelo extenso que abarque diversas funciones.
Capacidad de
generalización de los
modelos de IA
Primero, un poco de
historia…
En 1943 Warren McCulloch y Walter Pitts
presentaron su modelo de neuronas artificiales, el
cual se considera el primer trabajo del campo de
inteligencia artificial. Si bien el término aún no
existía, sentaron las bases teóricas para su
desarrollo.

Imagen extraída de CryptoConexion


Prueba de Turing

En 1950, Alan Turing, uno de los padres de la ciencia


de la computación, desarrolló un método para
evaluar si una computadora es capaz de pensar.

Imagen extraída de PHYS


Una computadora puede ser llamada
inteligente si logra engañar a una persona
haciéndole creer que es un humano.

Alan Turing
Generalización en
IA
La generalización es la capacidad que tiene un modelo
de inteligencia artificial o machine learning de aplicar su
aprendizaje a nuevas situaciones o datos que no se
encuentran en su conjunto de entrenamiento original.
En la industria, se entiende que un modelo generaliza
correctamente cuando puede capturar patrones de los
datos que obtenidos.
¿Por qué es
importante?
La generalización es fundamental en el desarrollo
de modelos de IA porque implica que tienen la
capacidad de dar respuestas contextualizadas.
Edad de oro
Sin duda, nos encontramos en un momento histórico con
respecto a la Inteligencia Artificial. Con tan solo ver todo
lo que ha avanzado en los últimos 80 años podemos ver
que no conocemos aún hasta dónde puede llegar.
Por eso, es fundamental que como profesionales nos
mantengamos permanentemente actualizados ya que las
herramientas son iteradas permanentemente.
Preentrega 1
Idea Alquímica: Tejiendo el futuro con Prompt Engineering
PREENTREGA N°1

Idea Alquímica
Deberás desarrollar y presentar tu propuesta para el Proyecto Final, en el cual
seleccionarás una problemática de tu interés y desarrollarás una propuesta de solución
vinculada a la generación de prompts. La propuesta debería ser factible de realizarse.
Iimplementarás la generación de prompts en los dos modelos del curso (texto-texto y
texto-imagen) .

Acceso a la consigna completa 🚀


Recomendaciones para elegir una
problemática

Identifica una temática de tu interés e intenta que tenga relevancia social o


profesional. De este modo, te dará mayor motivación.

Evalúa la disponibilidad de datos: es fundamental que puedas contar con información


suficiente y relevante para desarrollar una solución factible.

Define un objetivo: un objetivo es un horizonte al que quieres llegar, es decir, qué quieres
lograr con tu proyecto.

Factibilidad técnica: cuando presentes una propuesta de solución, pregúntate si es viable


dentro del campo de Generación de prompts.
Resumen
de la clase hoy
✓ API OpenAI
✓ Diferentes roles de usuario (system, user, assistant=
✓ Sumarización de texto.
✓ Traducción de texto.
✓ Resolución de problemas lógicos simples.
¡A tener en cuenta!

Recuerda que, a partir de ahora, tienes


disponible el contenido pregrabado de la
semana 3 en la plataforma.
Es requisito que lo veas en forma previa a la
próxima clase.
La próxima semana
Los próximos temas que vamos a ver

Contenido Pregrabado Clase en vivo (2h)

✓ Video 3.1 - Dall-e para generar imágenes ✓ Modelo texto a imagen


✓ Video 3.2 - Dall-e + ChatGPT para modelo
texto a imagen
✓ Video 3.3 - Stable diffusion
✓ Video 3.4 - Recomendaciones para el
Proyecto Final III
✓ Video 3.5 - De la palabra a la imagen
✓ Microdesafío -Historia inconclusa
Opina y valora
esta clase
Muchas gracias.
#DemocratizandoLaEducación
¿Sabías que
premiamos a nuestros estudiantes
por su dedicación?
Conoce los beneficios del Top 10
🎓
¡Gracias por estudiar
con nosotros!
Microdesafío
Sumarización - 02
MICRODESAFÍO

Sumarización
Consigna
Vamos a observar la capacidad de los modelos de IA para realizar tareas específicas. En
este caso, aplicaremos sumarización de texto.
Elige un grupo de whatsapp que quieras, y pídele a OpenAI que te haga un resumen.
¡Les damos la
bienvenida!
¿Comenzamos?
Esta clase va a ser
grabada
Semana 3. IA: Generación de prompts

Modelo texto a imagen


Objetivos de la clase

Profundizar en modelos texto a imagen


-

Desarrollar ejemplos de uso

Explorar el funcionamiento de las redes generativas adversarias (GAN)


en la generación de imágenes a partir de texto.

Reconocer las limitaciones inherentes a los modelos texto a imagen y


cómo estas pueden afectar la calidad y relevancia de las imágenes
generadas.
REPASO

Semana 3
En esta semana aprendiste: ✓ Variaciones de una misma imagen ante
un mismo prompt.
✓ Uso del prompt para generar imágenes
a partir de texto. ✓ Modelos Stable difussion.

✓ Conexión con la API de dalle de OpenAI


para generar imágenes.
Historia inconclusa

¡Vamos a recuperar lo trabajado durante la semana!

Duración: 10 minutos.
PUESTA EN COMÚN - MICRODESAFÍO

Historia inconclusa
A continuación te presentaremos una serie de oraciones
incompletas. Deberás elegir una, completarla, y luego
desarrollar un prompt para obtener la imagen cómo te
imaginas la frase completa.

Acceso a la consigna completa 🚀


¿Preguntas?
Te invitamos a dejar tu
pregunta a través del
chat
¡Buen trabajo! 😎
Ejemplo en vivo
Desarrollaremos un prompt
para obtener una imagen que
incluya la palabra “Coder”,
buscando que mantenga la
estética de Coderhouse.

Duración: 10 minutos
*Imagen creada con Dall-e
Paso a paso

1 2 3
Momento 1 Momento 2 Momento 3

Definir entre toda la Ejecutar el prompt y Realizar ajustes para


comisión el prompt y evaluar la salida. mejorar el resultado
la herramienta a final.
utilizar
Limitaciones
Los modelos de generación de imagen suelen tener una
dificultad muy grande a la hora de crear imágenes que
contengan texto.
Algunos de los motivos son…
Interpretación contextual: Los modelos pueden tener dificultades para comprender
completamente el contexto y el significado de un texto en una imagen. Es decir, no puede
relacionar al 100% texto con escena visual.

Diversidad de estilos de texto: La variedad de estilos tipográficos y tamaños pueden


dificultar que los modelos generen texto de manera consistente.

Superposición de elementos: cuando el texto se superpone con otros elementos visuales,


como objetos o fondos, los modelos pueden tener problemas para comprender, separar y
representar cada componente.

Coherencia semántica: la garantía de que el texto generado sea semánticamente


coherente con la escena visual completa puede ser un desafío, ya que los modelos deben
comprender el significado del texto en el contexto de la imagen para lograrlo.
PARA RECORDAR

Contenido destacado
A medida que los modelos de generación de imagen
evolucionan, son capaces de asumir mayores desafíos.

Actualmente se trabaja en complejizar los


entrenamientos, implementar arquitecturas más
avanzadas y mejorar técnicas de NLP para obtener
resultados más sofisticados.
Ejemplo en vivo

Vamos a pedirle a
modelos texto-imagen
que generen caras de
personas.

Duración: 10 minutos
Estas imágenes fueron creadas con Dall-e
Paso a paso

1 2 3
Momento 1 Momento 2 Momento 3

Selección de la Redacción del prompt Análisis de resultado


herramienta y reescritura del
prompt.
PARA RECORDAR

Integración a la API
Para tu preentrega 2 y Proyecto Final solo debes
integrar el prompt de la imagen a la API en caso de
que utilices Dall-e.
Si utilizas otra herramienta, directamente deberás
compartir el prompt utilizado y pegar la imagen
en el repositorio.
Limitaciones
Otra limitación de los modelos de generación de imagen
es a la hora de generar caras y manos. Si bien han habido
avances en los últimos tiempos, aún es necesario seguir
mejorándolos.
Algunos de los motivos son…
Variabilidad de texturas: Las pieles tienen distintos tonos, texturas, porosidad y arrugas.
Esto a los modelos le genera dificultad para poder representar una piel realista.

Expresiones y gestos: Para poder lograr expresiones realistas, el modelo debe primero
comprender cómo está compuesto el rostro (forma, huesos, músculo,) y combinar eso con
la emoción o estado que transmite cada expresión.

Posiciones y articulaciones: Las manos son estructuras anatómicas sumamente


complejas, para poder hacerlas correctamente es necesario comprender desde la forma y
escala en el cuerpo hasta el nivel de flexibilidad.

Iluminación y contexto: El correcto manejo de luces y sombras, y comprensión del


contexto del elemento (rostro o mano) dentro de la totalidad de la imagen es necesario
para que el resultado obtenido sea coherente y realista.

Break
¡En 10 minutos volvemos!
¿IA o persona?

Observaremos en conjunto una serie de imágenes


para determinar si fueron creadas por un modelo de
IA o si son ilustraciones o fotografías realizadas por
humanos.

Duración: 15/20 minutos


1 2 3
1 2 3 4
1 2 3
1 2 3
DATO CURIOSO

Lil Miquela
● Año de creación: 2016
● Dato curioso: En 2018, la
revista Time la nominó dentro
de las 25 personas más
influyentes de internet.
DATO CURIOSO

Alba Renai
● Año de creación: 2023
● Dato curioso: Es influencer,
tiene LinkedIn, Instagram y
TikTok.
DATO CURIOSO

Aitana Lopez
● Año de creación: 2023
● Dato curioso: Tiene más de
229K de seguidores en
Instagram. Su contenido se
monetiza, generando
ganancias a sus creadores
Para pensar
¿Por qué las tres modelos parecen mucho más
reales que las imágenes que hemos generado
durante la clase?

Puedes responder por el chat de Zoom


Redes Generativas
Adversarias (GAN)
Redes GAN
Las redes GAN son un tipo de arquitectura de red
neuronal artificial, creada para desarrollar datos
sintéticos que resulten indistinguibles de datos reales.
Una red GAN tiene dos componentes principales: un
generador y un discriminador.
Generador Discriminador
Toma datos aleatorios como entrada Identifica la veracidad de esos
y produce nuevos datos (por datos, con el fin de discernir si son
ejemplo: una imagen) reales o si provienen del generador.

Entrenamiento adversarial
Ambos elementos se mejoran entre sí a través de la
competencia. Cuando uno produce datos más realistas,
el otro puede diferenciar los tipos de datos con mayor
facilidad.

Proceso de mejora continua


Redes GAN
Existe una relación directa entre las redes GAN y los
modelos de generación de imagen, ya que, gracias a su
proceso iterativo, las primeras son las que posibilitan la
generación en base a datos visuales más convincentes.
Generación de ruido
Imagina que estás tratando de ver una imagen
en un televisor antiguo, como los que tenían
antenas y no eran tan nítidos como los de hoy
en día.
A veces, cuando la señal es débil o hay
interferencias, aparece algo llamado "ruido
estático" en la pantalla.
Ruido estadístico
Cuando se trabaja con modelos generativos, como en el caso de
generación de imágenes, el ruido estadístico se refiere a
pequeñas variaciones aleatorias o imperfecciones que se
introducen en los valores de los píxeles de la imagen. Estas
variaciones generan imágenes más realistas y con mayor nivel de
detalle, logrando resultados más naturales.
Podcast de bots
Preentrega
¡La próxima semana se habilita la preentrega #2!

Les recomendamos:
✓ Avanzar con sus preentregas.
✓ Evacuar todas sus dudas en la próxima clase.
✓ Aprovechar también la próxima clase para
compartir sus avances, logros, inquietudes y
aprendizajes 🤩.
Te compartimos los
siguientes
recomendaciones
RECOMENDACIONES

Te recomendamos
✓ Prueba con prompts cortos, no más de ✓ La generación de imágenes que
30 palabras. contengan caras puede no ser perfecta.
Si bien ha mejorado con los últimos
✓ Intenta que sean textos descriptivos de modelos, aún hay trabajo por hacer.
imágenes para facilitar la compresión.

✓ La generación de texto dentro de las


imágenes no es simple, si es posible
tratar de evitarlo
Resumen
de la clase hoy
✓ Generación de imágenes desde prompt utilizando
DALL-E.
✓ Generacion de imagenes desde prompt utilizando
Nightcafe.
✓ Limitantes de los modelos para generar texto.
✓ Redes GAN
¡A tener en cuenta!

Recuerda que, a partir de ahora, tienes


disponible el contenido pregrabado de la
semana 4 en la plataforma. Es requisito que lo
veas en forma previa a la próxima clase.
La próxima semana
Los próximos temas que vamos a ver

Contenido Pregrabado Clase en vivo (2h)

✓ Video 4.1 - Zero prompt shooting ✓ Técnicas avanzadas de prompting I


✓ Video 4.2 - One shoot prompting
✓ Video 4.3 - Few shoot prompting
✓ Video 4.4 - Recomendaciones para el
Proyecto Final IV Preentrega
✓ Video 4.5 - Técnicas poderosas para
prompting efectivo
✓ Fast Prompting en acción: desentrañando la
✓ Microdesafío - Datos personales
magia
Opina y valora
esta clase
Muchas gracias.
#DemocratizandoLaEducación
¿Sabías que
premiamos a nuestros estudiantes
por su dedicación?
Conoce los beneficios del Top 10
🎓
¡Gracias por estudiar
con nosotros!
Microdesafío
Historia inconclusa - 03
MICRODESAFÍO

Historia inconclusa

Consigna Recomendaciones
A continuación te presentaremos una serie de
oraciones incompletas. Deberás elegir una, Puedes utilizar cualquier herramienta de
completarla, y luego desarrollar un prompt para generación de imagen que desees. Recuerda que
obtener la imagen cómo te imaginas la frase cuentas con un repositorio para elegir la que
completa. prefieras. Puedes también experimentar con el
mismo prompt en dos herramientas diferentes.

Recuerda:
Los microdesafíos si bien no requieren entrega, en cada clase en vivo se realizará una puesta en común en torno
a ellos. Te recomendamos realizarlo para poner en práctica los contenidos pregrabados.
MICRODESAFÍO

Historia inconclusa
Oraciones:

● En medio de la gran ciudad…


● Bajo el cielo nublado…
● El zorro en el desierto…
● Dentro del hospital…
● La gran pileta…
● Un cerezo en flor…
● Una niña corría…
● El jugo de naranja…
● Un río congelado…
¡Les damos la
bienvenida!
¿Comenzamos?
Esta clase va a ser
grabada
Semana 4. IA: Generación de prompts

Técnicas avanzadas de
prompting I
Objetivos de la clase

Comprender el enfoque de Zero prompt shooting en la generación de


respuestas.

Aprender estrategias para limitar la cantidad de prompts utilizados.

Desarrollar habilidades para ajustar y mejorar iterativamente los


prompts.
REPASO

Semana 4
En esta semana aprendiste:
✓ Few shoot prompting se brinda una lista
✓ One shoot prompting, prompt sin iterar, de ejemplos más amplias extendiendo
que no tiene ejemplos, se basa 100% en aún más el guiado del modelo hacia la
la capacidad de generalizar del modelo respuesta.

✓ One shoot prompting, es un zero ✓ Cómo forzar la lógica del modelo


prompt shooting que se le suma un creando una paralela utilizando few
ejemplo de cómo debería ser la shoot prompting.
respuesta para guiar al modelo.
Puesta en común
microdesafío
¡Vamos a recuperar lo trabajado durante la semana!

Duración: 10 minutos.
PUESTA EN COMÚN - MICRODESAFÍO

Datos personales
Desarrolla un prompt para filtrar los datos sensibles del
siguiente archivo.
Ejecútalo en ChatGPT y corrobora los resultados.

Acceso a la consigna completa 🚀


¡Buen trabajo! 😎
PARA RECORDAR

En este caso, contamos con un dataset con


poca cantidad de datos. Pero en el mundo
laboral podemos encontrarnos con datasets
tan grandes que nos resultaría imposible hacer
un filtrado de manera manual.
Protección de
datos
En el campo laboral de Prompt Engineering, la protección
de datos tiene una importancia central.

Veamos algunos de los motivos…


Privacidad
La privacidad es un derecho que garantiza a los
ciudadanos la protección contra el acceso no autorizado
o uso indebido de sus datos personales.

En el marco de la Inteligencia Artificial, los modelos


trabajan con inmensas cantidades de datos, por lo cual
deben ser capaces de filtrar información para asegurar la
privacidad de los usuarios.
Marco normativo
Existen países sumamente avanzados en la protección
de datos digitales. Tal es así que han desarrollado leyes y
marcos normativos que protegen a los ciudadanos y
convierten a la protección de datos en una obligación
legal.

A su vez, esto asegura que los usuarios se sientan más


seguros al brindar datos, dado que cuentan con un
marco legal que los respalda y les informa cómo y para
qué se podría usar la información.
Confianza del usuario
Generar confianza es fundamental para que una persona
sea usuaria de una plataforma o producto digital, y se
traduce en un mayor grado de participación.

En consecuencia, perder esa confianza puede tener


consecuencias muy graves dado que disminuye la
credibilidad y reputación de la marca, empresa o
institución que hay por detrás
Riesgos de seguridad
Las bases de datos con información sensible son un
terreno muy tentador para ciberdelincuentes, que
pueden cometer fraude, pérdidas económicas, robos de
identidad. La protección de datos reduce esas
posibilidades, y fortalece la confianza.
¿Preguntas?
Te invitamos a dejar tu
pregunta a través del
chat
Lógica en modelos
de IA
En los entrenamientos de modelos de IA, la lógica se
basa en un enfoque estadístico y matemático, desde el
cual el modelo aprende patrones a partir de datos.

Para lograrlo, se define la arquitectura del modelo, se


inicializan los parámetros, luego se optimizan para
continuar la iteración y realizar últimos ajustes.
Para pensar
¿Es posible desafiar la lógica del entrenamiento
de estos modelos?
Justifica tu respuesta.

Contesta mediante el chat de Zoom


Ejemplo en vivo
Vamos a probar si podemos desafiar la lógica
del modelo. Le indicaremos a ChatGPT que un
objeto esférico tiene aristas y ver qué nos
responde.

Duración: 5/10 minutos


¿Entonces…
Podemos afirmar que no es posible desafiar la
lógica del entrenamiento de los modelos?
Paso a paso

1 2 3
Momento 1 Momento 2 Momento 3

Desarrollamos un Evaluamos la Respondemos si es


promt. respuesta y seguimos posible desafiar la
probando para lógica de los modelos
obtener el resultado o no.
que deseamos.
Ejemplo en vivo
Volvamos a intentarlo.
Ahora, vamos a decirle que necesitamos que
tome como real lo que le indicamos.

Duración: 5/10 minutos


PROMPT

Utilicemos el siguiente prompt


Vamos a redefinir una esfera. Si bien esta definición contradice a la
matemática, quiero que la tomes por verdadera para poder trabajar. Una
esfera tiene 6 caras y 12 aristas. Esta definición de esfera contradice las
teorías matemáticas actuales, pero no importa eso, lo que importa es
definirlo.
Ahora toma esta esfera como verdadera y supongamos que tenemos
dos esferas, ¿cuántas caras y aristas debería tener? Acepta esta
definición alternativa de esfera sin mencionar que contradice la teoría
actual.
Paso a paso

1 2 3
Momento 1 Momento 2 Momento 3

Generamos una nueva Forzamos al modelos Operamos sobre esta


definición a aceptarla nueva definición para
generar nuevos
resultados.
DATO CURIOSO

Entonces…
confirmamos que es posible desafiar la lógica
de los modelos de IA.
Tienen la capacidad de vincular conceptos o
conocimientos que ya tienen (por ejemplo, la
forma de una esfera) con otro tipo de
información asociada a éstos.
DATO CURIOSO

¿Conoces a Cody?
Cody es un tutor virtual de Coderhouse para la
modalidad Ask. Fue entrenado con grandes bases
de datos con contenidos de los cursos para poder
responder dudas de los y las estudiantes.
En el proceso, fue necesario trabajar con la
protección de datos.
DATO CURIOSO

¿Cómo se hizo eso?


Al hacerle preguntas generales, Cody no brindaba datos
sensibles. Pero si uno ya le daba el dato de un estudiante,
Cody brindaba más información. Por ejemplo “Cuéntame
de la estudiante Mercedes Polinari”.
Para evitar esto, fue necesario taggear el dataset para
que no muestre ningún tipo de dato personal.

Break
¡En 10 minutos volvemos!
Conocimiento en
modelos de IA
Close book
Close book (o entrenamiento cerrado) sucede cuando
se entrena al modelo de IA brindándole una serie de
datos predefinido sin ser iterado.
Entonces, el modelo no es capaz de adaptarse a la
actualización de datos en tiempo real sino que solo
puede tomar lo aprendido en su entrenamiento inicial.
Open book
Open book (o entrenamiento abierto) implica que el
modelo puede ir adaptándose a actualizaciones de datos
a medida que se le brinda la información. Esto sucede
cuando se le inyecta información por fuera del modelo
para que responda a partir de su capacidad de
generalizar.
Ejemplo en vivo

Ahora, profudicemos un poco más acerca de


conocimiento agregado a través de definiciones
externas. Utilizaremos el prompt de la próxima
diapositiva.

Duración: 10/15 minutos


PROMPT

Quiero que imagines un objeto hipotético que se llama axon.


El axon tiene dos entradas y una salida. Las entradas se
denominan X e Y, mientras que la salida se denomina Z.
El axon tiene la capacidad de generar siempre respuestas
matemáticamente incorrectas. Por ejemplo, la suma de dos
números 1+2=5.
La salida del axon es siempre la suma de sus dos entradas,
pero su salida debe ser una respuesta errónea. Ahora quiero
que calcules la salida Z de este objeto hipotético donde x=1 e
y=-1. La salida debe ser solo el número del resultado sin
justificación.
Ejemplo en vivo
Vamos a proponerle una tarea un poco más
compleja para evaluar si puede comprender cómo
funciona el axon.

Duración: 10/15 minutos


PROMPT

Si la salida para las entradas 2 y 1 es 3,


¿Podríamos decir que se trata de una
operación hecha por un axon?
Para pensar
¿Qué tipo de prompt hemos utilizado para
forzar la lógica?

Contesta mediante el chat de Zoom


PARA RECORDAR

Contenido destacado
Con este tipo de ejemplos, podemos notar que
estos modelos no solo tienen la capacidad de
generar respuestas sobre objetos
hipotéticos, sino que también pueden realizar
operaciones sobre los mismos.
Preentrega 2
Fast Prompting en acción
PREENTREGA N°#2

Fast Prompting en acción


Desarrollarás una POC (proof of concept) que permita, a través de una
jupyter notebook, mostrar una implementación utilizando las técnicas de
Fast prompting para solucionar el problema seleccionado.

Acceso a la consigna completa 🚀


Te compartimos los
siguientes
recomendaciones
Resumen
de la clase hoy
✓ One shoot prompting y Zero prompt shooting
✓ Protección de datos
✓ Lógica en modelos de IA
✓ Close book y Open book
¡A tener en cuenta!

Recuerda que, a partir de ahora, tienes


disponible el contenido pregrabado de la
semana (número) en la plataforma. Es requisito
que lo veas en forma previa a la próxima clase.
La próxima semana
Los próximos temas que vamos a ver

Contenido Pregrabado Clase en vivo (2h)

✓ Video 5.1 - El prompt iterativo ✓ Técnicas avanzadas de prompting II


✓ Video 5.2 - Prompting dirigido
✓ Video 5.3 - Ejemplos utilizando chatGPT
✓ Video 5.4 - Recomendaciones para el
Proyecto Final V
✓ Video 5.5 - Uso de prompts en el mundo
profesional
✓ Microdesafío - Tipos de prompts
Opina y valora
esta clase
Muchas gracias.
#DemocratizandoLaEducación
¿Sabías que
premiamos a nuestros estudiantes
por su dedicación?
Conoce los beneficios del Top 10
🎓
¡Gracias por estudiar
con nosotros!
Inteligencia
artificial:
Generación de
Prompts
Alumno: Ruben Hernan Pared
Elección de la
problemática
Idea Alquímica
Temática: voy a trabajar en la generación de un prompt para la creación de historias y libros
infantiles. El mismo genera por un lado la historia textual e incluye imágenes relacionadas con
fragmentos de la narración.

Datos requeridos: el prompt será personalizable en parte, pudiéndose introducir personajes,


edades de los niños .

Objetivo: tiene como objetivo facilitar el trabajo de los docentes, permitirles crear historias creativas
y personalizadas. Está pensado para que las historias siempre dejen una enseñanza y sirvan de
puntapié a temas que se necesiten tratar en el aula.
Idea Alquímica
Desarrollo del Prompt
Idea Alquímica
Respuesta de
ChatGPT 4
Idea Alquímica
Respuesta de
ChatGPT 4
Idea Alquímica
Respuesta de
ChatGPT 4

Ilustración 1
Idea Alquímica
Respuesta de
ChatGPT 4

Ilustración 2
Idea Alquímica
Respuesta de
ChatGPT 4

Ilustración 3
INTELIGENCIA
ARTIFICIAL:
GENERACIÓN DE PROMPTS
PROGRAMA DEL CURSO

CoderFlex
Educación digital
para el mundo real.
IA: GENERACIÓN DE PROMPTS - CODERFLEX

Acerca del curso

En este curso aprenderás acerca del fascinante


mundo de la ingeniería de prompts y también a
comunicarte eficazmente con modelos de lenguaje
avanzados.
También, conocerás el uso eficiente del prompt como
herramienta de comunicación entre los sistemas de IA
y el usuario. Para esto, se desarrollarán temas como la
creatividad del modelo a partir del manejo de la
temperatura de la respuesta y el uso de palabras
claves en el prompt que permitan cambiar la
respuesta.
Trabajarás con la api de OpenAI para ejercitar la
comunicación con el prompt a partir de Python.

PROGRAMA DEL CURSO 03


IA: GENERACIÓN DE PROMPTS - CODERFLEX

Perfil profesional

Al finalizar el curso de Inteligencia Artificial: Generación de


Prompts podrás:
✔ Diseñar y utilizar prompts eficientes para interactuar con
modelos avanzados de lenguaje y obtener respuestas
específicas y detalladas.
✔ Comprender y trabajar con diferentes modos de
interacción, incluyendo texto-imagen.
✔ Aplicar técnicas avanzadas de prompting en escenarios
prácticos y reales, específicamente Interacción Avanzada
con la API de OpenAI.
✔ Configurar y gestionar adecuadamente las llamadas a la
API de OpenAI desde Python, optimizando costes y
tiempos de respuesta.
✔ ✔ Modificar y ajustar parámetros específicos de la API
para adaptar la respuesta del modelo a las necesidades
específicas (modelo Texto-Texto)
✔ Analizar y evaluar las respuestas del modelo para obtener
información relevante y precisa.
✔ Crear instrucciones claras para generar imágenes
específicas a partir de descripciones textuales,
evaluando la calidad y relevancia de cada creación.

PROGRAMA DEL CURSO 03


IA: GENERACIÓN DE PROMPTS - CODERFLEX

Características generales

Modalidad CoderFlex Duración

Online en vivo 6 semanas


+ Contenidos pre-grabados

Nivel de dificultad Dedicación

Intermedio Moderada

Inicial: No requiere de conocimientos Baja: requiere de mínima de una carga de


previos en la disciplina para iniciar la trabajo semanal promedio de 2 horas por
cursada. fuera de la cursada.
Intermedio: requiere de un conocimiento Moderada: requiere de mínima de una carga
básico o experiencia previa mínima en la de trabajo semanal promedio de 4 horas por
disciplina. fuera de la cursada.
Avanzado: requiere de sólidos Alta: requiere de mínima de una carga de
conocimientos o experiencias previas en la trabajo semanal promedio de 6 horas por
disciplina. fuera de la cursada.

PROGRAMA DEL CURSO 04


IA: GENERACIÓN DE PROMPTS - CODERFLEX

Pre-requisitos

Conocimientos previos
Para realizar este curso es deseable contar con:

• Conocimientos básicos de Python como la creación de


entornos virtuales con Conda, instalación de librerías en
Python utilizando pip (se utilizará mayormente numpy,
pandas y las librerías requests y openai).
• Conocimiento y manejo de Jupyter Notebook.
• Conocimientos básicos de estadística (probabilidad,
distribuciones estadísticas básicas, media, desviación
estándar, error cuadrático medio).
• Conocimientos básicos de IA o haber cursado
"Fundamentos de Inteligencia Artificial" de Coderhouse.

Requerimientos
técnicos
Requisitos mínimos: Una PC o laptop con 16GB de memoria
RAM.

PROGRAMA DEL CURSO 04


IA: GENERACIÓN DE PROMPTS - CODERFLEX

Modalidad CoderFlex Nuevo

La experiencia de aprender combinando encuentros prácticos y en vivo


con material teórico y práctico offline, pensado para que puedas
adaptar el proceso de aprendizaje a tu vida.

✓ 1 clase en vivo semanal de 2 horas


✓ Más de 10 horas de contenidos audiovisuales on-demand,
disponibles en nuestra plataforma para acceder en cualquier
momento (videos, infografías, actividades gamificadas y desafíos)

Haz clic aquí para conocer más acerca de CoderFlex

Contenido pre-grabado
Este material, compuesto por videos, podcast, desafíos
y actividades interactivas, se encuentra disponible de
manera asincrónica (puedes acceder a cualquier hora y
las veces que quieras). Te sugerimos visualizarlo y
realizar las actividades cada semana antes de la clase
en vivo.

Clases en vivo

Tendrás una clase en vivo semanal de dos horas. En este


encuentro de carácter práctico, se profundizará el
contenido teórico con ejemplos, buenas prácticas e
instancias de intercambio colaborativo. El objetivo es
consolidar los conocimientos adquiridos y aplicarlos en la
elaboración de un proyecto integrador final.

Proyecto final

Durante tu recorrido aprenderás a partir de la elaboración


progresiva de un proyecto mediante entregas parciales y
una entrega final de carácter integrador.

PROGRAMA DEL CURSO 05


IA: GENERACIÓN DE PROMPTS - CODERFLEX

Te presentamos el recorrido dividido en 5 módulos:

M1
Introducción a la
API OpenIA
✔ Nociones básicas de IA
✔ Introducción a Prompt
Engineering
✔ Modelos disponibles OpenIA
✔ Uso, prueba y ejemplos con
ChatGPT
✔ Uso, prueba y ejemplos con
Dall-e

M2
Modelo texto a texto
✔ Rol de usuario en la API
OpenIA
✔ Sumarización y traducción de
texto
✔ ChatGPT para escribir
contenido
✔ ChatGPT para escritura en
formato latex
✔ Escritura básica de código

M3
Modelo texto a
imagen
✔ Dall-e para generar
imágenes
✔ Dall-e + ChatGPT para
modelo texto a imagen
✔ Stable difussion

PROGRAMA DEL CURSO 06


IA: GENERACIÓN DE PROMPTS - CODERFLEX

M4
Técnicas avanzadas
de prompting texto
✔ Fast prompting: técnica
zero shoot prompting
✔ Fast prompting: técnica
one shoot prompting
✔ Prompting iterativo o
recurrente
✔ Prompting dirigido
✔ Aplicación en ChatGPT

Manejo de datos

M5
desde el prompt
✔ Libreria pandas IA
✔ Creacion de knowledge
graphs

PROGRAMA DEL CURSO 07


www.coderhouse.com

Coderhouse se reserva el derecho de modificar este programa, o cualquiera de los componentes


del curso, cuando lo considere necesario a fin de generar mejoras o actualizaciones.
Repaso Inicial de
Estadística Aplicada
1. Introducción
La estadística aplicada es una disciplina que se encuentra en la
intersección de la matemática y la ciencia de datos, proveyendo las
herramientas necesarias para entender, interpretar y representar
datos de una manera significativa. Se aplica en una amplia gama de
campos incluyendo, pero no limitándose a, economía, psicología´ıa,
ciencias naturales, y más. En este repaso, exploramos conceptos
fundamentales tales como la probabilidad, distintas distribuciones y
medidas centralizadas y de dispersión.

2. Probabilidad
2.1 Definición y propiedades
La probabilidad es una medida matemática que refleja la certeza o
posibilidad de que ocurra un evento específico. Se representa en una
escala de 0 a 1, donde 0 indica que el evento es imposible y 1 indica
que el evento es seguro. La probabilidad se define como:

2.2 Eventos dependientes e independientes


Es vital distinguir entre eventos dependientes e independientes. Los
eventos independientes son aquellos donde el resultado de uno no
afecta el resultado del otro, mientras que los eventos dependientes

1
están correlacionados.

2.3 Problemas prácticos


Ejemplo 1: En el lanzamiento de un dado equilibrado, la probabilidad
de que salga un número impar es:

Ejemplo 2: En una bolsa con 5 bolas rojas y 3 bolas azules, la


probabilidad de sacar una bola roja y luego una bola azul sin
reemplazo es:

3. Distribuciones
3.1 Distribución normal
3.1.1 Definición y propiedades
La distribución normal es una distribución de probabilidad continua
que está completamente caracterizada por su media (µ) y desviación
estándar (σ). Es simétrica y tiene una forma de campana, y su función
de densidad de probabilidad est´a dada por:

2
3.1.2 Regla 68-95-99.7
Esta regla, también conocida como regla empírica, establece que en
una distribución normal:

• Aproximadamente el 68% de los datos caen dentro de una


desviación estándar de la media.

• Aproximadamente el 95% de los datos están dentro de dos


desviaciones estándar de la media.

• Aproximadamente el 99.7% de los datos están dentro de tres


desviaciones estándar de la media.

3.1.3 Problemas prácticos


Ejemplo 1: Considerando una población con una distribución normal
de alturas con µ = 170 cm y σ = 10 cm, podemos usar la regla
68-95-99.7 para determinar qué porcentaje de la población tiene una
altura entre 160 cm y 180 cm (es decir, dentro de una desviación
estándar de la media).

Ejemplo 2: En un set de datos de calificaciones de exámenes con una


distribución normal, se puede utilizar la distribución normal para
encontrar la probabilidad de que un estudiante seleccionado al azar
tenga una calificación superior a un valor dado.

3
3.2 Distribución Uniforme
3.2.1 Definición y propiedades
La distribución uniforme describe un escenario donde cada evento
tiene la misma probabilidad de ocurrir. La función de densidad de
probabilidad para una distribución uniforme continua en el intervalo.

3.2.2 Problemas prácticos

Ejemplo 1: Si estamos esperando un autobús que pasa cada 15


minutos, pero no sabemos nada sobre el horario específico, entonces
el tiempo de espera tiene una distribución uniforme entre 0 y 15
minutos.

Ejemplo 2: En una producción de piezas de maquinaria, si cada pieza


tiene la misma probabilidad de tener un defecto, entonces la
distribución de los defectos sigue una distribución uniforme.

4. Medidas de Tendencia Central y


Dispersión
4.1 Media
4.1.1 Definición y propiedades
La media, también conocida como promedio, es una medida central
que se calcula sumando todos los valores de un conjunto de datos y
dividiendo por el número de observaciones:

4
4.1.2 Problemas prácticos
Ejemplo 1: Para encontrar la media de las calificaciones de un grupo
de estudiantes, sumamos todas las calificaciones y dividimos por el
número de estudiantes.

Ejemplo 2: En un estudio sobre los salarios de una población, la media


ayuda a obtener una idea general del nivel de salarios en esa
población.

4.2 Varianza
4.2.1 Definición y propiedades
La varianza es una medida de dispersión que indica cómo están
dispersos los valores en un conjunto de datos respecto a la media. La
varianza se calcula como:

4.2.2 Problemas prácticos


Ejemplo 1: En una empresa, la varianza de los salarios puede indicar la
equidad en la distribución de los salarios.

5
Ejemplo 2: Al analizar los resultados de un experimento, la varianza
ayuda a entender la variabilidad de los resultados.

5. Conclusión
En este repaso, hemos explorado los fundamentos de la estadística
aplicada, brindando una comprensión profunda de conceptos cŕıticos
como la probabilidad, diferentes distribuciones, y medidas de
tendencia central y dispersóon. La comprensión de estos conceptos
es vital para aplicar técnicas estadísticas avanzadas en la práctica y
para interpretar datos de manera efectiva en una amplia variedad de
campos.

6
Repaso de programación
en Python
1. Introducción
Python, creado por Guido van Rossum y lanzado por primera vez en
1991, es uno de los lenguajes de programación más populares hoy en
día. Es conocido por su simplicidad y legibilidad, lo que facilita el
aprendizaje y uso tanto para principiantes como para profesionales.
En este documento, exploraremos los conceptos básicos de Python,
dando una mirada profunda a su sintaxis, estructuras de datos, y más,
proporcionando una base sólida para aquellos interesados en
adentrarse en el mundo de la programación con Python.

2. Sintaxis Básica
En esta sección, nos adentraremos en los fundamentos de la sintaxis
de Python, cubriendo temas como la identación, variables, tipos de
datos y operadores.

2.1 Identación
Python utiliza la identación para definir bloques de código. La
identación refiere a los espacios al inicio de una línea de código. A
diferencia de otros lenguajes que usan llaves para definir bloques de
código, Python usa la identación, lo que lo convierte en un lenguaje
visualmente más limpio y organizado.
Ejemplo:
if 5 > 2:
print("Cinco es mayor que dos")

En el ejemplo anterior, el bloque de código dentro del if está identado


con dos espacios, indicando que pertenece al if.

1
2.1.1 Buena práctica
Es una buena práctica mantener una identación consistente en tu
código, lo que generalmente se logra usando un editor de código que
automáticamente aplique una identación uniforme.

2.2 Variables
Las variables son contenedores donde podemos almacenar valores.
En Python, las variables se crean cuando se les asigna un valor por
primera vez. Python es dinámicamente tipado, lo que significa que no
necesitamos declarar el tipo de una variable al crearla.
Ejemplo:

x = 5
y = "Hola, mundo"

En el ejemplo anterior, x es una variable de tipo entero y y es una


variable de tipo cadena (string).

2.2.1 Nombres de variables


Los nombres de las variables en Python pueden contener letras,
números y guiones bajos, pero no pueden comenzar con un número.
Es recomendable que los nombres de las variables sean descriptivos
para que el código sea más legible.

2.3 Tipos de datos


Python soporta varios tipos de datos, incluyendo:

• Integers (enteros): Números sin punto decimal.

• Floats (flotantes): Números con punto decimal.

• Strings (cadenas): Secuencia de caracteres encerrados entre

comillas.

• Booleans (booleanos): Valores verdadero (True) o falso (False).

2
Ejemplo:

x = 5 # Entero
y = 5.5 # Flotante
z = "Hola" # Cadena
w = True # Booleano

2.3.1 Casting
Python permite cambiar el tipo de una variable a través de un
proceso conocido como casting. Por ejemplo, podemos cambiar un
flotante a un entero usando la función int().
Ejemplo:
x = 5.5
x = int(x)
print(x) # Salida: 5

2.4 Operadores
Python ofrece una amplia gama de operadores, como operadores
aritméticos para realizar operaciones matemáticas y operadores de
comparación para comparar valores.

2.4.1 Operadores aritméticos


Los operadores aritm´eticos incluyen operaciones básicas como
suma (+), resta (-), multiplicaci´on (*), y división (/).
Ejemplo:
x = 5
y = 2

print(x + y) # Suma
print(x - y) # Resta
print(x * y) # Multiplicación
print(x / y) # División

2.4.2 Operadores de comparaci´on


Los operadores de comparación se usan para comparar dos valores.
3
Incluyen: igual a (==), diferente de (!=), mayor que (>), menor que (<),
mayor o igual a (>=), y menor o igual a (<=).
Ejemplo:
x = 5
y = 2

print(x == y) # Igual a
print(x != y) # Diferente de
print(x > y) # Mayor que

3. Estructuras de Datos
Las estructuras de datos son una forma de organizar y almacenar
datos. Python ofrece varias estructuras de datos integradas, como
listas, tuplas, diccionarios y conjuntos.

3.1 Listas
Las listas son una de las estructuras de datos más versátiles en
Python, utilizadas para almacenar colecciones de ítems en una sola
variable. Las listas están ordenadas, lo que significa que los ́ıtems
tienen un orden definido, y son mutables, lo que significa que
podemos cambiar, agregar, y remover ́ıtems después de que la lista
esté definida.
Ejemplo:
mylist = ["manzana", "banana", "cherry"]
print(mylist)

3.1.1 Acceso a elementos


Podemos acceder a los ítems de una lista refiriéndonos al número de
índice del ´ıtem. Los ´ındices en Python comienzan en 0.
Ejemplo:
mylist = ["manzana", "banana", "cherry"]
print(mylist[1]) # Salida: banana

3.1.2 Modificar elementos

4
Los elementos de una lista pueden modificarse refiriéndose al
número de índice.
Ejemplo:

mylist = ["manzana", "banana", "cherry"]


mylist[1] = "arandano"
print(mylist) # Salida: [’manzana’, ’arándano’,
’cherry’]

3.2 Tuplas
Las tuplas son similares a las listas, pero son inmutables, lo que
significa que no podemos cambiar, agregar, o remover ´ıtems una vez
que la tupla está definida.
Ejemplo:

mytuple = ("manzana", "banana", "cherry")


print(mytuple)

3.2.1 Acceso a elementos


Al igual que las listas, podemos acceder a los ´ıtems de una tupla
utilizando íındices.
Ejemplo:

mytuple = ("manzana", "banana", "cherry")


print(mytuple[1]) # Salida: banana

3.2.2 Inmutabilidad
A pesar de que las tuplas son inmutables, es posible crear una nueva
tupla con contenido modificado tomando porciones de otras tuplas.
Ejemplo:

mytuple = ("manzana", "banana", "cherry")


mynewtuple = mytuple[:1] + ("arandano",) +
mytuple[2:] print(mynewtuple) # Salida: (’manzana’,
’arándano’, ’cherry’)

5
3.3 Diccionarios
Los diccionarios son estructuras de datos que permiten almacenar
pares de clave-valor. Las claves deben ser únicas dentro de un
diccionario, mientras que los valores pueden ser de cualquier tipo, y
pueden repetirse.
Ejemplo:

mydict = {
"nombre": "Juan",
"edad": 30
}
print(mydict)

3.3.1 Acceso a elementos


Podemos acceder a los valores de un diccionario utilizando las claves
correspondientes.
Ejemplo:

mydict = {
"nombre": "Juan",
"edad": 30
}
print(mydict["nombre"]) # Salida: Juan

3.3.2 Modificar elementos


Los valores de un diccionario pueden modificarse refiriéndose a las
claves correspondientes.
Ejemplo:

mydict = {
"nombre": "Juan",
"edad": 30
}
mydict["edad"] = 31
print(mydict) # Salida: {’nombre’: ’Juan’,
’edad’: 31}

6
3.4 Conjuntos
Los conjuntos son colecciones no ordenadas y sin ´ındices de ítems
´únicos. Los conjuntos son útiles para almacenar elementos sin un
orden particular y para realizar operaciones de conjuntos, como
unión, intersección, y diferencia.
Ejemplo:

myset = {"manzana", "banana", "cherry"}


print(myset)

3.4.1 Agregar y remover elementos


Podemos agregar y remover elementos de un conjunto usando los
métodos add() y remove(), respectivamente.
Ejemplo:

myset = {"manzana", "banana", "cherry"}


myset.add("arandano")
myset.remove("banana")
print(myset) # Salida: {’manzana’, ’cherry’,
’arándano’}

3.4.2 Operaciones con conjuntos


Python también soporta operaciones de conjuntos tradicionales,
como unión, intersección, y diferencia.
Ejemplo:

set1 = {"a", "b", "c"}


set2 = {"d", "e", "f", "a"}

# Union de conjuntos
print(set1.union(set2))

# Intersecci´on de conjuntos
print(set1.intersection(set2))

# Diferencia de conjuntos
print(set1.difference(set2))

7
4. Control de Flujo
El control de flujo permite dirigir el flujo de ejecución del programa
mediante estructuras condicionales y bucles. En esta sección,
exploraremos las estructuras condicionales (if-elif-else) y los bucles
(for y while) en Python.

4.1 Condicionales (if-elif-else)


Las estructuras condicionales permiten ejecutar diferentes bloques
de código dependiendo de ciertas condiciones.
Ejemplo:

edad = 18
if edad >= 18:
print("Mayor de edad")
else:
print("Menor de edad")

4.1.1 Elif
El ”elif” es una abreviatura de ”else if” y permite verificar múltiples
expresiones para determinar si son verdaderas.
Ejemplo:

edad = 18
if edad > 18:
print("Mayor de edad")
elif edad == 18:
print("Justo 18 a~nos")
else:
print("Menor de edad")

4.2 Bucles (for, while)


Los bucles permiten ejecutar un bloque de código varias veces.
Python ofrece dos tipos de bucles: for y while.

4.2.1 Bucle for


8
El bucle for se utiliza para iterar sobre una secuencia, que puede ser
una lista, una tupla, un diccionario, un conjunto o una cadena de
caracteres.
Ejemplo:

frutas = ["manzana", "banana", "cherry"]


for fruta in frutas:
print(fruta)

4.2.2 Bucle while


El bucle while permite ejecutar un conjunto de declaraciones
mientras una condición sea verdadera.
Ejemplo:

i = 1
while i < 6:
print(i)
i += 1

5. Funciones
Las funciones son bloques de código que están diseñados para hacer
un trabajo específico. Una vez que se escribe el código para una
función, se puede reutilizar en cualquier lugar de un programa. En esta
sección, aprenderemos cómo definir y llamar funciones en Python,
incluyendo funciones lambda.

5.1 Definición de funciones


Para definir una función en Python, usamos la palabra clave def,
seguida del nombre de la función y una lista de parámetros entre
paréntesis.
Ejemplo:

def saludo(nombre):
print(f"Hola, {nombre}")

9
saludo("Javier")

5.1.1 Parámetros y argumentos


Cuando definimos una función, podemos especificar los parámetros
que aceptará. Al llamar a la función, proporcionamos los valores para
estos parámetros, que se conocen como argumentos.

Ejemplo:
def suma(a, b):
return a + b

resultado = suma(5, 3)
print(resultado) # Salida: 8

5.2 Funciones lambda


Las funciones lambda son funciones anónimas que pueden tener
cualquier número de argumentos pero solo una expresión. Se utilizan
para crear fun ciones pequeñas y simples on-the-fly.

Ejemplo:
potencia = lambda x, y: x ** y
print(potencia(2, 3)) # Salida: 8

6. Módulos
Los módulos en Python son archivos que contienen código Python.
Un módulo puede definir funciones, clases y variables que puedes
reutilizar en otros archivos Python. En esta sección, veremos cómo
importar módulos y utilizar el código que contienen.

6.1 Importación de módulos


Para utilizar un módulo en Python, primero debemos importarlo
usando la instrucción import. Una vez importado, podemos acceder a
las funciones y variables definidas en ese módulo.
10
Ejemplo:
import math
print(math.sqrt(16)) # Salida: 4.0

6.1.1 Importación selectiva


También podemos elegir importar solo algunas funciones o variables
específicas de un módulo usando la sintaxis from ... import ...
Ejemplo:
from math import sqrt
print(sqrt(16)) # Salida: 4.0

6.1.2 Alias
Podemos darle un alias a un módulo al importarlo, lo que permite
referirse a él con un nombre diferente.
Ejemplo:
import math as m
print(m.sqrt(16)) # Salida: 4.0

7. Manejo de archivos
Python facilita la lectura y escritura de archivos, permitiendo así
manipular datos almacenados en disco desde un programa Python.
Veamos cómo leer y escribir archivos de texto y cómo manejar
errores que pueden ocurrir durante estas operaciones.

7.1 Lectura y escritura básica


Podemos leer y escribir archivos en Python usando las funciones
built-in open(), read(), write(), y close().

7.1.1 Escritura a un archivo


Para escribir contenido a un archivo, usamos el método write().
Ejemplo:
with open(’miarchivo.txt’, ’w’) as f:
f.write(’Hola Mundo’)

11
En el código anterior, utilizamos la instrucción with para abrir el
archivo en modo de escritura (’w’) y escribir una cadena en él. El uso
de with asegura que el archivo se cierre automáticamente al final del
bloque.

7.1.2 Lectura de un archivo


Para leer el contenido de un archivo, usamos el método read().
Ejemplo:

with open(’miarchivo.txt’, ’r’) as f:


contenido = f.read()
print(contenido) # Salida: Hola Mundo

8 Conclusión
A través de este repaso, hemos explorado los conceptos
fundamentales de Python, un lenguaje de programación versátil y
poderoso. Con una comprensión sólida de estos conceptos, estás
bien equipado para comenzar a desarrollar tus propios programas en
Python.

12

También podría gustarte