diff --git a/.gitattributes b/.gitattributes index 085cb29a2b5bbc7c58d1a144a470633c8330e84d..6feecd4a2bcd6d166a14dd4c2d6b7b43934c4a5b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -293,3 +293,18 @@ subir/Curso[[:space:]]Práctico[[:space:]]de[[:space:]]C/09-Finalizando[[:space: prompt-engineering/10-Ventana[[:space:]]de[[:space:]]contexto[[:space:]]y[[:space:]]modelo[[:space:]]de[[:space:]]atención[[:space:]]en[[:space:]]LLMs.mp4 filter=lfs diff=lfs merge=lfs -text prompt-engineering/1-Cómo[[:space:]]estructurar[[:space:]]prompts[[:space:]]efectivos[[:space:]]con[[:space:]]rol,[[:space:]]enfoque,[[:space:]]límites[[:space:]]y[[:space:]]contexto.mp4 filter=lfs diff=lfs merge=lfs -text prompt-engineering/11-Técnicas[[:space:]]de[[:space:]]grounding[[:space:]]para[[:space:]]consultas[[:space:]]legales[[:space:]]con[[:space:]]LLMs.mp4 filter=lfs diff=lfs merge=lfs -text +prompt-engineering/17-Configuración[[:space:]]de[[:space:]]temperatura[[:space:]]y[[:space:]]Top[[:space:]]P[[:space:]]en[[:space:]]Google[[:space:]]AI[[:space:]]Studio.mp4 filter=lfs diff=lfs merge=lfs -text +prompt-engineering/16-Creación[[:space:]]de[[:space:]]agentes[[:space:]]personalizados[[:space:]]con[[:space:]]IA[[:space:]]para[[:space:]]empresas.mp4 filter=lfs diff=lfs merge=lfs -text +prompt-engineering/15-Prompt[[:space:]]chaining[[:space:]]dividir[[:space:]]tareas[[:space:]]complejas[[:space:]]en[[:space:]]pasos[[:space:]]independientes.mp4 filter=lfs diff=lfs merge=lfs -text +prompt-engineering/14-Modelos[[:space:]]de[[:space:]]razonamiento[[:space:]]de[[:space:]]ChatGPT[[:space:]]y[[:space:]]cadenas[[:space:]]de[[:space:]]pensamiento.mp4 filter=lfs diff=lfs merge=lfs -text +prompt-engineering/19-Creación[[:space:]]de[[:space:]]prompts[[:space:]]detallados[[:space:]]para[[:space:]]generación[[:space:]]de[[:space:]]imágenes[[:space:]]con[[:space:]]IA.mp4 filter=lfs diff=lfs merge=lfs -text +prompt-engineering/12-Cadena[[:space:]]de[[:space:]]pensamiento[[:space:]]y[[:space:]]verificación[[:space:]]con[[:space:]]múltiples[[:space:]]métodos[[:space:]]en[[:space:]]LLMs.mp4 filter=lfs diff=lfs merge=lfs -text +prompt-engineering/2-Creación[[:space:]]de[[:space:]]prompts[[:space:]]efectivos[[:space:]]para[[:space:]]análisis[[:space:]]de[[:space:]]documentos[[:space:]]con[[:space:]]IA.mp4 filter=lfs diff=lfs merge=lfs -text +prompt-engineering/20-Análisis[[:space:]]de[[:space:]]datos[[:space:]]de[[:space:]]e[[:space:]]commerce[[:space:]]con[[:space:]]ChatGPT.mp4 filter=lfs diff=lfs merge=lfs -text +prompt-engineering/21-Evaluación[[:space:]]y[[:space:]]validación[[:space:]]de[[:space:]]respuestas[[:space:]]de[[:space:]]LLM[[:space:]]con[[:space:]]criterios[[:space:]]precisos.mp4 filter=lfs diff=lfs merge=lfs -text +prompt-engineering/22-Plantillas[[:space:]]de[[:space:]]prompts[[:space:]]para[[:space:]]correos[[:space:]]de[[:space:]]seguimiento[[:space:]]empresarial.mp4 filter=lfs diff=lfs merge=lfs -text +prompt-engineering/3-Cómo[[:space:]]interpretan[[:space:]]los[[:space:]]LLM[[:space:]]el[[:space:]]significado[[:space:]]de[[:space:]]las[[:space:]]palabras.mp4 filter=lfs diff=lfs merge=lfs -text +prompt-engineering/4-Cómo[[:space:]]definir[[:space:]]roles[[:space:]]efectivos[[:space:]]en[[:space:]]prompts[[:space:]]de[[:space:]]IA.mp4 filter=lfs diff=lfs merge=lfs -text +prompt-engineering/6-Comparación[[:space:]]práctica[[:space:]]de[[:space:]]ChatGPT,[[:space:]]Claude,[[:space:]]Gemini[[:space:]]y[[:space:]]Microsoft[[:space:]]Copilot.mp4 filter=lfs diff=lfs merge=lfs -text +prompt-engineering/7-Técnicas[[:space:]]zero[[:space:]]shot[[:space:]]y[[:space:]]few[[:space:]]shot[[:space:]]para[[:space:]]prompts[[:space:]]efectivos.mp4 filter=lfs diff=lfs merge=lfs -text +prompt-engineering/8-Estructura[[:space:]]de[[:space:]]prompts[[:space:]]con[[:space:]]etiquetas[[:space:]]XML[[:space:]]para[[:space:]]IA.mp4 filter=lfs diff=lfs merge=lfs -text diff --git "a/a/1-Efecto Dunning Kruger y manejo del miedo al hablar en p\303\272blico.m3u" "b/a/1-Efecto Dunning Kruger y manejo del miedo al hablar en p\303\272blico.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..4936bfed9fac3164429b9e76a859454994eeab7a --- /dev/null +++ "b/a/1-Efecto Dunning Kruger y manejo del miedo al hablar en p\303\272blico.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,1-Efecto Dunning Kruger y manejo del miedo al hablar en público +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/1-Efecto Dunning Kruger y manejo del miedo al hablar en público.mp4 diff --git "a/a/10-Gesti\303\263n del Tiempo con Diapositivas en Presentaciones P\303\272blicas.m3u" "b/a/10-Gesti\303\263n del Tiempo con Diapositivas en Presentaciones P\303\272blicas.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..2702b8f03533eea946473e4196dbd577bbb5d406 --- /dev/null +++ "b/a/10-Gesti\303\263n del Tiempo con Diapositivas en Presentaciones P\303\272blicas.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,10-Gestión del Tiempo con Diapositivas en Presentaciones Públicas +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/10-Gestión del Tiempo con Diapositivas en Presentaciones Públicas.mp4 diff --git a/a/11-Proceso de Asilo y Reasentamiento para Refugiados.m3u b/a/11-Proceso de Asilo y Reasentamiento para Refugiados.m3u new file mode 100644 index 0000000000000000000000000000000000000000..b3cb99153f10067fc6bdd9ff6372722aca699f7d --- /dev/null +++ b/a/11-Proceso de Asilo y Reasentamiento para Refugiados.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,11-Proceso de Asilo y Reasentamiento para Refugiados +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/11-Proceso de Asilo y Reasentamiento para Refugiados.mp4 diff --git "a/a/12-Dise\303\261o de Brasieres Basado en Datos Reales de Mujeres.m3u" "b/a/12-Dise\303\261o de Brasieres Basado en Datos Reales de Mujeres.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..054d7422f93722149f0ee689ecb63694615dfb26 --- /dev/null +++ "b/a/12-Dise\303\261o de Brasieres Basado en Datos Reales de Mujeres.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,12-Diseño de Brasieres Basado en Datos Reales de Mujeres +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/12-Diseño de Brasieres Basado en Datos Reales de Mujeres.mp4 diff --git "a/a/13-T\303\251cnicas de Memoria para Hablar en P\303\272blico.m3u" "b/a/13-T\303\251cnicas de Memoria para Hablar en P\303\272blico.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..66031ec79c76fd8fbd7b2e136ff463e46a6c04d8 --- /dev/null +++ "b/a/13-T\303\251cnicas de Memoria para Hablar en P\303\272blico.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,13-Técnicas de Memoria para Hablar en Público +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/13-Técnicas de Memoria para Hablar en Público.mp4 diff --git "a/a/14-T\303\251cnicas de Improvisaci\303\263n para Conferencias en P\303\272blico.m3u" "b/a/14-T\303\251cnicas de Improvisaci\303\263n para Conferencias en P\303\272blico.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..b27410e82f7ad9b1f32d8b4e9ad758a11c78f807 --- /dev/null +++ "b/a/14-T\303\251cnicas de Improvisaci\303\263n para Conferencias en P\303\272blico.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,14-Técnicas de Improvisación para Conferencias en Público +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/14-Técnicas de Improvisación para Conferencias en Público.mp4 diff --git "a/a/15-T\303\251cnicas de Manejo de C\303\241maras para Conferencistas.m3u" "b/a/15-T\303\251cnicas de Manejo de C\303\241maras para Conferencistas.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..189153d9d02fc8fa12cc0b14090fc4330b4e58aa --- /dev/null +++ "b/a/15-T\303\251cnicas de Manejo de C\303\241maras para Conferencistas.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,15-Técnicas de Manejo de Cámaras para Conferencistas +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/15-Técnicas de Manejo de Cámaras para Conferencistas.mp4 diff --git "a/a/16-T\303\251cnicas para Generar Aplausos en Presentaciones P\303\272blicas.m3u" "b/a/16-T\303\251cnicas para Generar Aplausos en Presentaciones P\303\272blicas.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..932d801d9797633ee94c13a0a8a47f0e5a0864db --- /dev/null +++ "b/a/16-T\303\251cnicas para Generar Aplausos en Presentaciones P\303\272blicas.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,16-Técnicas para Generar Aplausos en Presentaciones Públicas +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/16-Técnicas para Generar Aplausos en Presentaciones Públicas.mp4 diff --git "a/a/17-T\303\251cnicas para Hablar en P\303\272blico en YouTube.m3u" "b/a/17-T\303\251cnicas para Hablar en P\303\272blico en YouTube.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..1dbb49511d3097a2e96a5cf2e00e7ffe3cdf0d1f --- /dev/null +++ "b/a/17-T\303\251cnicas para Hablar en P\303\272blico en YouTube.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,17-Técnicas para Hablar en Público en YouTube +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/17-Técnicas para Hablar en Público en YouTube.mp4 diff --git "a/a/18-T\303\251cnicas de Interactividad en Conferencias y Eventos.m3u" "b/a/18-T\303\251cnicas de Interactividad en Conferencias y Eventos.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..0c2a539d6cbb4471e8b54496f81c51d09c91c770 --- /dev/null +++ "b/a/18-T\303\251cnicas de Interactividad en Conferencias y Eventos.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,18-Técnicas de Interactividad en Conferencias y Eventos +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/18-Técnicas de Interactividad en Conferencias y Eventos.mp4 diff --git "a/a/19-Edici\303\263n Efectiva de Charlas Grabadas Consejos Pr\303\241cticos.m3u" "b/a/19-Edici\303\263n Efectiva de Charlas Grabadas Consejos Pr\303\241cticos.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..a420267f49ab2a054f6a3f3bf7336074d5b96560 --- /dev/null +++ "b/a/19-Edici\303\263n Efectiva de Charlas Grabadas Consejos Pr\303\241cticos.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,19-Edición Efectiva de Charlas Grabadas Consejos Prácticos +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/19-Edición Efectiva de Charlas Grabadas Consejos Prácticos.mp4 diff --git "a/a/2-Evita pedir disculpas en presentaciones p\303\272blicas.m3u" "b/a/2-Evita pedir disculpas en presentaciones p\303\272blicas.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..1bbfc208aca925196c04aee6d276146c1abffca7 --- /dev/null +++ "b/a/2-Evita pedir disculpas en presentaciones p\303\272blicas.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,2-Evita pedir disculpas en presentaciones públicas +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/2-Evita pedir disculpas en presentaciones públicas.mp4 diff --git "a/a/20-Hablar en P\303\272blico en Ingl\303\251s Supera el Miedo y Mejora tu Confianza.m3u" "b/a/20-Hablar en P\303\272blico en Ingl\303\251s Supera el Miedo y Mejora tu Confianza.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..e472235121ca75a669c483a5d245964c848d5a51 --- /dev/null +++ "b/a/20-Hablar en P\303\272blico en Ingl\303\251s Supera el Miedo y Mejora tu Confianza.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,20-Hablar en Público en Inglés Supera el Miedo y Mejora tu Confianza +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/20-Hablar en Público en Inglés Supera el Miedo y Mejora tu Confianza.mp4 diff --git "a/a/21-Elimina las muletillas y mejora tu comunicaci\303\263n en p\303\272blico.m3u" "b/a/21-Elimina las muletillas y mejora tu comunicaci\303\263n en p\303\272blico.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..e5daa570e785e0c8047eecdffe91086ea09176a4 --- /dev/null +++ "b/a/21-Elimina las muletillas y mejora tu comunicaci\303\263n en p\303\272blico.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,21-Elimina las muletillas y mejora tu comunicación en público +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/21-Elimina las muletillas y mejora tu comunicación en público.mp4 diff --git "a/a/22-Creaci\303\263n de Video Viral en YouTube para Certificaci\303\263n.m3u" "b/a/22-Creaci\303\263n de Video Viral en YouTube para Certificaci\303\263n.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..c2b64993d7efeec7ebe27241dd2fb93e84b5cfbe --- /dev/null +++ "b/a/22-Creaci\303\263n de Video Viral en YouTube para Certificaci\303\263n.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,22-Creación de Video Viral en YouTube para Certificación +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/22-Creación de Video Viral en YouTube para Certificación.mp4 diff --git "a/a/3-C\303\263mo Mejorar tu Habilidad de Hablar en P\303\272blico.m3u" "b/a/3-C\303\263mo Mejorar tu Habilidad de Hablar en P\303\272blico.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..082c9a01b8b894ef1c81aedfbafee9ee998510dd --- /dev/null +++ "b/a/3-C\303\263mo Mejorar tu Habilidad de Hablar en P\303\272blico.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,3-Cómo Mejorar tu Habilidad de Hablar en Público +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/3-Cómo Mejorar tu Habilidad de Hablar en Público.mp4 diff --git "a/a/4-Reglas para Mejorar tus Habilidades de Oratoria en P\303\272blico.m3u" "b/a/4-Reglas para Mejorar tus Habilidades de Oratoria en P\303\272blico.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..3ff03079e0e191ae1c43220a378a98548c1f478a --- /dev/null +++ "b/a/4-Reglas para Mejorar tus Habilidades de Oratoria en P\303\272blico.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,4-Reglas para Mejorar tus Habilidades de Oratoria en Público +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/4-Reglas para Mejorar tus Habilidades de Oratoria en Público.mp4 diff --git "a/a/5-Adaptaci\303\263n de Conferencias seg\303\272n Audiencia y Contexto.m3u" "b/a/5-Adaptaci\303\263n de Conferencias seg\303\272n Audiencia y Contexto.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..bb74b921b0bd61077957be493a87550641e1f372 --- /dev/null +++ "b/a/5-Adaptaci\303\263n de Conferencias seg\303\272n Audiencia y Contexto.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,5-Adaptación de Conferencias según Audiencia y Contexto +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/5-Adaptación de Conferencias según Audiencia y Contexto.mp4 diff --git a/a/6-Estructura Efectiva de Discursos Persuasivos.m3u b/a/6-Estructura Efectiva de Discursos Persuasivos.m3u new file mode 100644 index 0000000000000000000000000000000000000000..0b6b5d7d907c7f409f9f2f2e22ef1cf917bc28f7 --- /dev/null +++ b/a/6-Estructura Efectiva de Discursos Persuasivos.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,6-Estructura Efectiva de Discursos Persuasivos +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/6-Estructura Efectiva de Discursos Persuasivos.mp4 diff --git "a/a/7-Errores Comunes en Presentaciones y C\303\263mo Evitarlos.m3u" "b/a/7-Errores Comunes en Presentaciones y C\303\263mo Evitarlos.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..16d9a1616791e3df68b82e69cd47e352f4588512 --- /dev/null +++ "b/a/7-Errores Comunes en Presentaciones y C\303\263mo Evitarlos.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,7-Errores Comunes en Presentaciones y Cómo Evitarlos +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/7-Errores Comunes en Presentaciones y Cómo Evitarlos.mp4 diff --git "a/a/8-Uso eficaz del micr\303\263fono de mano en conferencias y videos.m3u" "b/a/8-Uso eficaz del micr\303\263fono de mano en conferencias y videos.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..a34244c56a3a215a2d8de2229fa80b2b84a016aa --- /dev/null +++ "b/a/8-Uso eficaz del micr\303\263fono de mano en conferencias y videos.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,8-Uso eficaz del micrófono de mano en conferencias y videos +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/8-Uso eficaz del micrófono de mano en conferencias y videos.mp4 diff --git "a/a/9-C\303\263mo crear presentaciones efectivas y atractivas.m3u" "b/a/9-C\303\263mo crear presentaciones efectivas y atractivas.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..11e2c735f3ac177509353ca2f8303f9ac7f9e727 --- /dev/null +++ "b/a/9-C\303\263mo crear presentaciones efectivas y atractivas.m3u" @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1,9-Cómo crear presentaciones efectivas y atractivas +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/9-Cómo crear presentaciones efectivas y atractivas.mp4 diff --git "a/a/vlc/1-Efecto Dunning Kruger y manejo del miedo al hablar en p\303\272blico.m3u" "b/a/vlc/1-Efecto Dunning Kruger y manejo del miedo al hablar en p\303\272blico.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..89f6d31ff7c8d283f3f15bf2d3265c0d3442aadf --- /dev/null +++ "b/a/vlc/1-Efecto Dunning Kruger y manejo del miedo al hablar en p\303\272blico.m3u" @@ -0,0 +1,4 @@ +#EXTM3U +#EXTINF:-1,1-Efecto Dunning Kruger y manejo del miedo al hablar en público +#EXTVLCOPT:sub-file=https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/1-Efecto Dunning Kruger y manejo del miedo al hablar en público.sub.vtt +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/1-Efecto Dunning Kruger y manejo del miedo al hablar en público.mp4 diff --git "a/a/vlc/2-Evita pedir disculpas en presentaciones p\303\272blicas.m3u" "b/a/vlc/2-Evita pedir disculpas en presentaciones p\303\272blicas.m3u" new file mode 100644 index 0000000000000000000000000000000000000000..0263ecca48ebb8d7660ffb491db1b76f3704b734 --- /dev/null +++ "b/a/vlc/2-Evita pedir disculpas en presentaciones p\303\272blicas.m3u" @@ -0,0 +1,4 @@ +#EXTM3U +#EXTINF:-1,2-Evita pedir disculpas en presentaciones públicas +#EXTVLCOPT:sub-file=https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/2-Evita pedir disculpas en presentaciones públicas.sub.vtt +https://huggingface.co/2999a/platzo/resolve/main/Curso de Oratoria para Hablar en Público/2-Evita pedir disculpas en presentaciones públicas.mp4 diff --git "a/prompt-engineering/12-Cadena de pensamiento y verificaci\303\263n con m\303\272ltiples m\303\251todos en LLMs.mp4" "b/prompt-engineering/12-Cadena de pensamiento y verificaci\303\263n con m\303\272ltiples m\303\251todos en LLMs.mp4" new file mode 100644 index 0000000000000000000000000000000000000000..a7c2e9be55ea483439784f242eff650f354c2e07 --- /dev/null +++ "b/prompt-engineering/12-Cadena de pensamiento y verificaci\303\263n con m\303\272ltiples m\303\251todos en LLMs.mp4" @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a0773c1df6c9b8511d6ad17a869870a44bf0632b8e240840c16a790420f7128 +size 190984196 diff --git a/prompt-engineering/14-Modelos de razonamiento de ChatGPT y cadenas de pensamiento.mp4 b/prompt-engineering/14-Modelos de razonamiento de ChatGPT y cadenas de pensamiento.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..5b5a37598ed276fd81f585fac1c26c09b46be443 --- /dev/null +++ b/prompt-engineering/14-Modelos de razonamiento de ChatGPT y cadenas de pensamiento.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbc4fb1be3a583d797dcb46a2d37435cf4a8e3d2113fc18dbd72b06b0df4b6a9 +size 299487439 diff --git a/prompt-engineering/15-Prompt chaining dividir tareas complejas en pasos independientes.mp4 b/prompt-engineering/15-Prompt chaining dividir tareas complejas en pasos independientes.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..71434db2ddce46a2ccb10a01dc7aea2faf91e98b --- /dev/null +++ b/prompt-engineering/15-Prompt chaining dividir tareas complejas en pasos independientes.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68b1d897b76eedfc6a262ea042d3cd9227de5189e72b1798648de5ac29378136 +size 280298541 diff --git "a/prompt-engineering/16-Creaci\303\263n de agentes personalizados con IA para empresas.mp4" "b/prompt-engineering/16-Creaci\303\263n de agentes personalizados con IA para empresas.mp4" new file mode 100644 index 0000000000000000000000000000000000000000..7494bf3d354d80009136704fc7aa5bd1b1b3b336 --- /dev/null +++ "b/prompt-engineering/16-Creaci\303\263n de agentes personalizados con IA para empresas.mp4" @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:014ecc5e4aca8c7070f3904ec67bc5be98e98ac0bd32ba0ee69e27af11a8606a +size 593883121 diff --git "a/prompt-engineering/17-Configuraci\303\263n de temperatura y Top P en Google AI Studio.mp4" "b/prompt-engineering/17-Configuraci\303\263n de temperatura y Top P en Google AI Studio.mp4" new file mode 100644 index 0000000000000000000000000000000000000000..401c5f80954119a4659880bfc3eef427d35f8e2a --- /dev/null +++ "b/prompt-engineering/17-Configuraci\303\263n de temperatura y Top P en Google AI Studio.mp4" @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afb135a1b34239c438337a4d120b71a9809dfa88b42a2887552f87d015a0f6a6 +size 280787552 diff --git "a/prompt-engineering/17-Configuraci\303\263n de temperatura y Top P en Google AI Studio.sub.vtt" "b/prompt-engineering/17-Configuraci\303\263n de temperatura y Top P en Google AI Studio.sub.vtt" new file mode 100644 index 0000000000000000000000000000000000000000..02eec23d32f83b2f85cd1b497765afa8978a49ce --- /dev/null +++ "b/prompt-engineering/17-Configuraci\303\263n de temperatura y Top P en Google AI Studio.sub.vtt" @@ -0,0 +1,413 @@ +WEBVTT + +00:00:00.100 --> 00:00:03.670 +¿Alguna vez has intentado hacer un café dos veces y te dan dos + +00:00:03.670 --> 00:00:08.740 +resultados totalmente distintos? Ah, una vez puede quedar perfecto, pero otras veces + +00:00:08.740 --> 00:00:12.540 +puede que quede muy fuerte o quede aguado o simplemente el sabor no + +00:00:12.540 --> 00:00:16.000 +esté en el lugar que querías. Al final, cuando haces un café + +00:00:16.000 --> 00:00:20.090 +tienes varias variables que controlan el resultado final y lo mismo pasa con + +00:00:20.090 --> 00:00:24.080 +la inteligencia artificial. Imagina que estás usando Gemini para escribir un correo + +00:00:24.080 --> 00:00:27.580 +para un cliente y ya tienes el prompt perfecto con el que tienes + +00:00:27.580 --> 00:00:31.140 +resultados profesionales. Lo que pasa es que unos días da los resultados + +00:00:31.140 --> 00:00:37.660 +que tú esperas, pero otras veces simplemente da resultados muy creativos o no + +00:00:37.660 --> 00:00:40.900 +da en el formato que le pediste originalmente. No has hecho nada. + +00:00:40.900 --> 00:00:44.260 +El prompt no ha cambiado. ¿Qué es lo que está pasando? Acá tienen + +00:00:44.260 --> 00:00:47.680 +que haber dos controles que son medio invisibles en la inteligencia artificial, + +00:00:47.680 --> 00:00:51.940 +pero que tenemos acceso a ellos cuando estamos interactuando con el playground de + +00:00:51.940 --> 00:00:55.440 +estas herramientas. En este caso voy a mostrarte estos ejemplos en Google + +00:00:55.440 --> 00:01:00.240 +AI Studio. Empecemos con la temperatura. La temperatura básicamente es como un termómetro + +00:01:00.240 --> 00:01:04.000 +alrededor de la creatividad que tiene el modelo al momento de generar + +00:01:04.000 --> 00:01:08.360 +el texto a partir de tu prompt. Bajos valores empiezan a dar resultados + +00:01:08.360 --> 00:01:12.300 +bastante consistentes, es decir, cada vez que lo usas el resultado es + +00:01:12.300 --> 00:01:16.420 +muy, muy parecido. Siempre es el mismo formato, siempre es acerca de la + +00:01:16.420 --> 00:01:21.820 +misma información y logra tener consistencia. Pero cuando lo aumentas, de repente + +00:01:21.820 --> 00:01:24.980 +los resultados pueden variar mucho porque al final es la temperatura de la + +00:01:24.980 --> 00:01:29.360 +creatividad. En algunos casos la consistencia va a ser apreciada, sobre todo + +00:01:29.360 --> 00:01:34.860 +cuando estamos buscando más precisión. Pero en otros casos esa consistencia puede resultar + +00:01:34.860 --> 00:01:38.220 +algo que nos sorprende, sobre todo en los trabajos en donde queremos + +00:01:38.220 --> 00:01:43.580 +que haya un trabajo más creativo. Por ejemplo, cuando queremos crear títulos acerca + +00:01:43.580 --> 00:01:47.220 +de un vídeo, de un artículo que escribimos, publicaciones en redes sociales. + +00:01:47.220 --> 00:01:52.180 +Ahí la creatividad importa. Pero si estamos haciendo un reporte financiero, acá lo + +00:01:52.180 --> 00:01:55.220 +que más importa es la consistencia. Pero para eso vamos a ir + +00:01:55.220 --> 00:01:58.960 +a un ejemplo. Tengo el siguiente prompt y lo vamos a llevar a + +00:01:58.960 --> 00:02:02.840 +Google AI Studio y vamos a hacer las pruebas. Vamos a hacer + +00:02:02.840 --> 00:02:06.790 +las pruebas en mover la temperatura a dos lugares extremos para poder ver + +00:02:06.790 --> 00:02:11.859 +cómo cambia y, a partir de esos resultados, tener una forma de + +00:02:11.860 --> 00:02:16.220 +ir probando cuál es la temperatura correcta según lo que nosotros queremos realizar. + +00:02:16.220 --> 00:02:20.210 +En este caso voy a empezar con una temperatura de cero punto... + +00:02:20.210 --> 00:02:23.160 +cero cinco y el prompt que voy a probar es: «Genera un cuento + +00:02:23.160 --> 00:02:26.680 +que se parezca a La Caperucita Roja, pero tu propia versión. Tienes + +00:02:26.680 --> 00:02:30.280 +doscientos cincuenta caracteres». Vamos a copiarlo porque la prueba la vamos a hacer + +00:02:30.280 --> 00:02:34.340 +también con Temperatura uno. Lo corremos y me dice: «En un bosque, + +00:02:34.340 --> 00:02:38.900 +Caperucita Verde llevaba pastel a su abuela. Un zorro astuto la engañó. La + +00:02:38.900 --> 00:02:42.660 +abuela y la Caperucita se salvaron gracias a un leñador». Y me + +00:02:42.660 --> 00:02:46.920 +generó una imagen, que vemos acá. Y a esto le vamos a decir + +00:02:46.920 --> 00:02:54.180 +Temperatura cero punto cinco. Cero punto cero cinco. Guardamos y vamos a + +00:02:54.180 --> 00:02:58.240 +crear un nuevo chat para que lo podamos comparar. Mismo prompt, pero Temperatura + +00:02:58.240 --> 00:03:02.220 +en uno. Correr. Y de repente acá me dice: «¡Claro! Aquí tienes + +00:03:02.220 --> 00:03:06.290 +mi versión. En un bosque mágico, Caperucita Verde, una joven intrépida llevaba a + +00:03:06.290 --> 00:03:09.660 +su abuela en una canasta de manzanas doradas. El lobo feroz con + +00:03:09.660 --> 00:03:15.300 +astucia intentó engañarla, pero Caperucita, con valentía, sin miedo, le pidió un acertijo. + +00:03:15.300 --> 00:03:18.400 +El lobo, frustrado, al no saberlo, huyó, y la abuela y Caperucita + +00:03:18.400 --> 00:03:23.100 +celebraron con manzanas y risas». Y de hecho me generó dos imágenes a + +00:03:23.100 --> 00:03:28.400 +partir de esta historia. Yo creo que acá ya vemos bastante como + +00:03:28.400 --> 00:03:34.100 +esa creatividad aumentó. Y esa creatividad no solamente se trata de innovar, porque + +00:03:34.100 --> 00:03:37.920 +al final no está innovando, sigue siendo un cuento demasiado parecido a + +00:03:37.920 --> 00:03:41.980 +la Caperucita Roja, pero de repente ya no le importó mucho que tuviera + +00:03:41.980 --> 00:03:47.220 +doscientos cincuenta caracteres. Hizo algo más largo que eso y fue más + +00:03:47.220 --> 00:03:52.040 +creativo en desarrollar la historia. Entonces, esta creatividad también tiende a hacer a + +00:03:52.040 --> 00:03:55.340 +que no necesariamente va a seguir al pie de la letra el + +00:03:55.340 --> 00:03:59.940 +prompt que le estamos dando. Tiene libertades para tomar decisiones e ir un + +00:03:59.940 --> 00:04:07.500 +poquito más allá. Este lo vamos a guardar como Temperatura una. Y + +00:04:07.500 --> 00:04:12.780 +lo guardamos. Y acá lo podemos comparar en nuestro historial. Si yo actualizo, + +00:04:12.780 --> 00:04:17.220 +tengo tempora-- temperatura cero punto cinco y puedo ver el cuento que + +00:04:17.220 --> 00:04:23.680 +me generó, muy básico. Temperatura uno. Puedo ver el cuento más avanzado que + +00:04:23.680 --> 00:04:27.800 +me generó. Mismo prompt, lo puedo experimentar en dos lugares y desde + +00:04:27.800 --> 00:04:32.140 +ahí puedo saber cuál es la temperatura exacta. Puedo ir moviendo entre cero + +00:04:32.140 --> 00:04:35.940 +y uno para ver qué cambios va generando, pero una buena regla + +00:04:35.940 --> 00:04:40.800 +de dedo que puedes tener es: si estás haciendo algo que necesita consistencia, + +00:04:40.800 --> 00:04:45.640 +que necesita precisión, temperaturas bajas van a ser mejor. Por ejemplo, en + +00:04:45.640 --> 00:04:49.280 +una de las clases estábamos analizando la ley y estábamos pidiéndole que nos + +00:04:49.280 --> 00:04:53.020 +diera las referencias exactas de los textos que nos estaba entregando. Y + +00:04:53.020 --> 00:04:57.800 +vimos que, aunque nos dio la referencia exacta, no nos lo dijo exactamente + +00:04:57.800 --> 00:05:01.580 +como estaba en el PDF. En este caso, bajar la temperatura para + +00:05:01.580 --> 00:05:04.860 +este caso de uso sería muy útil. Pero si vamos a hacer, de + +00:05:04.860 --> 00:05:09.780 +nuevo, publicaciones para redes sociales, la temperatura más alta va a ser + +00:05:09.780 --> 00:05:14.460 +muy importante. Imaginémonos un caso intermedio. ¿Qué pasa si quiero hacer una publicación + +00:05:14.460 --> 00:05:20.920 +de redes sociales basándome en un artículo científico? En ese caso, ni + +00:05:20.920 --> 00:05:23.540 +el cero ni el uno nos va a convenir, y vamos a tener + +00:05:23.540 --> 00:05:27.580 +que experimentar con los números intermedios para ver en qué punto conserva + +00:05:27.580 --> 00:05:32.620 +la precisión que buscamos, pero es suficientemente creativo para la tarea que le + +00:05:32.620 --> 00:05:35.900 +estamos dando. Ahora vamos a ir con el siguiente valor y lo + +00:05:35.900 --> 00:05:40.620 +vamos a hacer exactamente con el mismo prompt. Top-P. El Top-P lo encontramos + +00:05:40.620 --> 00:05:45.080 +en la parte avanzada de las configuraciones y se ve acá como + +00:05:45.080 --> 00:05:48.300 +Top-P. Y lo que va a hacer es que recordemos que al final + +00:05:48.300 --> 00:05:51.900 +esto es un modelo que va a predecir cuál es la palabra + +00:05:51.900 --> 00:05:54.840 +que debería ir después de la frase que nosotros dimos basado en el + +00:05:54.840 --> 00:05:57.880 +modelo de atención, en la-- en toda la ventana de contexto que + +00:05:57.880 --> 00:06:02.620 +tiene. Top-P lo que va a limitar es cuáles son el mundo de + +00:06:02.620 --> 00:06:05.760 +palabras al que va a acceder para poder crear el mensaje que + +00:06:05.760 --> 00:06:11.992 +está creando en este caso.Entonces, vamos a tener más diversidad de palabras cuando + +00:06:11.992 --> 00:06:15.952 +tenemos un Top-P alto, es decir, no van a ser tan repetitivas + +00:06:15.952 --> 00:06:18.852 +las palabras que usa o va a usar más sinónimos, va a sonar + +00:06:18.852 --> 00:06:23.612 +más sofisticado. Y cuando tenemos un Top-P muy bajo, va a irse + +00:06:23.612 --> 00:06:26.652 +a lo más seguro, a lo que es más probable, va a tener + +00:06:26.652 --> 00:06:30.732 +menos variedad de palabras. Hagamos el mismo ejercicio y empecemos con nuestro + +00:06:30.732 --> 00:06:37.712 +prompt diciéndole un Top-P de cero punto cero cinco. Lo corremos, vamos a + +00:06:37.712 --> 00:06:43.572 +ir guardándolo y le vamos a decir acá: «Top... P, cero punto + +00:06:43.572 --> 00:06:48.532 +cinco». Y me dice: «En un, en un bosque, Caperucita Verde llevaba pastel + +00:06:48.532 --> 00:06:52.772 +a su abuela». De hecho, acá se comió-- «Llevaba un pastel», no + +00:06:52.772 --> 00:06:55.872 +dijo. «Llevaba pastel a su abuela. Un zorro astuto la engañó y la + +00:06:55.872 --> 00:07:00.812 +abuela y la Caperucita se salvaron gracias a un leñador». Puede parecerse + +00:07:00.812 --> 00:07:04.992 +mucho lo que pasa cuando tenemos temperatura baja versus lo que tenemos con + +00:07:04.992 --> 00:07:09.452 +Top-P bajo. En tareas más complejas vamos a ver más diferencias, pero + +00:07:09.452 --> 00:07:13.591 +el punto es que estamos limitando la creatividad del modelo. En temperatura, literalmente, + +00:07:13.591 --> 00:07:16.392 +estamos viendo qué tanto se va a cernir por el prompt que + +00:07:16.392 --> 00:07:19.412 +le estamos dando. En Top-P, la creatividad va a ser guiada por la + +00:07:19.412 --> 00:07:23.952 +cantidad de palabras a la que tiene acceso. Y lo estamos guardando + +00:07:23.952 --> 00:07:26.782 +con el fin de poder comparar las versiones. Vamos a crear una nueva + +00:07:26.782 --> 00:07:34.792 +y en este caso vamos a tener nuestro prompt con un Top-P + +00:07:34.792 --> 00:07:40.572 +de uno. Lo corremos y miren, en este caso que tiene temperatura uno, + +00:07:40.572 --> 00:07:44.012 +Top-P uno, ya incluso se inventó un nombre. «Luna iba por el + +00:07:44.012 --> 00:07:46.572 +bosque por una cesta con su abuela. El lobo la siguió hasta la + +00:07:46.572 --> 00:07:51.262 +casa, lobo disfrazado. Intentó engañar a Luna, pero ella notó algo extraño. + +00:07:51.262 --> 00:07:55.252 +"Abuela, qué ojos tan grandes tienes", dijo Luna». Hizo un cuento mucho más + +00:07:55.252 --> 00:08:06.512 +sofisticado. Vamos a ponerlo acá como «Top uno». Top-P uno. También podemos + +00:08:06.512 --> 00:08:10.052 +combinar las dos configuraciones. Yo puedo llegar acá a crear un nuevo chat + +00:08:10.052 --> 00:08:13.192 +y decir: «Voy a tener un, una temperatura de cero punto cinco + +00:08:13.192 --> 00:08:17.812 +y un Top-P de cero punto cinco. De cero punto cero cinco». Mismo + +00:08:17.812 --> 00:08:20.352 +prompt. Y lo que va a pasar es que va a ser + +00:08:20.352 --> 00:08:23.772 +muy poco creativo y va a usar el universo de palabras más acotado + +00:08:23.772 --> 00:08:29.552 +que tiene. Van a haber muchas recomendaciones que dicen: «Si mueves la + +00:08:29.552 --> 00:08:33.572 +temperatura, no muevas el Top-P. Si mueves el Top-P, no muevas la temperatura». + +00:08:33.572 --> 00:08:37.332 +La realidad es que yo no sigo esas recomendaciones sin antes intentarlo + +00:08:37.332 --> 00:08:40.872 +para el problema que estoy tratando de solucionar. Volviendo a lo que les + +00:08:40.872 --> 00:08:44.872 +decía antes, un reporte financiero en donde quiero precisión y exactitud y + +00:08:44.872 --> 00:08:50.512 +estoy buscando más un análisis que el hecho de inventarse algo, yo bajo + +00:08:50.512 --> 00:08:54.132 +mucho la temperatura y bajo mucho el Top-P. Y en trabajos creativos, + +00:08:54.132 --> 00:08:57.492 +dependiendo de lo que quiero hacer a nivel creativo, juego con las dos + +00:08:57.552 --> 00:09:00.791 +para lograr el resultado que quiero. En este caso, en un bosque, + +00:09:00.792 --> 00:09:04.232 +Caperucita Verde llevaba pastel a su abuela, un zorro astuto la engañó, la + +00:09:04.232 --> 00:09:07.052 +abuela y Caperucita se salvaron. Gracias a un leñador. Ya estuvo, se + +00:09:07.052 --> 00:09:13.712 +acabó. Vamos a poner acá: «Temp cero punto cero cinco, Top-P cero punto + +00:09:13.712 --> 00:09:21.232 +cero cinco». Guardar. Ahí estuvo. Y tenemos acá todas las versiones que + +00:09:21.232 --> 00:09:26.052 +acabamos de crear para comparar y saber cuál es la configuración correcta al + +00:09:26.052 --> 00:09:29.152 +problema que estamos solucionando. Ahora te queda a ti probarlo con un + +00:09:29.152 --> 00:09:32.372 +problema que tienes en tu día a día. Piensa, ¿tienes un problema que + +00:09:32.372 --> 00:09:37.652 +necesita constancia y exactitud o tienes un problema creativo? Y a partir + +00:09:37.652 --> 00:09:42.092 +de eso, crea estos experimentos y cuéntanos en los comentarios cómo te termina + +00:09:42.092 --> 00:09:44.972 +ir solucionando un problema que tú tienes en tu día a día + +00:09:44.972 --> 00:09:46.351 +en tu trabajo. + diff --git "a/prompt-engineering/19-Creaci\303\263n de prompts detallados para generaci\303\263n de im\303\241genes con IA.mp4" "b/prompt-engineering/19-Creaci\303\263n de prompts detallados para generaci\303\263n de im\303\241genes con IA.mp4" new file mode 100644 index 0000000000000000000000000000000000000000..501aaca3060a8b28c74334a32f4e73cfc7b2bcc3 --- /dev/null +++ "b/prompt-engineering/19-Creaci\303\263n de prompts detallados para generaci\303\263n de im\303\241genes con IA.mp4" @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77599947865bbd1ae12902b28f4d7633a7daeb8601ed38908069b3fcc85a7ba8 +size 216809608 diff --git "a/prompt-engineering/19-Creaci\303\263n de prompts detallados para generaci\303\263n de im\303\241genes con IA.sub.vtt" "b/prompt-engineering/19-Creaci\303\263n de prompts detallados para generaci\303\263n de im\303\241genes con IA.sub.vtt" new file mode 100644 index 0000000000000000000000000000000000000000..85dd2a56ac2c07fb88da41aad6c6cbe13b8f3a7a --- /dev/null +++ "b/prompt-engineering/19-Creaci\303\263n de prompts detallados para generaci\303\263n de im\303\241genes con IA.sub.vtt" @@ -0,0 +1,266 @@ +WEBVTT + +00:00:00.320 --> 00:00:04.770 +Tú vas a abrir ChatGPT en ChatGPT 5, modelo auto, y vas a + +00:00:04.770 --> 00:00:07.500 +escribir: «Genera una imagen de una oficina moderna», y lo vas a + +00:00:07.500 --> 00:00:12.040 +enviar y vas a esperar que la imagen se genere. Ahora, ves este + +00:00:12.040 --> 00:00:17.380 +resultado y cuando dices una oficina moderna, ¿es lo que te imaginabas? + +00:00:17.380 --> 00:00:19.840 +Puede que para algunas personas sí, en mi caso no era lo que + +00:00:19.840 --> 00:00:23.419 +me imaginaba. Yo me imaginaba algo más como si estuviéramos hablando, no + +00:00:23.420 --> 00:00:26.040 +sé, de la oficina de Facebook o de Google, un open space un + +00:00:26.040 --> 00:00:31.680 +poco más caótico... Esto se ve como muy ordenado. Y es que + +00:00:31.680 --> 00:00:35.440 +cuando nosotros estamos haciendo un prompt para comunicarle a la inteligencia artificial cómo + +00:00:35.440 --> 00:00:40.400 +generar una imagen, debería ser como si nosotros estuviéramos en esa escena + +00:00:40.400 --> 00:00:44.140 +y estamos hablando por teléfono con alguien y queremos que esa persona que + +00:00:44.140 --> 00:00:47.500 +está al otro lado del teléfono se imagine la escena en la + +00:00:47.500 --> 00:00:52.700 +que nosotros estamos presentes. Tenemos que ser tan descriptivos como sea posible. La + +00:00:52.700 --> 00:00:56.560 +clave está en descomponer esa escena en la que estás presente en + +00:00:56.560 --> 00:01:01.280 +tres partes. La primera es el protagonista. No vas a decir «un perro + +00:01:01.280 --> 00:01:05.260 +grande». Vas a hablar del golden retriever que tiene un collar rojo, + +00:01:05.260 --> 00:01:08.780 +que es de una estatura mediana, que parece tener dos años de edad + +00:01:08.780 --> 00:01:11.780 +y que es muy juguetón. Es la diferencia entre decir: «Tráeme ese + +00:01:11.780 --> 00:01:14.880 +vaso de la cocina», a decir: «Por favor, tráeme el vaso azul que + +00:01:14.880 --> 00:01:18.760 +está al lado del microondas». La probabilidad de que ambas instrucciones traiga + +00:01:18.760 --> 00:01:24.100 +el vaso azul es... Existe o puede pasar, pero con la primera instrucción + +00:01:24.100 --> 00:01:29.080 +puede traerte cualquier vaso. En la segunda, estás siendo tan descriptivo que + +00:01:29.080 --> 00:01:32.140 +es certero que te van a traer el vaso que estabas esperando. Y + +00:01:32.140 --> 00:01:34.960 +el segundo factor en el que vas a descomponer esta escena en + +00:01:34.960 --> 00:01:38.960 +la que estás presente es el estilo visual. Y quiero que pienses acerca + +00:01:38.960 --> 00:01:43.640 +de este estilo visual como si fueran filtros de Instagram. ¿Cómo quieres + +00:01:43.640 --> 00:01:48.860 +que se vea esa imagen que estás presenciando? ¿Como una foto realista que + +00:01:48.860 --> 00:01:52.080 +acabas de tomar con tu celular? ¿O quieres que se vea como + +00:01:52.080 --> 00:01:56.320 +una caricatura? ¿O quieres que se vea como un personaje de Disney? El + +00:01:56.320 --> 00:02:01.620 +punto es describir lo que estás viendo a nivel de un filtro + +00:02:01.620 --> 00:02:05.280 +de Instagram, como una foto vieja, como una foto que fue tomada con + +00:02:05.280 --> 00:02:09.419 +un iPhone. Piensa en esto como si estuvieras pensando en el outfit + +00:02:09.419 --> 00:02:12.900 +que vas a llevar para una boda. No es lo mismo que digas: + +00:02:12.900 --> 00:02:14.880 +«Voy a salir a hacer ejercicio y voy a llevar ropa de + +00:02:14.880 --> 00:02:19.720 +ejercicio», a decir: «Voy a tener un traje formal con corbatín, con una + +00:02:19.720 --> 00:02:24.100 +camisa». Describir incluso los colores que están presentes. El estilo visual es + +00:02:24.100 --> 00:02:26.860 +lo que le va a dar vida a esa imagen que estás creando. + +00:02:26.860 --> 00:02:30.120 +Y el último componente que vas a usar para describir esta escena + +00:02:30.120 --> 00:02:34.600 +es la composición. Y acá quiero que imagines que eres el director de + +00:02:34.600 --> 00:02:40.600 +fotografía de esta película que te estás creando. La primera pregunta es + +00:02:40.600 --> 00:02:45.780 +si vas a describir una cena familiar, la foto que quieres tomar, ¿esa + +00:02:45.780 --> 00:02:49.460 +foto está al nivel de la mesa o quieres una foto desde + +00:02:49.460 --> 00:02:52.680 +la esquina del cuarto en donde se pueda ver todas las personas presentes + +00:02:52.680 --> 00:02:57.720 +y las expresiones que están haciendo? Incluso piensa en cómo está la + +00:02:57.720 --> 00:03:01.380 +iluminación de ese momento que estás viviendo. La luz está entrando por la + +00:03:01.380 --> 00:03:04.900 +ventana ooo la realidad es que estás en un lugar donde no + +00:03:04.900 --> 00:03:08.200 +hay ventanas y todas las luces vienen de el techo y es una + +00:03:08.200 --> 00:03:13.420 +luz blanca intensa que hace ver todo como muy despierto. El punto + +00:03:13.420 --> 00:03:17.980 +es que compongas ese lugar que estás viviendo a partir de dónde está + +00:03:17.980 --> 00:03:22.540 +ubicada la persona que está tomando la foto o está pintando o + +00:03:22.540 --> 00:03:27.520 +está creando la ilustración, y empieces a darle una atmósfera a ese lugar + +00:03:27.520 --> 00:03:31.020 +que, que estás presente. Y esa atmósfera se crea a partir de + +00:03:31.020 --> 00:03:34.820 +los detalles. Si yo te hablo de una cafetería, te vas a imaginar + +00:03:34.820 --> 00:03:38.240 +la cafetería más cercana que tienes a tu casa. Pero voy a + +00:03:38.240 --> 00:03:41.980 +agregar un par de detalles. En esta cafetería están hirviendo el agua y + +00:03:41.980 --> 00:03:46.340 +la tetera está sacando humo y está di-- nublando todo lo que + +00:03:46.340 --> 00:03:50.200 +estás viendo en ese momento. De repente, la imagen de la cafetería de + +00:03:50.200 --> 00:03:54.160 +tu casa cambió y le estás dando más detalles que te dan + +00:03:54.160 --> 00:03:58.380 +una ima-- una imagen visual de esa escena que yo estoy viviendo en + +00:03:58.380 --> 00:04:02.440 +ese momento. Con esto que te acabo de enseñar, volvamos a ChatGPT + +00:04:02.440 --> 00:04:06.580 +y hacemos un ejercicio práctico. Podríamos pensar en una versión básica de un + +00:04:06.580 --> 00:04:11.260 +prompt que sería «personas trabajando», pero ahí querría-- caeríamos en el error + +00:04:11.260 --> 00:04:16.680 +del inicio de esta clase. Entonces, hagamos un prompt más elaborado. Digamos: «Genera + +00:04:16.680 --> 00:04:22.360 +una imagen de cuatro profesionales diversos colaborando alrededor de una mesa redonda + +00:04:22.360 --> 00:04:27.000 +con laptops y documentos». Ahí estamos hablando del protagonista. Vamos a decirle que + +00:04:27.000 --> 00:04:30.840 +el estilo es de una fotografía corporativa moderna. Ese sería como el + +00:04:30.840 --> 00:04:34.680 +filtro que nos estamos imaginando, el filtro de Instagram. Y vamos a hablar + +00:04:34.680 --> 00:04:37.300 +de la composición, que sería una vista de un ángulo de cuarenta + +00:04:37.300 --> 00:04:40.940 +y cinco grados con luz d-- natural de oficina. De por sí, la + +00:04:40.940 --> 00:04:43.980 +luz natural de oficina tiende a ser un tipo de luz. Entonces, + +00:04:43.980 --> 00:04:48.720 +vamos a ver cómo lo interpreta. Ahora, una pregunta: ¿fue la imagen que + +00:04:48.720 --> 00:04:53.940 +te imaginaste? Para mí está muy cercana, pero, pues, esto es como + +00:04:53.940 --> 00:04:57.200 +cocinar, si a la primera no funciona, tenemos que ir probando, ir dándole + +00:04:57.200 --> 00:05:01.200 +feedback, diciendo más específico qué es lo que no salió bien de + +00:05:01.200 --> 00:05:04.800 +la imagen que generamos. Y cuando llegamos a la imagen que esperábamos, si + +00:05:04.800 --> 00:05:07.880 +quieres aprender más de prompting, pregúntale cuál hubiera sido el prompt que + +00:05:07.880 --> 00:05:13.180 +debí haber usado para generar esta imagen desde un inicio. Un dato más + +00:05:13.180 --> 00:05:18.660 +importante: trata de no ser contradictorio en tus instrucciones. Es decir, si + +00:05:18.660 --> 00:05:23.960 +le dices que cree una foto realista con estilo de caricatura, eso va + +00:05:23.960 --> 00:05:27.180 +a ser contradictorio. Y ahí es cuando la inteligencia artificial va a + +00:05:27.180 --> 00:05:32.230 +empezar a alucinar. ¿Quieres un estilo de caricatura o quieres una foto realista? + +00:05:32.230 --> 00:05:35.520 +Trata de no combinar esas cosas que podrían confundir al modelo para + +00:05:35.520 --> 00:05:39.360 +llegar más al resultado que estás esperando. Es como decirle a alguien que + +00:05:39.360 --> 00:05:43.420 +cante a todo volumen, pero en voz baja. No tiene sentido, ¿verdad? + +00:05:43.420 --> 00:05:45.900 +Ahora quiero que en la sección de comentarios me dejes la imagen de + +00:05:45.900 --> 00:05:49.260 +la escena en la que en este momento estás tomando la clase, + +00:05:49.260 --> 00:05:52.760 +pero que sea una imagen generada con ChatGPT. Pon la imagen y pon + +00:05:52.760 --> 00:05:53.840 +el prompt que usaste. + diff --git "a/prompt-engineering/2-Creaci\303\263n de prompts efectivos para an\303\241lisis de documentos con IA.mp4" "b/prompt-engineering/2-Creaci\303\263n de prompts efectivos para an\303\241lisis de documentos con IA.mp4" new file mode 100644 index 0000000000000000000000000000000000000000..a8b3842cba15f66c332429ace3c957d8b0f40432 --- /dev/null +++ "b/prompt-engineering/2-Creaci\303\263n de prompts efectivos para an\303\241lisis de documentos con IA.mp4" @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f405d580976ba394c42964baa721cf5924e2f7708c59ea2a35ff517f561d7f84 +size 426968740 diff --git "a/prompt-engineering/2-Creaci\303\263n de prompts efectivos para an\303\241lisis de documentos con IA.sub.vtt" "b/prompt-engineering/2-Creaci\303\263n de prompts efectivos para an\303\241lisis de documentos con IA.sub.vtt" new file mode 100644 index 0000000000000000000000000000000000000000..71837806f39707c73079ed14c546218c8ff84ae2 --- /dev/null +++ "b/prompt-engineering/2-Creaci\303\263n de prompts efectivos para an\303\241lisis de documentos con IA.sub.vtt" @@ -0,0 +1,590 @@ +WEBVTT + +00:00:00.080 --> 00:00:06.160 +Abre ChatGPT y escribe esta pregunta simple: explícame la fotosíntesis en tres oraciones. + +00:00:06.160 --> 00:00:09.420 +Presiona enter y observa qué es lo que ocurre. Ya que lo + +00:00:09.420 --> 00:00:12.840 +hiciste tú, ahora lo voy a hacer yo. Explícame qué es la fotosíntesis + +00:00:12.840 --> 00:00:17.240 +en tres oraciones. Y viene la respuesta. La fotosíntesis es el proceso + +00:00:17.240 --> 00:00:20.240 +mediante el cual las plantas, algas y algunas bacterias convierten la luz solar + +00:00:20.240 --> 00:00:24.080 +en energía química. Utilizan el dióxido de carbono del aire y el + +00:00:24.080 --> 00:00:28.660 +agua del suelo para producir glucosa, su alimento, y oxígeno como subproducto. Este + +00:00:28.660 --> 00:00:33.360 +proceso ocurre principalmente en las hojas, dentro de unas estructuras llamadas cloroplastos. + +00:00:33.360 --> 00:00:36.400 +Acaba de pasar lo que acabamos de pedir. En tres oraciones nos explicó + +00:00:36.400 --> 00:00:40.020 +qué es la fotosíntesis. Y eso que acabamos de enviarle, esa oración + +00:00:40.020 --> 00:00:45.060 +de explícame qué es la fotosíntesis en tres oraciones, se llama un prompt. + +00:00:45.060 --> 00:00:47.500 +Y es el mensaje o la instrucción que nosotros le damos a + +00:00:47.500 --> 00:00:51.400 +la inteligencia artificial para que de vuelta nos dé una respuesta, muy parecido + +00:00:51.400 --> 00:00:55.180 +como si estuviéramos hablando con WhatsApp, con una persona, pero en este + +00:00:55.180 --> 00:00:58.640 +caso estamos hablando con una máquina. ¿Qué está lo interesante? La calidad de + +00:00:58.640 --> 00:01:02.060 +esa respuesta va a definirse según la calidad de cómo formules tú + +00:01:02.060 --> 00:01:07.680 +la pregunta. Si eres muy vago diciendo: «Ayúdame con marketing», pues la inteligencia + +00:01:07.680 --> 00:01:10.500 +artificial va a darte una respuesta igual de vaga. Va a irse + +00:01:10.500 --> 00:01:13.120 +por muchos lugares y no va a saber exactamente qué es lo que + +00:01:13.120 --> 00:01:16.760 +tú quieres. En cambio, si eres específico como este prompt, que es + +00:01:16.760 --> 00:01:21.860 +simplemente una oración donde decimos: «Explícame la fotosíntesis en tres oraciones», pues va + +00:01:21.860 --> 00:01:24.820 +a ser mucho más cercano a lo que nosotros estamos esperando. De + +00:01:24.820 --> 00:01:29.220 +hecho, el resultado es exactamente a lo que esperábamos. Durante este curso quiero + +00:01:29.220 --> 00:01:33.400 +que pienses sobre los LLMs como si fuera un practicante. Y el + +00:01:33.400 --> 00:01:37.260 +curso, más allá de prompt engineering, va a enseñarnos cómo delegar de manera + +00:01:37.260 --> 00:01:42.040 +efectiva. El tema es que cuando delegamos a una persona, es fácil + +00:01:42.040 --> 00:01:45.080 +culpar a la persona por no hacer lo que nosotros esperábamos y no + +00:01:45.080 --> 00:01:49.320 +reflexionar sobre cómo lo hicimos nosotros. Durante este curso vamos a ver + +00:01:49.320 --> 00:01:54.260 +cuál es la forma más efectiva de ser claro, conciso y específico para + +00:01:54.260 --> 00:01:58.539 +que saquemos el mayor provecho de estas herramientas. Vamos a estar trabajando + +00:01:58.540 --> 00:02:03.800 +con cuatro herramientas: ChatGPT, Gemini, Claude y Microsoft Copilot. Y todo lo que + +00:02:03.800 --> 00:02:07.060 +vamos a aprender va a ser aplicable en todas. Este ejercicio que + +00:02:07.060 --> 00:02:10.500 +acabamos de hacer fue solo abrir ChatGPT y empezar a escribir. Si no + +00:02:10.500 --> 00:02:13.519 +has creado una cuenta, quiero que la crees y vamos a hacer + +00:02:13.520 --> 00:02:16.940 +el siguiente ejercicio en donde vamos a usar un reporte de McKinsey que + +00:02:16.940 --> 00:02:20.740 +te dejo acá abajo en los recursos, y vamos a aprender cómo + +00:02:20.740 --> 00:02:23.620 +sacar el mayor provecho a este tipo de herramientas para el uso que + +00:02:23.620 --> 00:02:26.560 +todo el mundo le da, generar un resumen. Pero ¿cómo lo podemos + +00:02:26.560 --> 00:02:29.560 +hacer de manera efectiva? Vamos a ver esta interfaz, que es la de + +00:02:29.560 --> 00:02:33.560 +ChatGPT. Quiero que nos familiaricemos muy rápido. Tenemos una barra lateral donde + +00:02:33.560 --> 00:02:37.960 +acá podemos ver, eh, nuevo chat. Ese botón lo vamos a estar usando + +00:02:37.960 --> 00:02:42.200 +todo el tiempo. Buscar entre todos los chats que tenemos, librerías, hora, + +00:02:42.200 --> 00:02:47.000 +GPTS y proyectos. Todas estas partes o configuraciones las vamos a ver luego. + +00:02:47.000 --> 00:02:50.400 +Y en el centro tenemos una caja de texto donde podemos escribir + +00:02:50.400 --> 00:02:55.829 +nuestros prompts. Y acá tenemos la opción de poder subir un archivo. Entonces, + +00:02:55.829 --> 00:02:58.340 +le voy a dar en el más, le voy a agregar fotos + +00:02:58.340 --> 00:03:05.280 +y archivos, y en esta parte me voy a ir a Descargas. Y + +00:03:05.280 --> 00:03:09.280 +en Descargas tengo el reporte de McKinsey del estado de arte de + +00:03:09.280 --> 00:03:13.740 +inteligencia artificial, que además está en inglés, y que me habla sobre cuál + +00:03:13.740 --> 00:03:17.440 +es el estado de inteligencia artificial en el 2025. Este reporte es + +00:03:17.440 --> 00:03:20.300 +de marzo, si no estoy mal. Y lo que vamos a hacer es + +00:03:20.300 --> 00:03:23.400 +que vamos a tratar de saber qué es lo valioso de este + +00:03:23.400 --> 00:03:30.540 +reporte para mí, sin necesidad de entrar a leerlo. Entonces, lo abro y + +00:03:30.540 --> 00:03:33.320 +quiero que pares un momento la clase y me dejes en los + +00:03:33.320 --> 00:03:39.260 +comentarios cuál sería la primera instrucción que tú harías. Escríbela en los comentarios, + +00:03:39.260 --> 00:03:43.140 +déjala ahí y continúas con la clase. Mi primera instrucción va a + +00:03:43.140 --> 00:03:50.240 +ser decirle de qué trata este archivo. Es más, voy a decirle este + +00:03:50.240 --> 00:03:52.960 +reporte, porque, pues, yo sé que es un reporte, yo sé que + +00:03:52.960 --> 00:03:58.840 +estoy subiendo, entonces lo voy a enviar y me genera la siguiente respuesta + +00:03:58.840 --> 00:04:02.160 +que, de hecho, ya la terminó de hacer y me dice: «El + +00:04:02.160 --> 00:04:06.900 +reporte es este, es de marzo 2025», no me había equivocado. Y analiza + +00:04:06.900 --> 00:04:10.760 +cómo las empresas están adaptando su organización, procesos y talento para aprovechar + +00:04:10.760 --> 00:04:15.440 +el valor de inteligencia artificial generativa y otras formas de AI. Y dice + +00:04:15.440 --> 00:04:19.440 +puntos claves, habla de esos puntos claves y luego me vuelve a + +00:04:19.440 --> 00:04:23.280 +decir, como en resumen, el documento muestra que la IA ya está siendo + +00:04:23.280 --> 00:04:26.620 +ampliamente difundida, pero las compañías aún están en una fase temprana de + +00:04:26.620 --> 00:04:31.120 +traducir ese uso impa-- en un impacto económico a gran escala, y que + +00:04:31.120 --> 00:04:34.480 +el éxito depende más de cambios organizacionales y de gestión que de + +00:04:34.480 --> 00:04:37.840 +la tecnología en sí. Y me dice si quiere que haga un resumen + +00:04:37.840 --> 00:04:41.620 +ejecutivo en una página en español. La verdad es que de por + +00:04:41.620 --> 00:04:46.480 +sí ya tenemos bastante texto, más corto que leer el reporte. Acá, si + +00:04:46.480 --> 00:04:49.640 +yo veo en Sources, voy a ver de dónde viene la información + +00:04:49.640 --> 00:04:53.000 +que me la está dando, pues viene del archivo que yo le subí. + +00:04:53.000 --> 00:04:56.400 +Y vamos a familiarizarnos con un par de cosas. Yo acá tengo + +00:04:56.400 --> 00:05:01.400 +una serie de botones en donde puedo copiar el resultado que me dio + +00:05:01.400 --> 00:05:03.760 +y, por ejemplo, acá yo lo puedo pegar y tengo el resultado + +00:05:03.760 --> 00:05:09.170 +exacto. Puedo decirle que fue una buena respuesta, que fue una mala respuesta. + +00:05:09.170 --> 00:05:12.700 +En general, este feedback le ayuda a ChatGPT a mejorar la calidad + +00:05:12.700 --> 00:05:18.260 +de sus respuestas en, en el tiempo. Puedo compartir esto, puedo generar este + +00:05:18.260 --> 00:05:22.560 +texto y compartirlo en un enlace, en redes sociales, etcétera. O puedo + +00:05:22.560 --> 00:05:27.660 +volverlo a generar, eh, y me dice qué modelo usó, que en clases + +00:05:27.660 --> 00:05:31.979 +futuras vamos a hablar un poco sobre los modelos y más acciones. + +00:05:31.980 --> 00:05:36.640 +Entonces, mi problema con este resumen es que sería lo que cualquiera me + +00:05:36.640 --> 00:05:40.400 +podría decir sobre el reporte, pero al fin y al cabo, yo + +00:05:40.400 --> 00:05:43.920 +hice una pregunta amplia, yo hice una pregunta vaga y me dio una + +00:05:43.920 --> 00:05:48.160 +respuesta vaga. ¿Qué tal si le cuento un poquito quién soy yo + +00:05:48.160 --> 00:05:52.400 +para ver si esto me, me empieza a decir más este reporte cómo + +00:05:52.400 --> 00:05:58.900 +me podría ayudar? Entonces, le voy a decir: «Ok, esto fue útil, + +00:05:58.900 --> 00:06:09.424 +pero quiero que me des...»Eh, los tres puntos más valiosos, valiosos para mí. + +00:06:09.424 --> 00:06:14.284 +Y le voy a decir: «Te cuento de mí». Eh... Soy Juan + +00:06:14.284 --> 00:06:27.884 +Pablo Rojas y soy el Chief Product Officer de Platzi, la EdTech más + +00:06:27.884 --> 00:06:42.484 +grande de Latinoamérica. Nosotros nos enfocamos en enseñar... programación, inteligencia artificial, diseño, + +00:06:42.484 --> 00:06:55.304 +marketing, negocios y todas las habilidades de tecnología que necesitan los profesionales de + +00:06:55.304 --> 00:06:59.184 +hoy en día. Y para hacer eso tengo el siguiente mensaje que + +00:06:59.184 --> 00:07:03.064 +escribí que es ok, esto es útil, pero quiero que me des tres + +00:07:03.064 --> 00:07:07.564 +puntos más valiosos para mí. Y esto nos funcionó muy bien cuando + +00:07:07.564 --> 00:07:11.874 +exp-- eh, pedimos que nos explicara la fotosíntesis, entonces hagámoslo acá. Pero tengo + +00:07:11.874 --> 00:07:16.384 +que decirle quién soy yo, porque, pues... De hecho, hagamos esto. Me + +00:07:16.384 --> 00:07:19.444 +va a ir a un nuevo chat, le voy a decir quién soy + +00:07:19.444 --> 00:07:25.724 +yo. Y me va a decir: «Es una gran pregunta», pero, pues, + +00:07:25.724 --> 00:07:30.564 +no sabe nada. Se fue por el lado más filosófico. Entonces, dentro de + +00:07:30.564 --> 00:07:35.843 +mis chats me devuelvo a donde estaba, volvemos con nuestro querido prompt + +00:07:35.844 --> 00:07:38.444 +y le voy a contar sobre mí, porque no sabe quién soy yo. + +00:07:38.444 --> 00:07:41.404 +Te cuento sobre mí. Soy Juan Pablo Rojas, soy el Chief Product + +00:07:41.404 --> 00:07:44.764 +Officer de Platzi, la EdTech más grande de Latinoamérica. Nosotros nos enfocamos en + +00:07:44.764 --> 00:07:49.224 +enseñar programación, inteligencia artificial, diseño, marketing, negocios y todas las habilidades de + +00:07:49.224 --> 00:07:52.904 +tecnología que necesitan los profesionales hoy en día. Entonces, me fui con algo + +00:07:52.904 --> 00:07:57.764 +un poquito más largo. Vamos a ver qué tan útil termina siendo. + +00:07:57.764 --> 00:08:01.544 +Lo enviamos. Me dio la respuesta y me dice: «Perfecto, Juan Pablo». Acá + +00:08:01.544 --> 00:08:04.584 +ya me está diciendo por nombre propio y todo. «Gracias por compa-- + +00:08:04.584 --> 00:08:08.104 +contarme de ti, dado tu rol como Chief Product Officer en esta EdTech, + +00:08:08.104 --> 00:08:11.164 +estos son los tres pun-puntos importantes». Y me dice: «El verdadero valor + +00:08:11.164 --> 00:08:14.884 +del AI viene del rewiring, no en casos aislados, el talento del y + +00:08:14.884 --> 00:08:18.523 +el reskilling son el cuello de botella y gobernanza y confianza en + +00:08:18.524 --> 00:08:22.564 +AI son claves para escalar». Y me da como más texto, pero se + +00:08:22.564 --> 00:08:26.544 +fue muy largo. Y luego me dice: «En resumen, integrar la inteligencia + +00:08:26.544 --> 00:08:31.884 +artificial en la experiencia completa de aprendizaje, capate-- cap-capitalizar la ola de reskilling + +00:08:31.884 --> 00:08:35.864 +masivo y diferenciarse como líderes en ética y gobernanza en AI, son + +00:08:35.864 --> 00:08:40.604 +los supre-- aprendizajes más estratégicos que este reporte te aporta. ¿Quieres que te + +00:08:40.604 --> 00:08:44.303 +arme una traducción de estos puntos en un plan accionable para Platzi?» + +00:08:44.364 --> 00:08:46.764 +Y, pues sí, sí, quiero que me arme un plan. Acá tengo un + +00:08:46.764 --> 00:08:50.804 +prompt, va a leerlo mientras nos genera la respuesta. Le digo: «Me + +00:08:50.804 --> 00:08:53.144 +suena lo del plan, pero quiero que me lo des en un bullet + +00:08:53.144 --> 00:08:56.784 +points concretos, concisos y accionables», porque es que esta vaina de que + +00:08:56.784 --> 00:08:59.254 +me esté dando tanto texto, la verdad es que ya n-no lo voy + +00:08:59.254 --> 00:09:02.004 +a leer. O sea, si quiero... O sea, a estas alturas ya + +00:09:02.004 --> 00:09:05.704 +me hubiera leído el reporte, ¿no? Y le digo: «No me expliques todo + +00:09:05.704 --> 00:09:09.784 +el contexto, dime el insight y la recomendación directa. Si tengo preguntas, + +00:09:09.784 --> 00:09:13.624 +te las haré. No superes más de quinientos caracteres». Entonces ahora ya me + +00:09:13.624 --> 00:09:16.484 +dio una respuesta, porque como les dije al inicio de la clase, + +00:09:16.484 --> 00:09:19.924 +esto es hablar como en WhatsApp. No quieres que tu amigo te mande + +00:09:19.924 --> 00:09:23.844 +una pared de texto, quieres que sea un poquito más conversacional la + +00:09:23.844 --> 00:09:28.284 +cosa. Entonces, claro, aquí te va en bullets directo y accionable. Personalización total, + +00:09:28.284 --> 00:09:33.984 +implementar inteligencia artificial para rutas de aprendizaje adaptativas y tutores virtuales. Esa + +00:09:33.984 --> 00:09:38.724 +suena interesante. Reskilling masivo, lanzar programas corporativos enfocados en inteligencia artificial, data de + +00:09:38.724 --> 00:09:44.444 +automatización. Confianza y ética, crear la línea de AI responsable. Eh... con + +00:09:44.444 --> 00:09:49.164 +cursos en compliance, riesgos y gobernanza. Ecosistema integral, integrar, eh, IA en la + +00:09:49.164 --> 00:09:53.104 +plataforma, generación de contenido, feedback y evaluación continua. ¿Quieres que te lo + +00:09:53.104 --> 00:09:56.344 +priorice en un roadmap de seis a doce meses? Pues la verdad es + +00:09:56.344 --> 00:09:59.213 +que yo no entendí muy bien a qué se refiere con esto. + +00:09:59.213 --> 00:10:03.824 +Y miren que cuando yo selecciono me dice: «Ask ChatGPT». Entonces, le voy + +00:10:03.824 --> 00:10:09.773 +a decir: «Explícame a qué te refieres con esto». Y le voy + +00:10:09.773 --> 00:10:14.664 +a decir: «Recuerda ser conciso», porque no quiero que me dé otra vez + +00:10:14.664 --> 00:10:18.473 +una pared de texto. Entonces, me dice: «Con AI responsible...». Voy a + +00:10:18.473 --> 00:10:21.824 +asumir que está en inglés. «Me refiero a crear en Platzi una línea + +00:10:21.824 --> 00:10:25.384 +de cursos y certificaciones sobre el uso responsable de AI, ética, privacidad + +00:10:25.384 --> 00:10:29.864 +de datos, cumplimiento regulatorio, sesgos y riesgos. Así posicionan a Platzi como referente + +00:10:29.864 --> 00:10:34.024 +en gobernanza en AI en Latam, diferenciándose de quienes solo enseñan la + +00:10:34.024 --> 00:10:38.644 +parte técnica». Acá ChatGPT no sabe que tenemos la escuela de, de inteligencia + +00:10:38.644 --> 00:10:42.504 +artificial donde ya tenemos cursos de esto, pero buenísimo porque quiere decir + +00:10:42.504 --> 00:10:46.124 +que estamos en línea. Y me dice: «¿Quieres que te sugiera el temario + +00:10:46.124 --> 00:10:49.544 +inicial para esa línea?» La verdad es que no. Con este último + +00:10:49.544 --> 00:10:54.704 +resultado y con esa explicación, me parece que logramos el objetivo de entender + +00:10:54.704 --> 00:10:57.744 +qué es lo que nos importa de este reporte. Y ya, por + +00:10:57.744 --> 00:11:06.694 +ejemplo, le puedo decir, eh, en qué página, eh... del reporte, del reporte + +00:11:06.694 --> 00:11:11.163 +está lo de ética de AI. Y que me diga la página + +00:11:11.164 --> 00:11:16.714 +en específico y ya puedo irme a leer exactamente donde yo quiero, eh... + +00:11:16.714 --> 00:11:19.564 +profundizar. Entonces, me dice alrededor de la página diez y once del + +00:11:19.564 --> 00:11:25.184 +PDF. Me voy a abrir mi PDF, lo tengo por acá y vamos + +00:11:25.184 --> 00:11:28.174 +a ir a la diez y once. Y en la parte diez + +00:11:28.174 --> 00:11:35.104 +y once me dice cómo se aplica en organizaciones. Un poco más sobre + +00:11:35.104 --> 00:11:40.624 +cómo funcionan las organizaciones, el shifting de, de responsabilidades y un poco + +00:11:40.624 --> 00:11:45.064 +más acerca de cómo, eh, se refiere sobre eso. Y acá me dice: + +00:11:45.064 --> 00:11:50.284 +«Habla sobre cómo los, eh, las organizaciones com-- trataron especialistas en cumplimiento + +00:11:50.284 --> 00:11:53.484 +de AI». Y por eso es que me está diciendo que ese es + +00:11:53.484 --> 00:11:59.284 +un tema importante a tratar. Ahora, durante esta clase fuiste viendo cómo + +00:11:59.284 --> 00:12:02.604 +yo hice el ejercicio. Quiero que pares y hagas el ejercicio tú con + +00:12:02.604 --> 00:12:06.904 +este mismo reporte contándole sobre ti hasta que llegues a un resultado + +00:12:06.904 --> 00:12:11.064 +que era justo lo que necesitabas. Y cuando llegues a ese punto, vas + +00:12:11.064 --> 00:12:14.544 +a escribir el siguiente prompt. ¿Cuál hubiera sido el prompt que debí + +00:12:14.544 --> 00:12:20.140 +decirte al inicio para lograr el resultado que logramos?Lo envías, y va a + +00:12:20.140 --> 00:12:24.799 +decirte cuál hubiera sido el prompt exacto que hubieras escrito para subir + +00:12:24.799 --> 00:12:28.620 +el reporte, darle este mensaje y llegar a la respuesta de manera directa, + +00:12:28.620 --> 00:12:33.120 +sin tener que darle tanto feedback. Ahora, todo este proceso que hicimos + +00:12:33.120 --> 00:12:38.259 +se llama prompt shadowing. Fuimos trabajando en conjunto con ChatGPT para llegar a + +00:12:38.259 --> 00:12:42.919 +donde queríamos llegar. Y está bien, funciona para cuando tenemos problemas nuevos. + +00:12:42.919 --> 00:12:46.820 +Si queremos que se replique esto para cada reporte que tenemos que leer + +00:12:46.820 --> 00:12:51.579 +o para cada artículo que queremos priorizar nuestro tiempo y saber si + +00:12:51.579 --> 00:12:56.079 +dedicar el tiempo ahí, pues con este prompt ya lo podríamos hacer. En + +00:12:56.079 --> 00:12:59.820 +mi caso, el resultado es: «Soy Juan Pablo Rojas, Chief Product Officer + +00:12:59.820 --> 00:13:05.440 +en Platzi». El, el enfoque que es Platzi. «Te paso este reporte McKinsey + +00:13:05.440 --> 00:13:07.579 +sobre el estado de AI. Quiero que lo leas y me des + +00:13:07.579 --> 00:13:12.079 +los tres insights más relevantes para mi rol y para Platzi. Recomendaciones accionables + +00:13:12.079 --> 00:13:15.579 +en bullets y referencias a las páginas donde se habla de ética, + +00:13:15.579 --> 00:13:20.460 +compliance y gobernanza de AI». Y me dice: «¿Quieres que tengas una plantilla + +00:13:20.460 --> 00:13:23.600 +más genérica?» La verdad es que no. Voy a usar este prompt, + +00:13:23.600 --> 00:13:27.880 +me voy a ir a un nuevo chat, voy a agregar el documento + +00:13:27.880 --> 00:13:32.579 +y voy a darle el prompt que me entregó ChatGPT. Si se + +00:13:32.579 --> 00:13:35.999 +dan cuenta, abro un nuevo chat cada vez que tengo una duda. Siéntanse + +00:13:35.999 --> 00:13:41.979 +libres, son gratis. Démosle enter y vamos a tener el resumen tal + +00:13:41.980 --> 00:13:47.099 +cual, los tres insights como yo los pedí, como necesitaba. Incluso me está + +00:13:47.099 --> 00:13:51.039 +dando la referencia de en qué parte del archivo lo está haciendo. + +00:13:51.039 --> 00:13:55.020 +Y todo en un solo prompt. Deja en los comentarios el prompt que + +00:13:55.020 --> 00:13:58.139 +te salió a ti. ¿Cuál fue el prompt con el que hubieras + +00:13:58.139 --> 00:14:03.999 +llegado al mismo resultado sin necesidad de tener una conversación uno a uno + +00:14:03.999 --> 00:14:06.699 +con ChatGPT para poder leer este reporte? + diff --git "a/prompt-engineering/20-An\303\241lisis de datos de e commerce con ChatGPT.mp4" "b/prompt-engineering/20-An\303\241lisis de datos de e commerce con ChatGPT.mp4" new file mode 100644 index 0000000000000000000000000000000000000000..01929a7dfdcdc72d77907ceb551056c5d7e1e78c --- /dev/null +++ "b/prompt-engineering/20-An\303\241lisis de datos de e commerce con ChatGPT.mp4" @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8015b1bd6d421232ba79875d33118e7387cc4762e9a54e639fa39de480e01d9 +size 269371002 diff --git "a/prompt-engineering/20-An\303\241lisis de datos de e commerce con ChatGPT.sub.vtt" "b/prompt-engineering/20-An\303\241lisis de datos de e commerce con ChatGPT.sub.vtt" new file mode 100644 index 0000000000000000000000000000000000000000..15ce84cd13d5f761a518c0c0685a25c9dbd00955 --- /dev/null +++ "b/prompt-engineering/20-An\303\241lisis de datos de e commerce con ChatGPT.sub.vtt" @@ -0,0 +1,344 @@ +WEBVTT + +00:00:00.100 --> 00:00:03.820 +No hemos explotado todas las capacidades que tienen los LLMs y una de + +00:00:03.820 --> 00:00:07.779 +esas es análisis de datos. Para esta clase vamos a usar chatGPT + +00:00:07.780 --> 00:00:10.080 +y en la parte de los recursos te dejo un Excel que en + +00:00:10.080 --> 00:00:12.959 +este momento te voy a mostrar. Es un Excel que tiene el + +00:00:12.960 --> 00:00:16.420 +reporte de ventas de un e-commerce. Todos los datos que ves acá están + +00:00:16.420 --> 00:00:18.800 +en dólares y lo que vas a ver es un reporte donde + +00:00:18.800 --> 00:00:23.880 +vemos ventas por mes y revenue. Luego tenemos las ventas y el average + +00:00:23.880 --> 00:00:27.360 +ticket size value. Y vemos los datos acá en texto y vemos + +00:00:27.360 --> 00:00:30.920 +las gráficas. Además, tenemos la base de datos de productos, que tenemos mil + +00:00:30.920 --> 00:00:37.060 +productos, tenemos mil clientes y tenemos noventa y nueve mil transacciones. De + +00:00:37.060 --> 00:00:41.260 +hecho, este Excel tiene un error y es con intención que vemos acá, + +00:00:41.260 --> 00:00:44.460 +que es una fórmula que no, en este caso en Excel no + +00:00:44.460 --> 00:00:48.300 +está funcionando bien, pero que en Google Sheets sí funciona. Y vamos a + +00:00:48.300 --> 00:00:52.160 +ver qué es lo que pasa cuando entramos a chatGPT y cargamos + +00:00:52.160 --> 00:00:56.580 +este archivo. Vamos a chatGPT, vamos a darle en el más, vamos a + +00:00:56.580 --> 00:01:00.380 +agregar fotos o archivos y le vamos a dar reporte de ventas. + +00:01:00.380 --> 00:01:08.400 +Cuando lo cargamos le vamos a decir: actúa como analista de datos. Y + +00:01:08.400 --> 00:01:12.060 +este rol puede ser el rol que tú escojas. Yo en este + +00:01:12.060 --> 00:01:15.240 +caso estoy probando analista de datos, pero quiero que en los comentarios me + +00:01:15.240 --> 00:01:18.940 +dejes que otros roles hacen este trabajo de ver reportes, de ver + +00:01:18.940 --> 00:01:24.060 +Excel, de ver incluso este tipo de datos en programación, como podría ser + +00:01:24.060 --> 00:01:28.720 +un data scientist. Y durante este ejercicio, aunque yo puse este rol, + +00:01:28.720 --> 00:01:32.030 +intenta poner ese rol que tú estás viendo en los comentarios del-- las + +00:01:32.030 --> 00:01:35.380 +otras personas que están tomando esta clase o los otros roles que + +00:01:35.380 --> 00:01:39.020 +te imagines. Y el que funcione es el que vas a usar en + +00:01:39.020 --> 00:01:42.899 +la próxima tarea que tú tengas dentro de tu trabajo. Y le + +00:01:42.900 --> 00:01:51.300 +vas a decir: «Lee el Excel y cuéntame qué encuentras». Lo enviamos y + +00:01:51.300 --> 00:01:54.480 +lo primero que quiero que veas es que al momento de enviarlo, + +00:01:54.480 --> 00:01:58.440 +chatGPT va a darme una previsualización de ese Excel, voy a poder ver + +00:01:58.440 --> 00:02:03.960 +cómo lo está interpretando. Acá puedo ver la primera tabla donde tenemos + +00:02:03.960 --> 00:02:08.160 +el-- los reportes y vemos que son tres tablas. Luego, acá arriba, yo + +00:02:08.160 --> 00:02:13.500 +puedo cambiar entre sheets, puedo ver los productos, puedo ver los clientes + +00:02:13.500 --> 00:02:17.460 +y puedo ver las transacciones. Y en transacciones puedo ver que para chatGPT + +00:02:17.460 --> 00:02:22.580 +sí fue clara la fórmula y la pudo resolver. Lo importante acá + +00:02:22.580 --> 00:02:26.280 +es que chatGPT no está viendo la fórmula, está viendo el resultado de + +00:02:26.280 --> 00:02:29.920 +la fórmula. Entonces, en este caso, estoy viendo literalmente los meses en + +00:02:29.920 --> 00:02:34.690 +las que ocurrieron esas transacciones. Esta transacción, que fue el veintidue-- el 26 + +00:02:34.690 --> 00:02:38.700 +de febrero del 2024, la está ca-- clasificando en el mes de + +00:02:38.700 --> 00:02:43.460 +febrero. Luego veo que esta tarea es más difícil y está analizando. Y + +00:02:43.460 --> 00:02:47.900 +la forma en la que analiza es creando código de programación. Los + +00:02:47.900 --> 00:02:51.760 +LLMs no son buenos haciendo matemáticas, porque al final lo que hacen es + +00:02:51.760 --> 00:02:55.900 +entender nuestro lenguaje y generar texto. La forma en la que mitigan + +00:02:55.900 --> 00:02:59.940 +ese problema de matemáticas es que son muy buenos generando texto y el + +00:02:59.940 --> 00:03:04.840 +código es texto. Entonces, estos problemas los solucionan a partir de código. + +00:03:04.840 --> 00:03:08.100 +Generan el código, lo corren y el resultado de ese código es lo + +00:03:08.100 --> 00:03:13.280 +que usan para darnos la respuesta. Si tú sabes de programación, puedes + +00:03:13.280 --> 00:03:17.220 +ver el código, incluso puedes aprender muchas cosas cuando uno lee el código + +00:03:17.220 --> 00:03:21.040 +que genera la AI. Si tú no sabes programación, no te preocupes, + +00:03:21.040 --> 00:03:24.350 +no tienes que leer este código, no lo tienes que entender. Lo importante + +00:03:24.350 --> 00:03:26.540 +es saber que esta es la forma en la que soluciona los + +00:03:26.540 --> 00:03:30.860 +problemas. Sigue pensando y de hecho yo puedo ver que acá se quedó + +00:03:30.860 --> 00:03:34.880 +trabado. Pensó por veinte segundos, no siguió pensando y de hecho ya + +00:03:34.880 --> 00:03:39.180 +dio la tarea por hecho. Cuando te pasa esto, puedes dar en este + +00:03:39.220 --> 00:03:46.520 +ícono de pausa y cuando das en el ícono de pausa, va + +00:03:46.520 --> 00:03:49.700 +a decir que el análisis paró. ¿Qué podemos hacer para que vuelva a + +00:03:49.700 --> 00:03:54.600 +iniciar? Tenemos este ícono que parece como un refresh que dice: «Try + +00:03:54.600 --> 00:04:00.600 +again» y va a usar GPT-5. Le pico y le doy try again. + +00:04:00.600 --> 00:04:03.840 +Y con eso va a volver a correr. Nos entregó el resultado. + +00:04:03.840 --> 00:04:09.500 +Me dice: «Primeras veinte filas, qué es lo que encuentra, luego porcentajes nulos». + +00:04:09.500 --> 00:04:13.240 +Me dice: «Listo, ya analicé tu Excel, esto es lo que encontré. + +00:04:13.240 --> 00:04:19.300 +Estructura y calidad de datos, columnas detectadas, KPIs principales, tendencias, desglose de rankings, + +00:04:19.300 --> 00:04:26.479 +anomalías, archivos explorados, siguientes pasos». Entonces, el punto acá es que fuimos + +00:04:26.480 --> 00:04:30.340 +con un prompt muy ambiguo para que vieras que podría analizar el Excel, + +00:04:30.340 --> 00:04:33.800 +que es la-- el proceso que toma para analizarlo y cuáles eran + +00:04:33.800 --> 00:04:38.540 +los pasos que iba a hacer para poder leer este archivo. Lo importante + +00:04:38.540 --> 00:04:41.860 +acá es que va a crear código para solucionar los problemas que + +00:04:41.860 --> 00:04:47.680 +nosotros tengamos de análisis de datos. Incluso, yo le puedo decir: crea una + +00:04:47.680 --> 00:04:54.080 +gráfica de tendencia de ventas del 2024. Y él va a tomar + +00:04:54.080 --> 00:04:58.380 +el Excel, ya que lo entendió, va a crear una gráfica y lo + +00:04:58.380 --> 00:05:01.560 +importante acá es que tiene dos formas de crear la gráfica. Puede + +00:05:01.560 --> 00:05:04.840 +generar una imagen como lo hicimos en la clase pasada o puede generar + +00:05:04.840 --> 00:05:08.620 +la gráfica a partir de código. En este caso, puedes ver que + +00:05:08.620 --> 00:05:12.740 +pensó varias veces y que no logró hacer el análisis a la primera, + +00:05:12.740 --> 00:05:17.840 +pero eventualmente nos entregó las gráficas y entregó las gráficas creadas por + +00:05:17.840 --> 00:05:24.020 +código. Estas gráficas, tal cual, no son las generadas por lo que aprendimos + +00:05:24.020 --> 00:05:27.400 +en la clase pasada, sino son gráficas generadas desde ese código, que + +00:05:27.400 --> 00:05:30.720 +se ven más a lo que nosotros podríamos hacer en Excel. Y lo + +00:05:30.720 --> 00:05:35.340 +más importante acá, no necesariamente quiere decir que estas gráficas estén bien. + +00:05:35.340 --> 00:05:40.160 +Nosotros siempre debemos entrar a validar todo lo que genera chatGPT o cualquier + +00:05:40.160 --> 00:05:44.080 +LLM, como lo hemos visto en las clases pasadas. Si yo veo, + +00:05:44.080 --> 00:05:49.090 +me hizo una tendencia por conteo de registros que no se parece en + +00:05:49.090 --> 00:05:52.680 +nada a la gráfica de ventas que tenemos acá. Y eso también + +00:05:52.680 --> 00:05:57.620 +es porque mi prompt fue muy ambiguo. Si yo incluso veo por acá + +00:05:57.620 --> 00:06:04.027 +el pensamiento, dice: «No pudo encontrar una métrica...Entonces no encontró tampoco una + +00:06:04.027 --> 00:06:08.728 +columna que se llame Ventas, entonces trató de buscar por facturación o subtotal + +00:06:08.728 --> 00:06:13.067 +y se fue dando vueltas. En este caso, también es importante ser + +00:06:13.068 --> 00:06:17.568 +específicos en nuestros prompts. Si yo le hubiera dicho acá que la gráfica + +00:06:17.568 --> 00:06:21.668 +o la métrica por la cual debe ver el reporte es revenue, + +00:06:21.668 --> 00:06:26.048 +incluso si nosotros vemos acá en transacciones, vemos precio y le hubiera especificado + +00:06:26.048 --> 00:06:30.328 +que tiene que ir a transacciones y sacar desde ahí la sumatoria, + +00:06:30.328 --> 00:06:35.207 +pues hubiera hecho un mejor trabajo. El punto acá es que uses todo + +00:06:35.207 --> 00:06:38.988 +lo que ya aprendiste durante el curso para resolver el siguiente reto. + +00:06:38.988 --> 00:06:44.988 +Si tú fueras el chief marketing officer de este e-commerce, ¿dónde invertirías tu + +00:06:44.988 --> 00:06:51.008 +dinero para poder crecer el siguiente mes las ventas de este e-commerce? + +00:06:51.008 --> 00:06:53.728 +Vas a hacer el análisis y en los comentarios nos vas a dejar + +00:06:53.728 --> 00:06:58.048 +el resultado. ¿Dónde invertirías tú el dinero? Y si quieres acompañarlo de + +00:06:58.048 --> 00:07:03.168 +alguna gráfica o algún insight que hayas logrado obtener con ChatGPT pidiéndole actuar + +00:07:03.168 --> 00:07:06.587 +como un analista de datos, como un data scientist, como un experto + +00:07:06.587 --> 00:07:11.097 +en marketing, como un experto en ventas... lo que tú escojas. Pero nos + +00:07:11.097 --> 00:07:14.548 +vas a dejar en los comentarios el prompt que usaste, dónde invertirías + +00:07:14.548 --> 00:07:18.587 +el dinero y si quieres agregar alguna gráfica que hayas hecho para soportar + +00:07:18.587 --> 00:07:22.727 +el lugar donde invertirías. El punto acá es que uses todo lo + +00:07:22.728 --> 00:07:27.408 +que aprendiste dentro de este curso para so-- resolver el siguiente reto. Si + +00:07:27.408 --> 00:07:31.587 +tú fueras la persona a cargo de decidir dónde este e-commerce debería + +00:07:31.587 --> 00:07:36.568 +invertir el siguiente mes para incrementar las ventas, ¿cómo lo harías? ¿Cuál sería + +00:07:36.568 --> 00:07:39.948 +el lugar donde invertirías? En el resultado de tu análisis, quiero que + +00:07:39.948 --> 00:07:44.467 +lo pongas en la sección de comentarios. No nos digas dónde invertirías, si + +00:07:44.467 --> 00:07:48.248 +creaste algún gráfico para soportar esta teoría y que nos cuentes con + +00:07:48.248 --> 00:07:52.688 +qué prompt llegaste al resultado, qué rol le diste, cuál fue la instrucción, + +00:07:52.688 --> 00:07:56.008 +qué límites tenías que poner para llegar a lo que querías ver + +00:07:56.008 --> 00:08:00.138 +como resultado. E incluso cuéntanos si hiciste una cadena de prompts, un prompt + +00:08:00.138 --> 00:08:05.028 +chaining para resolver el problema, describe cuál fue la cadena y ponnos + +00:08:05.028 --> 00:08:07.688 +el último prompt que nos llevó a la re-- al resultado que nos + +00:08:07.688 --> 00:08:08.908 +estás compartiendo. + diff --git "a/prompt-engineering/21-Evaluaci\303\263n y validaci\303\263n de respuestas de LLM con criterios precisos.mp4" "b/prompt-engineering/21-Evaluaci\303\263n y validaci\303\263n de respuestas de LLM con criterios precisos.mp4" new file mode 100644 index 0000000000000000000000000000000000000000..974cf0fdcdfdfaca82455a9c7fb9f2ba1a3ff33d --- /dev/null +++ "b/prompt-engineering/21-Evaluaci\303\263n y validaci\303\263n de respuestas de LLM con criterios precisos.mp4" @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:343eada4113ceb47823ea9db0a18d8c64888cf69d90f3d2f5276b36dd0bca706 +size 327121338 diff --git "a/prompt-engineering/21-Evaluaci\303\263n y validaci\303\263n de respuestas de LLM con criterios precisos.sub.vtt" "b/prompt-engineering/21-Evaluaci\303\263n y validaci\303\263n de respuestas de LLM con criterios precisos.sub.vtt" new file mode 100644 index 0000000000000000000000000000000000000000..b8fbcc3fe4312abaecc89d9bb8c2c0662e74e63f --- /dev/null +++ "b/prompt-engineering/21-Evaluaci\303\263n y validaci\303\263n de respuestas de LLM con criterios precisos.sub.vtt" @@ -0,0 +1,383 @@ +WEBVTT + +00:00:00.140 --> 00:00:03.620 +Lo último que te quiero enseñar es cómo puedes evaluar las respuestas de + +00:00:03.620 --> 00:00:08.299 +un LLM. Y acá tenemos dos tipos de evaluación. La primera es + +00:00:08.300 --> 00:00:13.380 +nuestra evaluación con nuestro criterio, con lo que nosotros esperamos cuando estamos usando + +00:00:13.380 --> 00:00:17.680 +los LLMs. Pero la segunda tipo de evaluación es cuando un LLM + +00:00:17.680 --> 00:00:22.060 +evalúa la respuesta de otro LLM. Lo único es que ese segundo tipo + +00:00:22.060 --> 00:00:24.820 +no lo podemos ver si no tenemos todavía un criterio de lo + +00:00:24.820 --> 00:00:28.620 +que estamos esperando. Lo primero que debemos preguntarnos con nuestro prompt es si + +00:00:28.620 --> 00:00:31.419 +es una tarea que voy a solucionar solo una vez, o es + +00:00:31.420 --> 00:00:34.540 +una tarea que tiene cierta recurrencia o voy a solucionar más de una + +00:00:34.540 --> 00:00:37.800 +vez. No es lo mismo hacer una consulta a la ley como + +00:00:37.800 --> 00:00:42.060 +lo hicimos en clases pasadas, versus crear un prompt que me permita redactar + +00:00:42.060 --> 00:00:45.180 +el asunto de los correos que tengo que enviar todas las semanas + +00:00:45.180 --> 00:00:48.780 +a mis clientes. Para el segundo caso, lo primero que tenemos que tener + +00:00:48.780 --> 00:00:53.640 +en mente para evaluar ese prompt es la consistencia. Cada vez que + +00:00:53.640 --> 00:00:56.360 +hacemos un prompt para el caso de uso donde voy a crear el + +00:00:56.360 --> 00:01:00.380 +asunto del correo que envío a todos mis clientes todas las semanas, + +00:01:00.380 --> 00:01:04.700 +debo asegurarme que las modificaciones que hago a ese prompt son consistentes a + +00:01:04.700 --> 00:01:08.580 +través de probarlo más de una vez. En promedio, tú deberías probar + +00:01:08.580 --> 00:01:13.120 +el prompt con diferentes contenidos diez veces y ver que en todas esas + +00:01:13.120 --> 00:01:16.620 +diez veces, todos los casos de uso que tienes se cubren y + +00:01:16.620 --> 00:01:22.520 +el resultado es lo que necesitas las diez veces que lo pruebas. Puede + +00:01:22.520 --> 00:01:26.420 +que sea nueve veces, ocho veces, está bien. Lo importante es que + +00:01:26.420 --> 00:01:29.740 +sepas que no puedes confiar simplemente en el asunto que va a generar + +00:01:29.740 --> 00:01:32.860 +y enviar el correo, sino que siempre vas a tener que validar + +00:01:32.860 --> 00:01:36.560 +que el asunto es lo que tú esperabas y ahí sí enviar el + +00:01:36.560 --> 00:01:40.860 +correo. Debes perseguir llegar a ese diez de diez y con eso + +00:01:40.860 --> 00:01:44.050 +la automatización queda hecha y no te tienes que volver a preocupar por + +00:01:44.050 --> 00:01:47.840 +esta tarea. Los otros tres criterios a tener en cuenta dependen de + +00:01:47.840 --> 00:01:52.020 +los problemas que vamos a solucionar. El primero es precisión, y volvemos a + +00:01:52.020 --> 00:01:55.720 +lo mismo. Si nosotros estamos creando un cuento o una historia, estamos + +00:01:55.720 --> 00:02:00.440 +haciendo un brainstorming, la precisión no es tan importante. Pero si estamos haciendo + +00:02:00.440 --> 00:02:03.880 +un análisis de un contenido, haciendo un análisis de un archivo, creando + +00:02:03.880 --> 00:02:08.280 +un reporte, basándonos de un-- de una reunión para sacar los accionables o + +00:02:08.280 --> 00:02:13.660 +el resumen y enviárselo a diferentes personas, la precisión se vuelve relevante. + +00:02:13.660 --> 00:02:17.100 +Y cada vez que modifiques tu prompt, vas a tener que probarlo con + +00:02:17.100 --> 00:02:23.160 +diez reuniones distintas, validar que la precisión es consistente y ahí sí + +00:02:23.160 --> 00:02:28.260 +poder generar la automatización que estás persiguiendo. El tercer factor es la relevancia. + +00:02:28.260 --> 00:02:31.750 +El contenido que me está generando es lo que yo estoy pidiendo. + +00:02:31.750 --> 00:02:35.400 +Por ejemplo, si genero un informe, se está enfocando en las partes claves + +00:02:35.400 --> 00:02:38.940 +del informe que me importan o está divagando y está yéndose por + +00:02:38.940 --> 00:02:42.060 +las cosas que no deberían ir en este reporte o en este informe + +00:02:42.060 --> 00:02:45.460 +basado en la información que le pasé. Y volvemos a lo mismo, + +00:02:45.460 --> 00:02:49.140 +cada modificación la vamos a probar diez veces, vamos a evaluar la relevancia + +00:02:49.140 --> 00:02:54.060 +del resultado y con esto podemos confiar en la automatización. Por último, + +00:02:54.060 --> 00:02:58.220 +vas a evaluar la claridad. Y este último criterio, yo siempre lo pienso + +00:02:58.220 --> 00:03:01.520 +en qué tan bueno es el resultado basado en los límites que + +00:03:01.520 --> 00:03:05.280 +le di a mi prompt. ¿Está manteniendo la cantidad de caracteres que yo + +00:03:05.280 --> 00:03:08.120 +le pedí? ¿Está usando el lenguaje o la-- o el tono o + +00:03:08.120 --> 00:03:12.340 +la voz del mensaje que yo le estoy pidiendo? Esta parte es poder + +00:03:12.340 --> 00:03:16.220 +evaluar que el resultado y su formato se mantienen en lo que + +00:03:16.220 --> 00:03:21.340 +yo escribí dentro del prompt. Con estos cuatro criterios puedes pasar un prompt + +00:03:21.340 --> 00:03:25.020 +de un chat que usas una vez a algo más sofisticado, un + +00:03:25.020 --> 00:03:30.000 +GPT, un agente o una automatización en N8N que permita que tú te + +00:03:30.000 --> 00:03:34.239 +desentiendas del problema. Lo importante va a ser que evalúes este prompt + +00:03:34.240 --> 00:03:38.440 +cada semana. Puedes confiar en la automatización, pero los modelos van cambiando todo + +00:03:38.440 --> 00:03:41.800 +el tiempo y son cambios que no es de un modelo antiguo + +00:03:41.800 --> 00:03:46.380 +a un modelo nuevo, sino que las empresas que construyen estos modelos van + +00:03:46.380 --> 00:03:49.740 +cambiando ciertas características que no le avisan a las personas que los + +00:03:49.740 --> 00:03:55.280 +usamos. Entonces, siempre estamos con la predisposición de que el modelo, aunque sigue + +00:03:55.280 --> 00:04:02.960 +llamándose igual, GPT-4, GPT-5, Opus 4.1 o Sonnet, puede comportarse ligeramente diferente + +00:04:02.960 --> 00:04:06.500 +de una semana a otra. Y por eso es importante entender que nuestro + +00:04:06.500 --> 00:04:09.980 +ca-trabajo cambió. Aunque ya no eres tú el que está enviando ese + +00:04:10.020 --> 00:04:14.120 +correo cada semana, ahora tu trabajo es verificar que eso que hizo la + +00:04:14.120 --> 00:04:18.120 +inteligencia artificial lo está haciendo de manera correcta y, si no, corregir + +00:04:18.120 --> 00:04:22.520 +el prompt y poder volver a confiar en esa automatización. Ahora vamos a + +00:04:22.520 --> 00:04:26.320 +ir al segundo caso de uso, donde usamos un LLM para evaluar + +00:04:26.320 --> 00:04:30.320 +la respuesta de otro. Y para este ejercicio vamos a volver a la + +00:04:30.320 --> 00:04:34.440 +clase en donde trabajamos con la ley de entidades crediticias. Y si + +00:04:34.440 --> 00:04:37.680 +recuerdan, todo eso lo hicimos en Gemini. Vamos a volver al chat en + +00:04:37.680 --> 00:04:41.600 +Gemini y vamos a ver que teníamos nuestros archivos arriba, que teníamos + +00:04:41.600 --> 00:04:45.420 +el anexo sesenta y tres, el diario de la federación y la ley. + +00:04:45.420 --> 00:04:49.040 +Le habíamos dicho que se comporte como un asistente legal, que únicamente + +00:04:49.040 --> 00:04:53.520 +basaran las respuestas en el documento adjunto, y que si no sabía la + +00:04:53.520 --> 00:04:58.760 +información, nos respondiera que no tenía esa información. Y más adelante, en + +00:04:58.760 --> 00:05:03.800 +nuestro chat le habíamos dicho que, si había información sobre custodia de la + +00:05:03.800 --> 00:05:07.660 +información, nos dijo que el diario de la federación sí tenía, y + +00:05:07.660 --> 00:05:12.460 +validamos si la ley de instituciones crediticias mencionaba algo. Y nos decía que + +00:05:12.460 --> 00:05:15.920 +no. Vamos a copiar ese término y nos vamos a ir a + +00:05:15.920 --> 00:05:19.979 +ChatGPT a validar si es verdad que la ley de instituciones de crédito + +00:05:19.980 --> 00:05:23.540 +no tiene nada que ver con custodia de la información. Vamos a + +00:05:23.540 --> 00:05:27.100 +ir a ChatGPT, vamos a subir la ley, que también te la estoy + +00:05:27.100 --> 00:05:30.460 +dejando en los recursos para que sea más fácil encontrarla. Acá la + +00:05:30.460 --> 00:05:41.340 +vemos. Y le vamos a decir: «Dentro del archivo adjunto hay información sobre + +00:05:41.340 --> 00:05:47.140 +custodia de la información». Acá podría haber inf-- ambigüedad. Voy a decirle: + +00:05:47.140 --> 00:05:53.160 +«Hay, eh, alguna ley sobre custodia de la información». Con eso no repetimos + +00:05:53.160 --> 00:05:56.420 +la palabra y no tenemos chance de que se confunda el modelo. + +00:05:56.420 --> 00:05:59.040 +Esto lo voy a hacer en el modelo en auto, es decir, él + +00:05:59.040 --> 00:06:03.050 +va a decidir qué tan complejo es este problema y lo enviamos.[Comienza la grabación] + +00:06:03.050 --> 00:06:06.420 +En este caso, ChatGPT me está diciendo: «Sí, dentro del archivo aparece + +00:06:06.420 --> 00:06:09.580 +normativa sobre custodia y conservación de la información en el marco de la + +00:06:09.580 --> 00:06:13.500 +ley de instituciones de crédito». Voy a tomar esta información que me + +00:06:13.500 --> 00:06:18.180 +da acá, que de hecho me está diciendo: «Mire, lo encuentra en el + +00:06:18.180 --> 00:06:22.030 +archivo que usted me subió». Y me dice: «En resumen, la ley + +00:06:22.030 --> 00:06:25.740 +sí regula la custodia y conservación de la información, obligando a las instituciones + +00:06:25.740 --> 00:06:29.960 +a mantener registros claros, confiables y protegidos. ¿Quieres que te extraiga la + +00:06:29.960 --> 00:06:34.400 +información puntual?» No lo vamos a hacer, vamos a tomar esta información y + +00:06:34.400 --> 00:06:37.060 +vamos a irnos ahora con Gemini y vamos a validar si esa + +00:06:37.060 --> 00:06:41.480 +información está presente en nuestro chat, donde ya le dijimos que si no + +00:06:41.480 --> 00:06:45.140 +existe esa información, nos diga que no existe. Entonces, le voy a + +00:06:45.140 --> 00:06:55.100 +decir en este chat: «¿Puedes validar si esta información es correcta? Valídala sobre + +00:06:55.100 --> 00:07:07.840 +la ley de instituciones, tituciones de crédito, crédito». Entonces, acá instituciones nos + +00:07:07.840 --> 00:07:14.780 +quedó mal escrita. Instituciones, listo. Y vamos a poner la información. Acá tenemos + +00:07:14.780 --> 00:07:19.040 +nuestro prompt completo, que tiene tanto el artículo ciento veinticuatro como el + +00:07:19.040 --> 00:07:23.700 +artículo setenta y nueve. Está haciendo el análisis y dice: «De acuerdo con + +00:07:23.700 --> 00:07:27.920 +los documentos adjuntos a la ley, la información proporcionada es correcta». Ya + +00:07:27.920 --> 00:07:32.300 +está la información que le dimos. En este caso, quiero que veas cómo + +00:07:32.300 --> 00:07:37.320 +usamos dos LLMs para validar si la información que estábamos buscando estaba + +00:07:37.320 --> 00:07:41.280 +o no estaba. Originalmente, Gemini nos dijo que no, y esto fue porque + +00:07:41.280 --> 00:07:45.800 +se fue a buscar literalmente los términos, no agarró la sutileza sino + +00:07:45.800 --> 00:07:49.260 +fue a ver si había algo que refería a esa información, pero no + +00:07:49.260 --> 00:07:54.280 +bajo esos términos en específico. Cuando nos fuimos a ChatGPT, encontramos la + +00:07:54.280 --> 00:07:58.700 +información que podría referirse a eso y ya validamos si esa información la + +00:07:58.700 --> 00:08:02.980 +había alucinado ChatGPT o si en efecto estaba y simplemente no la + +00:08:02.980 --> 00:08:06.700 +había encontrado porque no eran los términos exactos. Esta forma de validar es + +00:08:06.700 --> 00:08:09.740 +muy útil porque no implica tener que leer toda la ley para + +00:08:09.740 --> 00:08:16.740 +saber si Gemini o Claude o ChatGPT están alucinando. Y tampoco confía únicamente + +00:08:16.740 --> 00:08:20.660 +en las técnicas de prompting que usamos para asegurarnos de que solo + +00:08:20.660 --> 00:08:24.500 +basara la información en los documentos que le entregamos. Con esto, la próxima + +00:08:24.500 --> 00:08:27.659 +vez que escribas un prompt, no te quedes con la primera respuesta. + +00:08:27.660 --> 00:08:32.780 +Crea variaciones, valídalas, prueba sistemáticamente con todas las herramientas que te he dado + +00:08:32.780 --> 00:08:36.360 +durante el curso, con el fin de encontrar el flujo de trabajo + +00:08:36.360 --> 00:08:41.880 +que mejor funciona según el problema que estás automatizando. E incluso, antes de + +00:08:41.880 --> 00:08:45.180 +pensar en automatizar o antes de pensar en solucionar un problema con + +00:08:45.180 --> 00:08:51.860 +inteligencia artificial, hazte la pregunta: ¿Ese problema necesita inteligencia artificial? Porque ya viste + +00:08:51.860 --> 00:08:54.860 +que no es un trabajo sencillo y te puedes quedar mucho tiempo + +00:08:54.860 --> 00:08:58.879 +haciendo este proceso cuando la realidad es que ese problema no necesitaba ser + +00:08:58.880 --> 00:09:00.680 +algo que se solucionara con AI. + diff --git a/prompt-engineering/22-Plantillas de prompts para correos de seguimiento empresarial.mp4 b/prompt-engineering/22-Plantillas de prompts para correos de seguimiento empresarial.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..a5265a6ca4ff547d2c92819454e72ad905725d49 --- /dev/null +++ b/prompt-engineering/22-Plantillas de prompts para correos de seguimiento empresarial.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c545a7005cc6b43de948c85eabcf7e4f34694c2eb3514b0d8ddf7a9612c5fb18 +size 130956834 diff --git a/prompt-engineering/22-Plantillas de prompts para correos de seguimiento empresarial.sub.vtt b/prompt-engineering/22-Plantillas de prompts para correos de seguimiento empresarial.sub.vtt new file mode 100644 index 0000000000000000000000000000000000000000..c96ecf08d3a6e4ee03ff7655981bb9b2b349ef64 --- /dev/null +++ b/prompt-engineering/22-Plantillas de prompts para correos de seguimiento empresarial.sub.vtt @@ -0,0 +1,167 @@ +WEBVTT + +00:00:00.080 --> 00:00:03.740 +Hasta este punto ya aprendiste cuál es la estructura base de un prompt. + +00:00:03.740 --> 00:00:07.310 +Aprendiste que no son reglas de oro, sino también aprendiste cómo funciona + +00:00:07.310 --> 00:00:11.340 +el modelo de atención, el espacio vectorial y cómo las palabras importan para + +00:00:11.340 --> 00:00:14.940 +ir modificando ese prompt con el fin de llegar a ese resultado. + +00:00:14.940 --> 00:00:20.900 +También vimos varias técnicas de prompting, desde zero shot, free shot, self-consistency, cadena + +00:00:20.900 --> 00:00:25.240 +de pensamiento e incluso llegamos a ver cómo manejar largas ventanas de + +00:00:25.240 --> 00:00:29.440 +contexto para evitar que el modelo alucine o que olvide instrucciones y qué + +00:00:29.440 --> 00:00:33.380 +hacer cuando nos enfrentamos a este problema. Acá abajo en la sección + +00:00:33.380 --> 00:00:38.380 +de recursos voy a dejarte diferentes plantillas. Estas plantillas son para diversos problemas + +00:00:38.380 --> 00:00:41.140 +a los que te vas a enfrentar. Son una pieza de inspiración + +00:00:41.140 --> 00:00:45.100 +para que tú puedas solucionar diferentes de esos problemas, pero también para que + +00:00:45.100 --> 00:00:48.640 +tú las modifiques y las adaptes al contexto de tu trabajo. Para + +00:00:48.640 --> 00:00:52.240 +esto quiero mostrarte una de las plantillas. Con eso te enseño a usarlas + +00:00:52.240 --> 00:00:56.240 +y te sientes libre de modificarlas. Esta plantilla que tenemos acá es + +00:00:56.240 --> 00:00:59.200 +para redactar un correo de seguimiento a un cliente a partir de una + +00:00:59.200 --> 00:01:03.920 +reunión. Tenemos: eres un asistente de redacción comercial que compone correos claros, + +00:01:03.920 --> 00:01:08.500 +concisos y respetuosos, y su tarea es redactar un correo de seguimiento posterior + +00:01:08.500 --> 00:01:11.660 +a una reunión con el cliente con un resumen breve, acuerdos y + +00:01:11.660 --> 00:01:16.880 +próximos pasos concretos. Tenemos acá nuestra etiqueta del contexto, que inicia y termina + +00:01:16.880 --> 00:01:21.539 +acá, y tenemos el nombre del cliente, nombre de la empresa, fecha + +00:01:21.540 --> 00:01:26.020 +de la reunión y notas de la reunión. Esto que ves acá entre + +00:01:26.020 --> 00:01:29.339 +llaves es la información que debes reemplazar. La puse en amarillo para + +00:01:29.340 --> 00:01:33.340 +que sea más evidente. Y luego tenemos los límites, que van a establecer + +00:01:33.340 --> 00:01:37.700 +cuál es el output que estamos esperando, el resultado del LLM, que + +00:01:37.700 --> 00:01:41.320 +sea máximo de ciento cincuenta o doscientas palabras, que tenga una estructura con + +00:01:41.320 --> 00:01:46.420 +asu-- con asunto, saludo, párrafo, agradecimiento, lenguaje simple y directo, una voz + +00:01:46.420 --> 00:01:50.860 +que contenga cohesión y cortesía y que entregues solo el correo final sin + +00:01:50.860 --> 00:01:56.400 +notas ni explicaciones. Vamos a llevarnos este prompt a Claude y vamos + +00:01:56.400 --> 00:02:00.080 +a poner la información acerca de una reunión ficticia que tengo por acá + +00:02:00.080 --> 00:02:05.000 +para que veamos cómo funciona. Entonces, el nombre del cliente va a + +00:02:05.000 --> 00:02:12.700 +ser Francisco García, Francisco García. La empresa va a ser Innovatech. Entonces, le + +00:02:12.700 --> 00:02:22.060 +vamos a decir acá Innovatech. Innova, Innova con una N, Innovatech. La + +00:02:22.060 --> 00:02:29.160 +fecha de la reunión va a ser 12 de agosto del 2025. 2025. + +00:02:29.160 --> 00:02:32.320 +Y vamos a tener las notas de la reunión que yo tomé + +00:02:32.320 --> 00:02:36.100 +para que pueda construir el correo. Entonces, digo, la reunión se llevó a + +00:02:36.100 --> 00:02:39.920 +cabo con el director de operaciones, que sería este Francisco, responsable de + +00:02:39.920 --> 00:02:44.880 +marketing de Innovatech. Se discu-- se discutieron estas cosas, estos son los accionables + +00:02:44.880 --> 00:02:50.180 +y se acordó una comunicación para tal día. Entonces, en este caso + +00:02:50.180 --> 00:02:54.530 +dice 30 de septiembre, en realidad no es 30 de septiembre, eh, 30 + +00:02:54.530 --> 00:02:59.960 +de agosto, perdón, lo vamos a dejar para octubre. Y con esto + +00:02:59.960 --> 00:03:05.800 +lo vamos a enviar. Si te diste cuenta, mientras piensa, reemplazamos las variables + +00:03:05.800 --> 00:03:08.940 +con la información que yo tenía acerca de mi reunión y desde + +00:03:08.940 --> 00:03:15.540 +ahí simplemente envié y puedo ver el resultado. El asunto tengo acá, el + +00:03:15.540 --> 00:03:19.299 +correo que pedí, saludos cordiales y me pide que yo ponga mi + +00:03:19.300 --> 00:03:23.420 +nombre, mi cargo y mis datos de contacto. Con eso ya tengo un + +00:03:23.420 --> 00:03:27.240 +prompt que me soluciona un problema. Ahora, este prompt no es el + +00:03:27.240 --> 00:03:29.360 +tono que se usa en tu empresa o no es la forma en + +00:03:29.360 --> 00:03:33.820 +la que tú hablas, siéntete libre de modificar este prompt a lo + +00:03:33.820 --> 00:03:36.960 +que se acomode para tu caso de uso. Y con esto ya estás + +00:03:36.960 --> 00:03:41.060 +preparada para tomar el examen del curso, aprobarlo y compartir tu certificado + +00:03:41.060 --> 00:03:43.760 +en LinkedIn para que todo el mundo sepa que ya estás lista para + +00:03:43.760 --> 00:03:47.299 +crear prompts en cualquier reto que tengas en tu trabajo. Yo soy + +00:03:47.300 --> 00:03:50.620 +Juan Pablo Rojas, chief product officer de Platzi, y fue un placer acompañarte + +00:03:50.620 --> 00:03:54.400 +durante este curso. Escribe todo lo que vas aprendiendo en los comentarios + +00:03:54.400 --> 00:03:57.340 +y continuamos la conversación. Estaré respondiéndolos todos. + diff --git "a/prompt-engineering/3-C\303\263mo interpretan los LLM el significado de las palabras.mp4" "b/prompt-engineering/3-C\303\263mo interpretan los LLM el significado de las palabras.mp4" new file mode 100644 index 0000000000000000000000000000000000000000..00c5673464f6bc5351ada3a27b93a30c5b97217c --- /dev/null +++ "b/prompt-engineering/3-C\303\263mo interpretan los LLM el significado de las palabras.mp4" @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f633a58cc6808c4e430af6e368fac303bc0697115f6d77055972f4a6669c5ea8 +size 339952820 diff --git "a/prompt-engineering/3-C\303\263mo interpretan los LLM el significado de las palabras.sub.vtt" "b/prompt-engineering/3-C\303\263mo interpretan los LLM el significado de las palabras.sub.vtt" new file mode 100644 index 0000000000000000000000000000000000000000..db1bfcc26071d49b3d09eda593a755911fe28bc6 --- /dev/null +++ "b/prompt-engineering/3-C\303\263mo interpretan los LLM el significado de las palabras.sub.vtt" @@ -0,0 +1,374 @@ +WEBVTT + +00:00:00.280 --> 00:00:04.000 +Imagina que eres el dueño de una biblioteca, tienes cientos de libros y + +00:00:04.000 --> 00:00:09.700 +necesitas encontrar uno que habla sobre cocina. ¿Cómo lo puedes lograr? Seguramente + +00:00:09.700 --> 00:00:15.020 +organizas la biblioteca por temáticas. Cocina va por acá, novelas van por acá, + +00:00:15.020 --> 00:00:19.160 +eh, todos los libros sobre programación van por acá, eh, todos los + +00:00:19.160 --> 00:00:22.660 +libros de historia van por allá. Estás usando una de las características de + +00:00:22.660 --> 00:00:26.940 +los libros para organizar tu biblioteca y, según tu necesidad, hacer más + +00:00:26.940 --> 00:00:31.640 +fácil encontrar ese libro. ¿Cierto? Los modelos de lenguaje hacen algo muy similar + +00:00:31.640 --> 00:00:35.860 +para poder entender el significado de las palabras dentro del lenguaje que + +00:00:35.860 --> 00:00:41.780 +nosotros hablamos. Asignan una ubicación matemática específica para cada una de esas palabras, + +00:00:41.780 --> 00:00:46.380 +como si fuera un GPS donde cada característica que tiene una palabra, + +00:00:46.380 --> 00:00:49.620 +y no solo la palabra como tal, sino su significado, lo que quiere + +00:00:49.620 --> 00:00:54.140 +decir dentro de una cultura, le permite lograr, ubicarla y hallarla en + +00:00:54.140 --> 00:00:59.500 +un espacio gigante de muchas dimensiones. Esta ubicación matemática precisa que ayuda al + +00:00:59.500 --> 00:01:03.780 +GPS a encontrar las palabras dentro de todos sus significados, se les + +00:01:03.780 --> 00:01:08.380 +llama embeddings o representación vectorial. Y piensa en esto como el ADN de + +00:01:08.380 --> 00:01:12.480 +una palabra. Es una secuencia de números que a la máquina, que + +00:01:12.480 --> 00:01:16.400 +habla en números, le va a permitir entender todo el significado de esa + +00:01:16.400 --> 00:01:21.500 +palabra y encontrarla y hallarla dentro de lo que queremos decir para + +00:01:21.500 --> 00:01:26.080 +entender ese prompt que nosotros estamos entregando. Por ejemplo, la palabra perro, que + +00:01:26.080 --> 00:01:30.040 +tiene las siguientes coordenadas: cero punto dos, menos cero punto cinco, cero + +00:01:30.040 --> 00:01:34.780 +punto ocho, cero punto tres y muchas más. Y un segundo. Si no + +00:01:34.780 --> 00:01:38.480 +te gustan las matemáticas, entiendo que esto pueda ser algo que asuste. + +00:01:38.480 --> 00:01:44.360 +Piénsalo como decir una dirección en un, en una ciudad en donde vives, + +00:01:44.360 --> 00:01:48.340 +son una forma de llegar allá. Y podemos tener la palabra gato + +00:01:48.340 --> 00:01:51.480 +que tiene cero punto veintiuno, menos cero punto cuarenta y ocho, cero punto + +00:01:51.480 --> 00:01:55.320 +setenta y nueve, cero punto treinta y uno. Y si lo ves, + +00:01:55.320 --> 00:02:01.780 +de hecho, las coordenadas se parecen, son muy cercanas. ¿Por qué? Pues básicamente + +00:02:01.780 --> 00:02:05.880 +porque estas dos palabras, aunque son diferentes, son letras diferentes, de hecho, + +00:02:05.880 --> 00:02:10.139 +entre perro y gato solo comparten la O, en su significado y lo + +00:02:10.139 --> 00:02:16.320 +que significan dentro de nuestro lenguaje y nuestra cultura son muy similares. + +00:02:16.320 --> 00:02:21.600 +Ambas son animales, ambos son mamíferos, ambos son domésticos. Y eso es lo + +00:02:21.600 --> 00:02:26.980 +que representa esta ubicación matemática que le asigna los LLMs a las + +00:02:26.980 --> 00:02:31.900 +palabras a través de los embeddings. Todo ese significado y qué tan cercanas + +00:02:31.900 --> 00:02:35.940 +están esas palabras. Vamos a ver otro ejemplo. Y para este siguiente + +00:02:35.940 --> 00:02:41.000 +ejemplo, quiero que tengas en mente lo siguiente. En este espacio matemático gigante, + +00:02:41.000 --> 00:02:44.440 +esa ubicación va a representar la cercanía de las palabras en su + +00:02:44.440 --> 00:02:49.860 +significado. Eso quiere decir que palabras con significados similares van a estar cerca. + +00:02:49.860 --> 00:02:54.480 +Rey está cerca de reina, hospital está cerca de médico, azul está + +00:02:54.480 --> 00:02:59.910 +cerca de rojo. Todos comparten muchas características que hacen que la cercanía en + +00:02:59.910 --> 00:03:04.560 +ese espacio matemático se dé. Y es raro pensar de esta manera, + +00:03:04.560 --> 00:03:09.600 +porque para nosotros esto es muy obvio o muy de sentido común. Pero + +00:03:09.600 --> 00:03:12.660 +para que los LLMs pudieran capturar la forma en la que hablamos + +00:03:12.660 --> 00:03:18.340 +y entenderla, teníamos que volverlo algo que matemáticamente funcionara. Y dentro del proceso + +00:03:18.340 --> 00:03:21.480 +de prompt engineering, lo que vamos a estar haciendo es traer algo + +00:03:21.480 --> 00:03:25.940 +que es de sentido común o muy del inconsciente, el consciente, y poder + +00:03:25.940 --> 00:03:29.470 +ponerlo en palabras y ser conscientes justamente de cuáles son las palabras + +00:03:29.470 --> 00:03:32.240 +que estamos usando. Este ejemplo no te va a poner otra vez los + +00:03:32.240 --> 00:03:35.420 +vectores y las matemáticas, no te preocupes, pero sí quiero que veas + +00:03:35.420 --> 00:03:41.660 +como, si ya entendemos que cada palabra en este espacio gigante dimensional captura + +00:03:41.660 --> 00:03:44.740 +el significado de esas palabras y las pone cerca o lejos según + +00:03:44.740 --> 00:03:50.740 +su significado, pues también puede capturar relaciones un poco más complejas. Entonces, imaginémonos + +00:03:50.740 --> 00:03:53.930 +que tenemos el vector de rey, la palabra rey ubicada en este + +00:03:53.930 --> 00:04:01.390 +espacio, eh, multidimensional. Y luego yo le resto hombre. Es raro porque nosotros + +00:04:01.390 --> 00:04:05.680 +en las palabras no restamos ni sumamos. Pero trata de imaginarlo, que + +00:04:05.680 --> 00:04:09.040 +a la palabra rey le estamos quitando el factor de que es hombre + +00:04:09.040 --> 00:04:12.520 +y ahora le vamos a agregar el factor que es mujer. Si + +00:04:12.520 --> 00:04:16.320 +yo te digo esto así, quiero que pares y en los comentarios me + +00:04:16.320 --> 00:04:25.220 +digas cuál es el resultado. Ya que lo pusiste en los comentarios, + +00:04:25.220 --> 00:04:28.380 +estoy muy seguro de que llegaste al mismo lugar al que llegaría un + +00:04:28.380 --> 00:04:32.760 +LLM. Y es que diría que rey menos hombre más mujer sería + +00:04:32.800 --> 00:04:37.320 +una reina. Si quitamos del factor rey, del significado rey, la palabra hombre + +00:04:37.320 --> 00:04:40.980 +y decimos que es una mujer, automáticamente pensamos en que estamos hablando + +00:04:40.980 --> 00:04:43.980 +de la reina. Y esta es la forma en la que ese espacio + +00:04:43.980 --> 00:04:49.500 +multidimensional, donde cada palabra y su significado es ubicado, puede llegar a + +00:04:49.500 --> 00:04:55.080 +usar operaciones matemáticas para incluso llegar a lugares o capturar relaciones más complejas + +00:04:55.080 --> 00:04:59.620 +de cómo nosotros nos comunicamos. Y para que puedas imaginarte un poco + +00:04:59.620 --> 00:05:04.200 +más cómo se ve este espacio vectorial, quiero mostrarte lo siguiente. Acá tenemos + +00:05:04.200 --> 00:05:06.979 +una herramienta que se llama el Embedding Projector, que lo que hace + +00:05:06.980 --> 00:05:10.320 +es tratar de mostrarnos de una manera gráfica cómo se ve este espacio + +00:05:10.320 --> 00:05:14.400 +multidimensional. Te estoy dejando el enlace en los recursos y quiero que + +00:05:14.400 --> 00:05:18.980 +tengas en cuenta una cosa. Primero, este proyector de embeddings solo funciona para + +00:05:18.980 --> 00:05:21.520 +palabras en inglés y lo siguiente que quiero que tengas en cuenta + +00:05:21.520 --> 00:05:25.240 +es que acá solo somos capaces de ver tres dimensiones, como si estuviéramos + +00:05:25.240 --> 00:05:30.460 +clasificando las palabras en tres características. Los LLMs hacen esto en muchas + +00:05:30.460 --> 00:05:35.100 +más. De hecho, estamos hablando de setecientas cuarenta y ocho, mil veinticuatro, dos + +00:05:35.100 --> 00:05:40.160 +mil cincuenta y seis di-dimensiones, algo que simplemente es imposible de imaginar. + +00:05:40.160 --> 00:05:43.980 +Probamos esto. Tenemos una nube donde cada uno de esos puntos son una + +00:05:43.980 --> 00:05:48.420 +palabra. Y en este caso, yo busqué queen, reina. Y podemos ver + +00:05:48.420 --> 00:05:56.180 +cómo palabras cercanas son Elizabeth, Anne, King, Mary, Princess, Catherine. Y esa cercanía + +00:05:56.180 --> 00:05:59.360 +la va a capturar de todo el entrenamiento que tienen los LLMs + +00:05:59.360 --> 00:06:03.496 +por detrás con toda la literatura que existe.Todo lo que hay acerca de + +00:06:03.496 --> 00:06:07.796 +liqui-- literatura y que está sin copyright en principio, lo va a + +00:06:07.796 --> 00:06:12.056 +usar para entrenarse y ese entrenamiento es para simular nuestra inteligencia, y lo + +00:06:12.056 --> 00:06:16.536 +primero que hace para simular la inteligencia es entender nuestro lenguaje y + +00:06:16.536 --> 00:06:19.896 +de esta manera lo entiende. Entonces, esto nos habla de que mucha de + +00:06:19.896 --> 00:06:24.196 +la literatura que existe, la palabra queen está cerca de Elizabeth, por + +00:06:24.196 --> 00:06:29.536 +la reina E-Elizabeth. Y acá podemos ver cómo se ilumina una parte de + +00:06:29.536 --> 00:06:33.476 +ese espacio vectorial y qué tan cercanas están las palabras que estamos + +00:06:33.476 --> 00:06:37.516 +viendo. Si yo me voy a queen, en específico, miren, por acá sale, + +00:06:37.516 --> 00:06:41.756 +eh, revenge sale por ahí, pero acá está Elizabeth y vemos que + +00:06:41.756 --> 00:06:45.836 +queen está por acá y luego princess está por acá, que gráficamente pareciera + +00:06:45.836 --> 00:06:48.556 +que está más cerca, pero si nos movemos vemos que se aleja + +00:06:48.556 --> 00:06:51.776 +porque pues son tres dimensiones. Pero esto nos da un poquito la idea + +00:06:51.776 --> 00:06:55.716 +de esto que estábamos hablando, cómo se ve gráficamente. ¿Y esto por + +00:06:55.716 --> 00:07:01.096 +qué es crucial para los LLM? Es básicamente la diferencia entre el teclado + +00:07:01.096 --> 00:07:05.656 +predictivo de cuando estás hablando por WhatsApp versus todo este sistema que + +00:07:05.656 --> 00:07:09.656 +te estoy explicando para que un LLM entienda nuestro lenguaje. Cuando yo escribo + +00:07:09.656 --> 00:07:13.146 +por WhatsApp, solo está prediciendo cuál es la siguiente palabra después de + +00:07:13.146 --> 00:07:18.416 +decir: «Hola». ¿Qué más uso cuando estoy escribiendo? No está buscando el significado + +00:07:18.416 --> 00:07:21.676 +de las palabras, no está viendo cuál es mi intención en el + +00:07:21.676 --> 00:07:27.216 +mensaje. Por eso el autocorrector no puede escribirme un correo. La diferencia con + +00:07:27.216 --> 00:07:31.496 +ChatGPT, los LLM o cualquiera de estas herramientas es que sí capturan + +00:07:31.496 --> 00:07:34.396 +la esencia de lo que estoy diciendo y tratan de buscar qué es + +00:07:34.396 --> 00:07:38.606 +lo que más sentido tiene dentro de mi comunicación. Si yo escribo: + +00:07:38.606 --> 00:07:42.536 +«El cielo es», lo que estoy haciendo es mover la atención de ese + +00:07:42.536 --> 00:07:46.836 +LLM hacia ese espacio vectorial que tiene que ver con el clima, + +00:07:46.836 --> 00:07:50.876 +y va a tener ese contexto alrededor del clima. Teniendo en cuenta esto, + +00:07:50.876 --> 00:07:54.776 +y que cada palabra que nosotros escribimos mueve la atención del LLM + +00:07:54.776 --> 00:07:59.196 +hacia un lugar de ese espacio vectorial, en la siguiente clase vamos a + +00:07:59.196 --> 00:08:03.916 +hablar sobre cómo asignarle un rol al LLM para poder cumplir una + +00:08:03.916 --> 00:08:07.026 +tarea en específico y cuál es su función, cuál es la razón para + +00:08:07.026 --> 00:08:10.236 +asignar un rol. Y conforme vamos avanzando en el curso, vamos a + +00:08:10.236 --> 00:08:13.606 +ver diferentes técnicas que lo único que hacen es jugar con ese modelo + +00:08:13.606 --> 00:08:17.296 +de atención y con lo que acabamos de ver del espacio vectorial + +00:08:17.296 --> 00:08:21.176 +para lograr resultados efectivos. Lo que quiero que te lleves de esta clase + +00:08:21.176 --> 00:08:24.296 +es que cada vez que vayas a escribir un prompt, pienses que + +00:08:24.296 --> 00:08:28.716 +cada palabra que estás colocando importa y que es muy importante entender el + +00:08:28.716 --> 00:08:32.536 +significado de las palabras cuando estamos escribiendo un prompt. Es por eso + +00:08:32.536 --> 00:08:36.756 +que siempre se recomienda que escribas prompts en tu lenguaje nativo, porque cuando + +00:08:36.756 --> 00:08:40.376 +estás hablando un lenguaje que no es tu lenguaje nativo, pueden haber + +00:08:40.376 --> 00:08:46.316 +muchos significados culturales o detalles de las palabras, sutilezas de las palabras que + +00:08:46.316 --> 00:08:49.436 +no vas a alcanzar a capturar tú solo. Y sí lo vas + +00:08:49.436 --> 00:08:52.176 +a lograr en el lenguaje con el que naciste, con el que empezaste + +00:08:52.176 --> 00:08:53.376 +a hablar. + diff --git "a/prompt-engineering/4-C\303\263mo definir roles efectivos en prompts de IA.mp4" "b/prompt-engineering/4-C\303\263mo definir roles efectivos en prompts de IA.mp4" new file mode 100644 index 0000000000000000000000000000000000000000..37849cd1a763c771e96f751cd0030f767f11e53b --- /dev/null +++ "b/prompt-engineering/4-C\303\263mo definir roles efectivos en prompts de IA.mp4" @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26714ee48e359f075d96072c9f32271fd8a94edccb17d1c32ff8d048d1922520 +size 216507216 diff --git "a/prompt-engineering/4-C\303\263mo definir roles efectivos en prompts de IA.sub.vtt" "b/prompt-engineering/4-C\303\263mo definir roles efectivos en prompts de IA.sub.vtt" new file mode 100644 index 0000000000000000000000000000000000000000..b8c1f17c5f601dcabb6ab3bd9f9518bfa21036de --- /dev/null +++ "b/prompt-engineering/4-C\303\263mo definir roles efectivos en prompts de IA.sub.vtt" @@ -0,0 +1,251 @@ +WEBVTT + +00:00:00.660 --> 00:00:04.840 +Piensa en la última vez que pediste ayuda. Cuando lo fuiste a hacer, + +00:00:04.840 --> 00:00:08.760 +¿fuiste a la primera persona que se te ocurrió o pensaste: «¿Quién + +00:00:08.760 --> 00:00:12.880 +sería la mejor persona que me podría ayudar a solucionar este problema?» La + +00:00:12.880 --> 00:00:17.340 +diferencia entre estas dos aproximaciones pueden variar muchísimo el resultado y qué + +00:00:17.340 --> 00:00:20.260 +tan efectiva es la ayuda que estás pidiendo. Si vas a la primera + +00:00:20.260 --> 00:00:25.080 +persona que se te ocurrió, chance hay de que, eh, llegues a + +00:00:25.080 --> 00:00:27.640 +la persona correcta que te pueda ayudar o que llegues a una persona + +00:00:27.640 --> 00:00:32.800 +que te diga: «Híjole, no sabría qué decirte, pero puedes preguntarle a + +00:00:32.800 --> 00:00:38.660 +fulanito». Es raro porque este proceso lo pensamos, escogemos a la persona y + +00:00:38.660 --> 00:00:42.380 +vamos a decirle qué necesitamos. No es como que llegamos a donde + +00:00:42.380 --> 00:00:46.120 +la persona y le decimos: «Oye, como tú eres eh, experto en marketing, + +00:00:46.120 --> 00:00:49.660 +quiero hacerte esta pregunta». Pero la verdad es que este proceso que + +00:00:49.660 --> 00:00:53.860 +hacemos, un poco inconsciente, es muy útil para la inteligencia artificial, como lo + +00:00:53.860 --> 00:00:57.920 +vimos en la clase pasada. Esto se llama el rol, y vamos + +00:00:57.920 --> 00:01:01.380 +a ver cómo lo podemos poner en práctica dentro de un prompt. Esta + +00:01:01.380 --> 00:01:05.899 +transformación no es casualidad. Como vimos al inicio, cuando nos preguntamos quién + +00:01:05.900 --> 00:01:09.620 +es la mejor persona que me podría ayudar, estamos optimizando a ir al + +00:01:09.620 --> 00:01:13.120 +área de conocimiento que más nos ayudaría para el problema que tenemos. + +00:01:13.120 --> 00:01:17.500 +En este caso, con la inteligencia artificial, estamos colocando el rol para que + +00:01:17.500 --> 00:01:23.440 +modifiquemos ese espacio vectorial y lo llevemos al lugar o al área + +00:01:23.440 --> 00:01:28.080 +de conocimiento que más nos ayudaría a solucionar este problema. Al final, estamos + +00:01:28.080 --> 00:01:33.320 +activando patrones específicos del lenguaje que el modelo aprendió durante su entrenamiento. + +00:01:33.320 --> 00:01:36.760 +Otra forma de pensarlo es como decirle a un empleado: «Este es tu + +00:01:36.760 --> 00:01:40.760 +job description». De repente, el empleado ya sabe cómo comportarse, desde qué + +00:01:40.760 --> 00:01:44.450 +lugar se espera abordar los problemas, entre otros factores que lo van a + +00:01:44.450 --> 00:01:48.320 +ayudar a triunfar en el trabajo que se le designó. Pasa lo + +00:01:48.320 --> 00:01:53.520 +mismo con los LLM. Veamos un ejemplo más, un poco más pequeño. Vamos + +00:01:53.520 --> 00:01:59.460 +a preguntarle en un nuevo chat: «¿Qué es el clima?». Cuando hago + +00:01:59.460 --> 00:02:03.780 +esta pregunta, me va a dar una respuesta genérica, donde me habla de + +00:02:03.780 --> 00:02:10.410 +condiciones atmosféricas... Me dice cosas básicas, como temperatura, precipitaciones, humedad, vientos, presión + +00:02:10.410 --> 00:02:19.240 +atmosférica, etcétera, etcétera, etcétera. Ahora hagamos un nuevo prompt. Digamos: «Actúa como climatólogo + +00:02:19.240 --> 00:02:27.859 +experto y explícame qué es el clima. Yo soy un niño de + +00:02:27.860 --> 00:02:32.800 +primaria». Y la respuesta la va a adaptar con la información que le + +00:02:32.800 --> 00:02:35.900 +dimos. Entonces, lo primero es que empieza a usar emojis, porque ya + +00:02:35.900 --> 00:02:38.130 +le dije que yo soy un niño, entonces asume que esto va a + +00:02:38.130 --> 00:02:42.300 +ser, eh, más entretenido para mí. Y me dice: «Como climatólogo te + +00:02:42.300 --> 00:02:45.980 +voy a explicar de manera sencilla. El clima es como la personalidad de + +00:02:45.980 --> 00:02:50.600 +un lugar en la Tierra». Si te das cuenta, estos cambios permitieron + +00:02:50.600 --> 00:02:56.000 +que la inteligencia artificial tomara más allá de que simplemente explicara algo diferente, + +00:02:56.000 --> 00:03:00.440 +usar diferentes herramientas del lenguaje para llegar a solucionar el problema. En + +00:03:00.440 --> 00:03:04.840 +este caso, está haciendo una analogía que, para un niño de primaria, haría + +00:03:04.840 --> 00:03:09.609 +más fácil explicar qué es el clima. Donde en mi ejemplo anterior, + +00:03:09.609 --> 00:03:13.480 +vemos una respuesta más genérica, más al estilo de Wikipedia. Acá quiero que + +00:03:13.480 --> 00:03:17.120 +pares la clase y vamos a hacer un ejercicio interesante. Si estás + +00:03:17.120 --> 00:03:20.200 +viendo esta clase, quiero que en los comentarios dejes cuál es tu rol + +00:03:20.200 --> 00:03:24.360 +en tu empresa y me des una descripción de cien caracteres de + +00:03:24.360 --> 00:03:28.620 +qué haces tú en ese rol. Veamos qué significan los roles en diferentes + +00:03:28.620 --> 00:03:32.040 +empresas y en diferentes lugares. Es muy divertido y una cosa que + +00:03:32.040 --> 00:03:36.160 +yo hago mucho con los LLM es preguntarles: «Para ti qué es un + +00:03:36.160 --> 00:03:40.420 +community manager». Y con eso logro llegar al entendimiento de qué es + +00:03:40.420 --> 00:03:44.800 +lo que el LLM interpreta por community manager y con eso saber si + +00:03:44.800 --> 00:03:48.600 +es el rol más indicado para el problema que quiero resolver. Muchas + +00:03:48.600 --> 00:03:51.420 +veces yo creo que para crear un guion para un TikTok, para un + +00:03:51.420 --> 00:03:57.160 +Reel, necesito el community manager, pero resulta que es mejor un guionista. + +00:03:57.160 --> 00:04:01.200 +Y solo lo voy a saber, no porque significa en el conocimiento común + +00:04:01.200 --> 00:04:06.180 +de las personas que tengo alrededor, sino porque entiende el LLM qué + +00:04:06.180 --> 00:04:10.740 +hace ese rol dentro de su entrenamiento. Con lo que aprendiste en este + +00:04:10.740 --> 00:04:15.520 +módulo, quiero darte la estructura de un prompt efectivo. Pero recuerda, esta + +00:04:15.520 --> 00:04:19.100 +estructura no es una regla de oro. Vimos que, con pequeños prompts logramos + +00:04:19.100 --> 00:04:23.419 +resultados de lo que esperábamos. Piénsalo más como la forma de qué + +00:04:23.420 --> 00:04:26.680 +preguntas hacerte para saber qué le hace falta a tu prompt para llegar + +00:04:26.680 --> 00:04:29.580 +al resultado que esperas. Y la primera ya la vimos, y es + +00:04:29.580 --> 00:04:33.680 +el rol. Al final, cuando seteamos un rol, estamos moviendo ese espacio vectorial + +00:04:33.680 --> 00:04:36.320 +al área de conocimiento que más nos va a ayudar a resolver + +00:04:36.320 --> 00:04:41.120 +este problema. El siguiente es el enfoque o la instrucción, y acá debe + +00:04:41.120 --> 00:04:46.120 +ser claro y conciso. Recuerda, debes usar las palabras correctas para decir + +00:04:46.120 --> 00:04:49.260 +lo que quieres decir. Y, en este caso, lo que debemos hacer es + +00:04:49.260 --> 00:04:53.380 +ser directos con qué es lo que necesitamos que resuelva el LLM. + +00:04:53.380 --> 00:04:58.040 +No es necesario pedir el favor, no es necesario agregar... palabras que decoren + +00:04:58.040 --> 00:05:01.720 +la instrucción. Entre más preciso seas, más efectivo va a ser el + +00:05:01.720 --> 00:05:05.720 +prompt. Lo siguiente es el contexto de la memoria, y acá piensa acerca + +00:05:05.720 --> 00:05:09.620 +de esto como cuál es la información que necesita esta persona, o + +00:05:09.620 --> 00:05:14.060 +en este caso el LLM, para resolver este problema. En nuestro ejercicio, el + +00:05:14.060 --> 00:05:17.760 +contexto era el reporte de McKinsey. Sin ese reporte, no hubiéramos podido + +00:05:17.760 --> 00:05:22.040 +llegar al resultado. Y los límites, piénsalos como cuál es la estructura de + +00:05:22.040 --> 00:05:26.060 +lo que estás esperando como resultado. ¿Quieres que sea un resumen? ¿Quieres + +00:05:26.060 --> 00:05:29.580 +que sea corto? ¿Quieres que sean bullet points? ¿Qué significa corto? Porque en + +00:05:29.580 --> 00:05:34.280 +un libro podríamos decir que ochenta páginas es un libro corto. Entonces, + +00:05:34.280 --> 00:05:39.120 +entre más específicos se hacen esos límites y haya menos ambigüedad donde especifiques + +00:05:39.120 --> 00:05:44.240 +número de caracteres, cuántas oraciones, cuántas palabras, y uses adjetivos que ayuden + +00:05:44.240 --> 00:05:49.540 +a llegar a ese, esa descripción que estás buscando, como «se accionable, sé + +00:05:49.540 --> 00:05:53.900 +conciso, sé pragmático», vas a lograr tener el resultado que estabas esperando + +00:05:53.900 --> 00:05:55.240 +en un solo prompt. + diff --git "a/prompt-engineering/6-Comparaci\303\263n pr\303\241ctica de ChatGPT, Claude, Gemini y Microsoft Copilot.mp4" "b/prompt-engineering/6-Comparaci\303\263n pr\303\241ctica de ChatGPT, Claude, Gemini y Microsoft Copilot.mp4" new file mode 100644 index 0000000000000000000000000000000000000000..f7558d1956d7ab09044b1c4759d01982ec2260c6 --- /dev/null +++ "b/prompt-engineering/6-Comparaci\303\263n pr\303\241ctica de ChatGPT, Claude, Gemini y Microsoft Copilot.mp4" @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b49d881d5e80fa86521a6f950757beb4533c8ad6e9d245fc97a1f7a42d1ab3a3 +size 355141324 diff --git "a/prompt-engineering/6-Comparaci\303\263n pr\303\241ctica de ChatGPT, Claude, Gemini y Microsoft Copilot.sub.vtt" "b/prompt-engineering/6-Comparaci\303\263n pr\303\241ctica de ChatGPT, Claude, Gemini y Microsoft Copilot.sub.vtt" new file mode 100644 index 0000000000000000000000000000000000000000..18dd670badec040fde1438fdeb004736dc011701 --- /dev/null +++ "b/prompt-engineering/6-Comparaci\303\263n pr\303\241ctica de ChatGPT, Claude, Gemini y Microsoft Copilot.sub.vtt" @@ -0,0 +1,422 @@ +WEBVTT + +00:00:00.080 --> 00:00:07.700 +Tienes cuatro asistentes virtuales: ChatGPT, Claude, Gemini y Microsoft Copilot. En principio parecen + +00:00:07.700 --> 00:00:13.719 +iguales, pero no exactamente. Piensa que son cocineros con diferentes especialidades y + +00:00:13.720 --> 00:00:16.919 +en esta clase te voy a enseñar a compararlos y a elegir cuál + +00:00:16.920 --> 00:00:19.800 +es el que necesitas según la tarea que vas a resolver. Y + +00:00:19.800 --> 00:00:23.860 +antes de hacer el ejercicio para comparar las cuatro herramientas, vamos a pensar + +00:00:23.860 --> 00:00:26.780 +en un prompt. El prompt va a ser: ¿Cómo mejorar la productividad + +00:00:26.780 --> 00:00:29.840 +del equipo? Esa es la pregunta que vamos a hacer. Y antes de + +00:00:29.840 --> 00:00:34.680 +irnos a hacer esa pregunta, quiero que pienses qué esperarías como respuesta. + +00:00:34.680 --> 00:00:38.760 +Piensa tres elementos clave y déjalo en los comentarios. Te pedí hacer esto + +00:00:38.760 --> 00:00:41.140 +porque antes de ir a ver cuál es la respuesta que nos + +00:00:41.140 --> 00:00:45.640 +va a dar cada uno de estos LLMs, quiero que tengas un criterio, + +00:00:45.640 --> 00:00:49.380 +que tú sepas qué es lo que estás esperando como resultado para + +00:00:49.380 --> 00:00:53.990 +poder evaluar cuál es el resultado que más funciona para ti, porque esto + +00:00:53.990 --> 00:00:57.540 +es lo más frustrante de todo. No hay una herramienta que funcione + +00:00:57.540 --> 00:01:00.040 +perfecta para todos, y lo que te voy a enseñar acá es que + +00:01:00.040 --> 00:01:03.420 +lo puedas probar y tú decidas cuál es la herramienta que mejor + +00:01:03.420 --> 00:01:07.660 +te funciona a ti al momento de resolver un problema. Entonces, vas a + +00:01:07.660 --> 00:01:11.340 +abrir una cuenta gratis en las cuatro herramientas, en Gemini, en Claude, + +00:01:11.340 --> 00:01:16.480 +en ChatGPT y en Microsoft Copilot. Una vez tengas abierta la cuenta, vamos + +00:01:16.480 --> 00:01:19.500 +a ir a pegar un prompt. Para abrir las cuentas te voy + +00:01:19.500 --> 00:01:22.380 +a dejar en los recursos los enlaces de las cuatro herramientas, con eso + +00:01:22.380 --> 00:01:25.700 +es más fácil. Ya con las cuatro, vas a tenerlas en tu + +00:01:25.700 --> 00:01:31.140 +navegador, ahí listadas los cuatro tab abiertos, porque es importante hacer este experimento + +00:01:31.140 --> 00:01:34.400 +o el experimento que tú quieras hacer en el mismo momento, en + +00:01:34.400 --> 00:01:39.660 +el mismo día, porque los modelos cambian constantemente. Entonces, para poder compararlos y + +00:01:39.660 --> 00:01:43.460 +saber cuál es el mejor para lo que nosotros estamos esperando, es + +00:01:43.460 --> 00:01:47.620 +mejor siempre correr las comparaciones en el mismo momento. Y acá tengo mi + +00:01:47.640 --> 00:01:51.620 +prompt, que es cómo mejorar la productividad del equipo. Voy a enviarlo + +00:01:51.620 --> 00:01:56.140 +en las cuatro herramientas mientras van pensando. Y quiero que sepan, estoy haciéndolo + +00:01:56.140 --> 00:01:59.580 +en las versiones gratis, donde todas tenemos por lo menos un mensaje + +00:01:59.580 --> 00:02:04.100 +en la que podemos probar y podemos ver el resultado sin necesidad de + +00:02:04.100 --> 00:02:07.360 +pagar. Algo que hago yo es que voy probando cuáles son los + +00:02:07.360 --> 00:02:10.960 +problemas que tengo en mi mes, voy viendo cuál es la mejor herramienta + +00:02:10.960 --> 00:02:13.840 +y esa es la que pago durante ese mes. Si tengo el + +00:02:13.840 --> 00:02:17.840 +chance de estar con dos herramientas porque veo que me funciona para solucionar + +00:02:17.840 --> 00:02:21.800 +dos tipos de problema, pues ya se justifica cómo hacer esta inversión + +00:02:21.800 --> 00:02:26.060 +y por qué hacerla. Quiero que veamos algo. Ya tenemos las respuestas. ChatGPT + +00:02:26.060 --> 00:02:32.520 +me da seis ítems, bastante texto, luego Gemini me da un poco + +00:02:32.520 --> 00:02:37.940 +menos de ítems, son cuatro ítems. Luego tenemos Claude, muy parecidas, incluso acá + +00:02:37.940 --> 00:02:41.720 +se va por seis ítems también y luego tenemos Copilot. Y quiero + +00:02:41.720 --> 00:02:45.500 +que notes que si vamos a juzgar las respuestas por su formato, pues + +00:02:45.500 --> 00:02:48.500 +al final un mejor prompt podría hacer que el formato sea muy + +00:02:48.500 --> 00:02:52.380 +parecido. Podría haber dicho que me dieran cuatro o cinco o seis, que + +00:02:52.380 --> 00:02:57.260 +no usaran emojis, que fuera más pragmático, pero por eso hice el + +00:02:57.260 --> 00:03:01.760 +ejercicio de parar y pensar qué es lo que yo estoy esperando. Porque + +00:03:01.760 --> 00:03:05.340 +puede que yo lea esta respuesta de Microsoft Copilot y funcione para + +00:03:05.340 --> 00:03:10.460 +mí. Y entonces, este es mi go to. Al final, debemos tener algo + +00:03:10.460 --> 00:03:17.620 +en cuenta. Tenemos herramientas y tenemos modelos de LLMs. ChatGPT, Claude y + +00:03:17.620 --> 00:03:21.940 +Gemini son empresas que se dedican a crear modelos. En el caso de + +00:03:21.940 --> 00:03:25.760 +Claude, estamos hablando de la empresa Antropic y crean dos modelos: Opus + +00:03:25.760 --> 00:03:29.160 +y Sonnet, que luego vamos a ver un poco más a detalle qué + +00:03:29.160 --> 00:03:32.500 +significa cada uno de ellos. En el caso de Gemini, la empresa + +00:03:32.500 --> 00:03:37.180 +por detrás es Google. Y Google crea este modelo Gemini, que es Gemini + +00:03:37.180 --> 00:03:41.359 +2.5 Pro y, y Gemini 2.5 Flash, que igual vamos a ver + +00:03:41.360 --> 00:03:46.400 +en detalle qué significan. Luego tenemos ChatGPT, la empresa por detrás es OpenAI + +00:03:46.400 --> 00:03:50.460 +y los modelos que crea son GPT, que se versionan en uno, + +00:03:50.460 --> 00:03:54.380 +dos, tres, cuatro, y en este momento estamos en GPT cinco. En el + +00:03:54.380 --> 00:03:59.580 +caso de Microsoft, no tenemos un modelo creado por Microsoft. Microsoft usa + +00:03:59.580 --> 00:04:04.240 +los modelos de OpenAI llamados GPT, en este caso usa GPT cuatro y + +00:04:04.240 --> 00:04:07.180 +tenemos la opción de habilitar GPT cinco, como lo vemos en la + +00:04:07.180 --> 00:04:11.600 +parte de acá arriba. Pero Microsoft hace algo en especial, y es que + +00:04:11.600 --> 00:04:16.899 +pone una capa intermedia entre Copilot y el modelo llamada Prometheus. Esa + +00:04:16.899 --> 00:04:21.339 +capa lo que hace es orquestar el LLM con toda la información que + +00:04:21.339 --> 00:04:25.200 +tiene Microsoft. Si estás en un entorno empresarial, tiene acceso a tus + +00:04:25.200 --> 00:04:30.440 +correos y a tu OneDrive y puede usar esa información para dar respuestas. + +00:04:30.440 --> 00:04:34.460 +Si no estás en una empresa, solo estás usando Microsoft Copilot, utiliza + +00:04:34.460 --> 00:04:39.100 +por detrás el buscador de Bing cuando necesita información actualizada. Esa es la + +00:04:39.100 --> 00:04:45.180 +diferencia entre usar Microsoft Copilot con ChatGPT. Y, dependiendo de cuáles son + +00:04:45.180 --> 00:04:47.450 +las herramientas que uses en tu día a día, esto va a te-- + +00:04:47.450 --> 00:04:50.600 +te va a impactar de mayor manera o de menor manera. Por + +00:04:50.600 --> 00:04:53.880 +ejemplo, todo lo que yo uso es la suite de Google Workspace. Y + +00:04:53.880 --> 00:04:57.560 +en este caso, cuando yo entro a Gemini, no necesariamente ya está + +00:04:57.560 --> 00:05:01.440 +conectado con eso, pero Gemini está presente en todas las aplicaciones de Google + +00:05:01.440 --> 00:05:06.420 +y puedo usarlo de una manera como más, eh, certera en los + +00:05:06.420 --> 00:05:10.560 +ambientes en donde lo necesito. Pero si yo quisiera llevarme ese contexto al + +00:05:10.560 --> 00:05:13.900 +chat de Gemini, pues me lo tengo que traer para hacerlo posible. + +00:05:13.900 --> 00:05:17.000 +Al final, cada una de estas herramientas tiene sus pros y sus contras + +00:05:17.000 --> 00:05:20.960 +y depende de cuál es el caso de uso que yo tengo. + +00:05:20.960 --> 00:05:25.140 +A lo que sí quiero darle doble clic es los modelos que tienen. + +00:05:25.140 --> 00:05:29.840 +En Gemini, puedes ver que tienes un selector arriba donde puedes escoger + +00:05:29.840 --> 00:05:36.040 +entre 2.5 Flash y 2.5 Pro, y me dice: «Rápido para cualquier ayuda + +00:05:36.040 --> 00:05:40.860 +o razonamiento, matemática y código». Luego en ChatGPT, en la versión paga, + +00:05:40.860 --> 00:05:49.020 +tienes bajo pensamiento, pensamiento y pro de la versión GPT cinco. En Claude, + +00:05:49.080 --> 00:05:53.420 +tienes la opción de escoger entre Opus 4.1 y Sonnet, e igual + +00:05:53.420 --> 00:05:58.160 +me dice: «Sonnet es inteligente, eficiente para el día a día». Y luego + +00:05:58.160 --> 00:06:02.719 +dice que es el más poderoso, Opus, el más grande para retos + +00:06:02.720 --> 00:06:07.000 +complejos. Y en Copilot no tengo opción de escoger, solo puedo escoger entre + +00:06:07.000 --> 00:06:12.350 +GPT cuatro o GPT cinco.Ya que pensaste en eso, la verdad es + +00:06:12.350 --> 00:06:16.810 +que puedes usar la misma analogía para pensar en estos modelos. La diferencia + +00:06:16.810 --> 00:06:21.290 +entre un modelo rápido versus un modelo para tareas complejas es la + +00:06:21.290 --> 00:06:25.909 +planificación o el razonamiento que hacen para resolver la tarea. En un modelo + +00:06:25.909 --> 00:06:31.150 +rápido no tenemos un tiempo de planeación, es decir, lanzamos una pregunta + +00:06:31.150 --> 00:06:35.430 +y responde de inmediato la respuesta que ya sea esté en su entrenamiento + +00:06:35.430 --> 00:06:39.770 +o haya obtenido de internet. En un modelo de tareas complejas o + +00:06:39.770 --> 00:06:43.170 +de razonamiento, lo que va a hacer es que va a obtener tu + +00:06:43.170 --> 00:06:46.950 +prompt y va primero a preguntarse: ¿Cuáles son los pasos que necesito + +00:06:46.950 --> 00:06:51.950 +hacer para resolver este problema? Esto se llama think step by step o + +00:06:51.950 --> 00:06:56.750 +cadena de pensamiento. Y antes, cuando no teníamos esta idea de modelos + +00:06:56.750 --> 00:07:00.950 +de razonamiento, teníamos que decirle en el prompt: «Piensa paso a paso cómo + +00:07:00.950 --> 00:07:06.510 +resolver el problema» para inducir esta planeación y que primero pensara cómo + +00:07:06.510 --> 00:07:11.390 +resolverlo y luego ejecutar esos pasos. Ahora no es necesario. Los modelos que + +00:07:11.390 --> 00:07:16.570 +resuelven problemas complejos hacen esto que es pensar el paso a paso + +00:07:16.570 --> 00:07:20.030 +y luego ejecutar ese paso a paso. Esto puede resultar en que es + +00:07:20.030 --> 00:07:26.170 +más demorada la respuesta e incluso en que puede, eh, costar más. + +00:07:26.170 --> 00:07:29.430 +Tenemos un módulo donde vamos a hablar de costos cuando estamos haciendo prompt + +00:07:29.430 --> 00:07:32.990 +engineering. Lo que te invito es que cuando vayas a hacer un, + +00:07:32.990 --> 00:07:36.610 +un prompt y tengas ese problema, pienses: ¿Esto es un problema en donde + +00:07:36.610 --> 00:07:39.170 +yo tengo que planear el paso a paso o es un problema + +00:07:39.170 --> 00:07:44.450 +que la respuesta es inmediata? Y si no es tan intuitivo, intenta siempre + +00:07:44.450 --> 00:07:47.370 +con el modelo más rápido y cuando veas que no estás llegando + +00:07:47.370 --> 00:07:51.570 +a la solución, pásate a probar en el modelo más complejo y ve + +00:07:51.570 --> 00:07:55.870 +si el problema que estás tratando de resolver se logra solucionar. Durante + +00:07:55.870 --> 00:07:59.370 +el curso, las técnicas de prompting te van a enseñar cuál es la + +00:07:59.370 --> 00:08:02.690 +forma de hacer prompts efectivos para los modelos rápidos y cuál es + +00:08:02.690 --> 00:08:07.250 +la forma de hacer pro-prompts efectivos para los modelos de razonamiento. Tu reto + +00:08:07.250 --> 00:08:11.490 +para esta clase es, primero, identifica una tarea real de tu trabajo. + +00:08:11.490 --> 00:08:15.130 +Segundo, vas a escribir un prompt claro. Recuerda lo que aprendimos en la + +00:08:15.130 --> 00:08:21.410 +clase pasada: rol, enfoque, contexto y límites. Tercero, vas a probarlo en + +00:08:21.410 --> 00:08:25.550 +las cuatro herramientas. Recuerda que es importante probarlo en el mismo día, en + +00:08:25.550 --> 00:08:29.990 +el mismo momento para poder comparar de manera efectiva. Cuarto, vas a + +00:08:29.990 --> 00:08:33.930 +evaluar los resultados con los criterios que aprendiste en esta clase. Y, por + +00:08:33.930 --> 00:08:37.130 +último, vas a escoger el modelo que mejor se adaptó para la + +00:08:37.130 --> 00:08:41.350 +tarea que le dejaste. Y déjame en los comentarios cuál fue el modelo + +00:08:41.350 --> 00:08:44.670 +que más funcionó para la tarea. Con esto, la próxima vez que + +00:08:44.670 --> 00:08:49.550 +necesites elegir entre ChatGPT, Claude, Gemini o Microsoft Copilot, ya tienes un método + +00:08:49.550 --> 00:08:53.830 +sistemático para saber cuál es el mejor para responder a un problema. + +00:08:53.830 --> 00:08:56.850 +Te diría que no te limites solamente porque se integra bien, como es + +00:08:56.850 --> 00:09:00.250 +el caso de Copilot con la suite de Microsoft o de Gemini + +00:09:00.250 --> 00:09:03.850 +con la suite de Google, sino que primero trates de resolver muy bien + +00:09:03.850 --> 00:09:07.790 +el problema y luego, si hay uno que se integra mejor, veas + +00:09:07.790 --> 00:09:12.270 +cuáles son las limitaciones que tiene frente al problema que estás resolviendo. Durante + +00:09:12.270 --> 00:09:16.090 +el curso vamos a estar usando los cuatro y vamos a ver, + +00:09:16.090 --> 00:09:20.010 +en cada uno de los ejercicios que hagamos, dónde brillan más, cuáles son + +00:09:20.010 --> 00:09:24.410 +las cualidades que mejor funcionan. Y también te invito, explora las interfaces + +00:09:24.410 --> 00:09:27.730 +de las cuatro herramientas. Lo más importante es saber dónde se cambian los + +00:09:27.730 --> 00:09:31.910 +modos-- los modelos, dónde puedo subir archivos y, en general, van a + +00:09:31.910 --> 00:09:36.550 +ser muy parecidos. En este curso no quiero explicarte la interfaz solo porque + +00:09:36.550 --> 00:09:40.130 +cambian todo el tiempo y lo importante ya lo aprendiste: cómo subir + +00:09:40.130 --> 00:09:43.830 +archivos, cómo escribir el prompt y dónde cambiar los modelos y qué significan + +00:09:43.830 --> 00:09:45.130 +esos modelos. + diff --git "a/prompt-engineering/7-T\303\251cnicas zero shot y few shot para prompts efectivos.mp4" "b/prompt-engineering/7-T\303\251cnicas zero shot y few shot para prompts efectivos.mp4" new file mode 100644 index 0000000000000000000000000000000000000000..35d49fcf2a608cd71fd4a3c89a31a96bf9daa23e --- /dev/null +++ "b/prompt-engineering/7-T\303\251cnicas zero shot y few shot para prompts efectivos.mp4" @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:515771e1f591417b29b0918d24738c01b8f7ad5f6bf597e93f098a8afdc6e0e7 +size 339993634 diff --git "a/prompt-engineering/7-T\303\251cnicas zero shot y few shot para prompts efectivos.sub.vtt" "b/prompt-engineering/7-T\303\251cnicas zero shot y few shot para prompts efectivos.sub.vtt" new file mode 100644 index 0000000000000000000000000000000000000000..6ae06bda279b8b64046ec29c16607eae6945b716 --- /dev/null +++ "b/prompt-engineering/7-T\303\251cnicas zero shot y few shot para prompts efectivos.sub.vtt" @@ -0,0 +1,386 @@ +WEBVTT + +00:00:00.240 --> 00:00:04.140 +Volvamos a la analogía del practicante en la oficina. Esta persona es brillante, + +00:00:04.140 --> 00:00:08.959 +es muy inteligente y tenemos que delegarle una tarea. Y puedes escoger + +00:00:08.960 --> 00:00:13.860 +dos opciones: decirle que haga la tarea así, no más. Le dices la + +00:00:13.860 --> 00:00:17.760 +instrucción y ya está. O puedes darle ejemplos de qué es lo + +00:00:17.760 --> 00:00:23.600 +que esperas como resultado. Esta decisión puede ser bastante sencilla o simple, pero + +00:00:23.600 --> 00:00:25.640 +sí va a ser la diferencia al momento en el que vas + +00:00:25.640 --> 00:00:29.680 +a usar un LLM. Y es la diferencia entre dos técnicas de prompting: + +00:00:29.680 --> 00:00:33.760 +zero shot y few shot. Empecemos con un ejemplo de zero shot, + +00:00:33.760 --> 00:00:37.720 +porque hay situaciones en donde simplemente dar la instrucción está bien. Le vamos + +00:00:37.720 --> 00:00:42.820 +a decir al practicante: «Traduce queso a francés». Así no más. No + +00:00:42.820 --> 00:00:48.330 +necesita un ejemplo. Es suficientemente claro para que el practicante nos responda <|agent|><|es|> + +00:00:48.330 --> 00:00:50.780 +Ahora, con few shot, vamos a ver cuáles son las tareas que + +00:00:50.780 --> 00:00:56.280 +necesitan de ejemplos, porque... sí hay tareas donde los ejemplos van a reducir + +00:00:56.280 --> 00:00:59.620 +la ambigüedad de la instrucción. Por ejemplo, si vamos a decirle al + +00:00:59.620 --> 00:01:05.269 +practicante que clasifique las emociones entre negativo y positivo, pues en principio, las + +00:01:05.269 --> 00:01:08.660 +emociones no son ni negativas ni positivas. Y sin duda, yo puedo + +00:01:08.660 --> 00:01:12.160 +dar mejores instrucciones que van a dar más claridad y reducir la ambigüedad + +00:01:12.160 --> 00:01:16.800 +de esta tarea que le estoy delegando. Pero dar ejemplos va a + +00:01:16.800 --> 00:01:20.710 +permitir que la ambigüedad llegue lo más cercano a cero y va a + +00:01:20.710 --> 00:01:24.899 +permitir detectar ciertos patrones que capaz no voy a ser capaz de + +00:01:24.900 --> 00:01:30.400 +poner en palabras dentro de mi prompt. Entonces, vas a clasificar las emociones + +00:01:30.400 --> 00:01:35.140 +en positivo o negativo. Un ejemplo de negativa es: tristeza, enojo y + +00:01:35.140 --> 00:01:43.300 +miedo. Un ejemplo de positivo es: alegría, felicidad y emoción. Con esto, doy + +00:01:43.300 --> 00:01:48.200 +una serie de ejemplos que van a permitir identificar patrones y mejorar + +00:01:48.200 --> 00:01:51.180 +el resultado que estoy esperando. Vamos a irnos a Claude y vamos a + +00:01:51.180 --> 00:01:53.820 +hacer un ejemplo un poco más aterrizado a lo que nos podríamos + +00:01:53.820 --> 00:01:57.460 +enfrentar en la vida real. En este ejemplo vamos a hacer una publicación + +00:01:57.460 --> 00:02:03.740 +de social media, en específico una publicación para Twitter o ahora X, + +00:02:03.740 --> 00:02:07.420 +y vamos a dar ejemplos que nos permitan llegar a una publicación que + +00:02:07.420 --> 00:02:11.400 +den alto engagement. Para este caso, los ejemplos que estoy agarrando es + +00:02:11.400 --> 00:02:14.580 +que me fui al Twitter de Freddy y cogí los tweets que más + +00:02:14.580 --> 00:02:19.070 +engagement tenían y los estoy colocando como ejemplo. Luego los tweets que, + +00:02:19.070 --> 00:02:23.650 +[chasquido] perdón Freddy, pero no tuvieron tanto engagement y los estoy colocando como + +00:02:23.650 --> 00:02:27.320 +ejemplo. Y vamos a ver cómo cambia los resultados si lo hacemos + +00:02:27.320 --> 00:02:30.680 +con zero shot o lo hacemos con few shot. Vamos a abrir un + +00:02:30.680 --> 00:02:34.100 +nuevo chat en Claude y vamos a partir de este prompt. Este + +00:02:34.100 --> 00:02:37.140 +prompt, la base no va a cambiar en los dos ejemplos para que + +00:02:37.140 --> 00:02:41.180 +podamos ver los resultados. «Actúa como social media manager y crea una + +00:02:41.180 --> 00:02:45.560 +publicación para Twitter sobre el impacto de la inteligencia artificial en el trabajo + +00:02:45.560 --> 00:02:50.220 +y el empleo que tenga alto engagement». Es más, podemos agregar acá + +00:02:50.220 --> 00:02:55.120 +una coma para el «que tenga tanto engagement». Al final, la puntuación es + +00:02:55.120 --> 00:02:58.600 +muy importante en los prompts porque determina mucho el significado de lo + +00:02:58.600 --> 00:03:03.020 +que queremos decir. Con esto, lo enviamos y vamos a ver cuál es + +00:03:03.020 --> 00:03:06.300 +el resultado que nos genera. «Aquí tienes una publicación de Twitter con + +00:03:06.300 --> 00:03:10.720 +alto potencial de engagement». Me entendió perfecto. Y acá me dice: «La IA + +00:03:10.720 --> 00:03:14.540 +no viene a robarnos el trabajo, viene a transformarlo. Mientras algunos roles + +00:03:14.540 --> 00:03:20.440 +desaparecen, emergen otros que ni imaginábamos. Prompt Engineers, AI Ethics Specialists, Human AI + +00:03:20.440 --> 00:03:24.520 +Collaboration Managers». Bla, bla, bla, bla, bla. Y me da una justificación + +00:03:24.520 --> 00:03:27.820 +de por qué es bueno. La verdad es que a mí no me + +00:03:27.820 --> 00:03:32.840 +encanta, me parece una publicación genérica que podría hacer cualquier social media + +00:03:32.840 --> 00:03:36.800 +manager y como que no sería algo a lo que yo le daría + +00:03:36.800 --> 00:03:42.780 +retweet. Ahora hagamos el ejemplo con few shot. Pongamos un par de + +00:03:42.780 --> 00:03:47.280 +ejemplos de contenido que yo sí le di favorito, le di retweet, que + +00:03:47.280 --> 00:03:49.480 +se alinea un poco más a lo que yo quiero decir, pero + +00:03:49.480 --> 00:03:53.120 +que... al final no hay muchas palabras que yo pueda agregarle a este + +00:03:53.120 --> 00:03:56.859 +prompt que vayan a capturar esa esencia. Y para eso tengo el + +00:03:56.860 --> 00:04:01.200 +ejercicio de los tweets de alto engagement y bajo engagement del Twitter de + +00:04:01.200 --> 00:04:05.500 +Freddy. Y lo voy a poner por acá. Veo tweets de alto + +00:04:05.500 --> 00:04:12.480 +engagement. Veo tres que son este de acá, este de acá y este + +00:04:12.480 --> 00:04:19.760 +de acá. Eeeh... Que va hasta por acá. Y ya empiezo a + +00:04:19.760 --> 00:04:23.660 +ver un patrón. Son tweets un poco más largos, uno tiene emojis, tienen + +00:04:23.660 --> 00:04:27.600 +datos un poco más duros, y luego tweets de bajo engagement. Son + +00:04:27.600 --> 00:04:33.760 +mucho más cortos y no tienen casi información. Yo podría poner esto como + +00:04:33.760 --> 00:04:37.740 +parte del prompt, pero incluso hay patrones que yo no estoy capturando + +00:04:37.740 --> 00:04:40.960 +como persona que le van a ayudar al LLM a hacer un mejor + +00:04:40.960 --> 00:04:47.400 +trabajo. Vamos a ver el resultado como social media manager. Acá tienes + +00:04:47.400 --> 00:04:52.060 +la-- el tweet. Dice: «Plot twist! La AI no va a robar tu + +00:04:52.060 --> 00:04:56.380 +trabajo, va a crear trabajos que ni sabíamos que existían. Hace quince + +00:04:56.380 --> 00:05:00.440 +años nadie era creador de contenido o especialista en UX. Hoy hay cincuenta + +00:05:00.440 --> 00:05:03.860 +millones. La pregunta no es ¿me van a reemplazar? Es cómo me + +00:05:03.860 --> 00:05:08.360 +voy a reinventar». Sin duda, la diferencia es gigante. Si yo me voy + +00:05:08.360 --> 00:05:12.180 +a ir y veo esto desde un criterio de persona que hace + +00:05:12.180 --> 00:05:16.450 +marketing, acá tengo algo genérico que no me da o me incita a + +00:05:16.450 --> 00:05:20.880 +la conversación, no lleva a que algo pase con el tweet cuando + +00:05:20.880 --> 00:05:24.420 +lo lea y de hecho, incluso tiene hashtags que podría ser algo de + +00:05:24.420 --> 00:05:30.680 +2015. Pero si me veo acá, el resultado que tengo, primero empieza + +00:05:30.680 --> 00:05:36.300 +con un hook muy claro. Segundo, me da una serie de datos específicos + +00:05:36.300 --> 00:05:41.210 +y me lleva a responder el tweet. Incluso si estoy de acuerdo, + +00:05:41.210 --> 00:05:45.200 +de seguro si soy un especialista en UX, voy a querer compartir esto + +00:05:45.200 --> 00:05:51.270 +y mostrar cómo, eeeh, cómo esto apoya la revolución que está pasando. + +00:05:51.270 --> 00:05:55.680 +Y de hecho, acá me dice los patrones que encontró, eh, dentro del + +00:05:55.680 --> 00:06:00.100 +contenido que le pasé. Como viste, few shot nos dio mejores resultados, + +00:06:00.100 --> 00:06:03.468 +pero la verdad es que-No es una mejor que otra, va a depender + +00:06:03.468 --> 00:06:06.078 +de la tarea. Te voy a dejar tres preguntas que te van + +00:06:06.078 --> 00:06:08.668 +a ayudar a decidir si es mejor few shot o zero shot para + +00:06:08.668 --> 00:06:12.928 +atacar un problema, pero en general te recomiendo que siempre intentes ambas + +00:06:12.928 --> 00:06:18.028 +cosas y veas cuál es el mejor resultado. Las preguntas son: ¿Hay ambigüedad + +00:06:18.028 --> 00:06:21.568 +en la tarea que voy a resolver? ¿Es una tarea que yo + +00:06:21.568 --> 00:06:27.448 +considero compleja? ¿Necesito precisión o replicar un formato en mi tarea? Si las + +00:06:27.448 --> 00:06:30.768 +tres respuestas son sí, lo más probable es que few shot sea + +00:06:30.768 --> 00:06:36.148 +la mejor solución. Pero ahora, también puedes equivocarte haciendo few shot y hay + +00:06:36.148 --> 00:06:39.728 +unas consideraciones que quiero que tengas en cuenta. La primera de las + +00:06:39.728 --> 00:06:45.028 +consideraciones en few shot prompting es cuántos ejemplos le damos. Muy pocos ejemplos + +00:06:45.028 --> 00:06:49.108 +no me va a permitir tener suficiente información para detectar patrones y + +00:06:49.108 --> 00:06:55.468 +reducir la ambigüedad del prompt. Demasiados ejemplos va a dar unos límites muy + +00:06:55.468 --> 00:06:59.408 +claros que cuando llegan casos que no están contemplados, no va a + +00:06:59.408 --> 00:07:03.508 +poder saber cuál es la respuesta correcta y va a empezar a alucinar. + +00:07:03.508 --> 00:07:06.528 +Los papers nos dicen que lo ideal es entre tres a siete + +00:07:06.528 --> 00:07:09.998 +ejemplos. Lo que yo te recomiendo es que pruebes, pero cada vez que + +00:07:09.998 --> 00:07:14.248 +pruebes un prompt, si tienes muchos casos de uso, lo pruebes con + +00:07:14.248 --> 00:07:17.628 +muchos casos de uso cada vez que hacemos el cambio al prompt, para + +00:07:17.628 --> 00:07:22.268 +poder ver dónde estamos fallando, qué patrones está identificando y dónde se + +00:07:22.268 --> 00:07:26.488 +está quedando corto. Ahora, no solo es el número de ejemplos, también es + +00:07:26.488 --> 00:07:30.828 +la variedad. Cuando estamos clasificando emociones o en este caso que estábamos + +00:07:30.828 --> 00:07:35.808 +viendo que queríamos reducir la ambigüedad de la palabra alto engagement, tenemos que + +00:07:35.808 --> 00:07:39.918 +mostrar lo que sí y lo que no. Es decir, mostramos qué + +00:07:39.918 --> 00:07:44.588 +es alto engagement con tres ejemplos y qué es bajo engagement con tres + +00:07:44.588 --> 00:07:50.228 +ejemplos. Con eso podemos dar más disposición a los patrones que estamos + +00:07:50.228 --> 00:07:56.798 +creando dentro del LLM. En clasificación de emociones positivas o negativas, debemos mostrar + +00:07:56.798 --> 00:07:59.818 +qué es positivo y qué es negativo, porque el hecho de solo + +00:07:59.818 --> 00:08:03.808 +mostrar el positivo o solo mostrar el negativo va a generar sesgos en + +00:08:03.808 --> 00:08:07.648 +el modelo que no van a reducir la ambigüedad. De nuevo, vamos + +00:08:07.648 --> 00:08:12.078 +a caer en ejemplos que no contemplan casos de uso que no pensamos + +00:08:12.078 --> 00:08:15.247 +al momento de crear la solución. Por último, y una cosa que + +00:08:15.248 --> 00:08:19.868 +debimos haber hecho mejor en nuestro prompt de, eh, redes sociales, es que + +00:08:19.868 --> 00:08:24.148 +el orden también importa. Se ha demostrado que el orden puede afectar + +00:08:24.148 --> 00:08:27.478 +en un-- de un cincuenta a un noventa por ciento la efectividad del + +00:08:27.478 --> 00:08:32.207 +prompt. Lo correcto es que los órdenes vayan aleatorios. Al final, lo + +00:08:32.207 --> 00:08:35.367 +que va de últimas en nuestro prompt es a lo que más atención + +00:08:35.367 --> 00:08:39.888 +le pone el LLM. Entonces, si solo tenemos lo negativo de últimas, + +00:08:39.888 --> 00:08:44.028 +podemos generar un sesgo. En nuestro caso, generó un gran tuit. Pero imagínate + +00:08:44.028 --> 00:08:46.568 +que este prompt lo vas a usar todos los días para cualquier + +00:08:46.568 --> 00:08:50.698 +tema que quieres crear contenido. En alguno de los temas, ese sesgo va + +00:08:50.698 --> 00:08:54.188 +a importar y va a darnos un resultado que no va a + +00:08:54.188 --> 00:08:58.168 +ser lo que nosotros esperábamos. Entonces, recuerda, en cuanto a orden, lo mejor + +00:08:58.168 --> 00:09:01.308 +es variarlo, que sea aleatorio. Uno sí, uno no, uno sí, uno + +00:09:01.308 --> 00:09:04.728 +no, uno sí, uno no. Y con eso vamos a optimizar la atención + +00:09:04.728 --> 00:09:07.648 +del modelo para este ejemplo que estamos tratando de resolver. + diff --git a/prompt-engineering/8-Estructura de prompts con etiquetas XML para IA.mp4 b/prompt-engineering/8-Estructura de prompts con etiquetas XML para IA.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..c838a1207e39f82718563bab9feefd4d4860e70e --- /dev/null +++ b/prompt-engineering/8-Estructura de prompts con etiquetas XML para IA.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cfeced360bc31a8c7dadc20667a33b87497f1868a70a0e5df0843cdc43acfce +size 469380492 diff --git a/prompt-engineering/8-Estructura de prompts con etiquetas XML para IA.sub.vtt b/prompt-engineering/8-Estructura de prompts con etiquetas XML para IA.sub.vtt new file mode 100644 index 0000000000000000000000000000000000000000..1be75ca246a9d0af60e699f94c25d1d1b3762566 --- /dev/null +++ b/prompt-engineering/8-Estructura de prompts con etiquetas XML para IA.sub.vtt @@ -0,0 +1,641 @@ +WEBVTT + +00:00:00.080 --> 00:00:03.200 +En la clase pasada probamos un prompt que era un poco más complejo + +00:00:03.200 --> 00:00:05.520 +de lo que habíamos hecho hasta ahora en el curso. Vamos a + +00:00:05.520 --> 00:00:09.940 +verlo. En Claude llegamos y pusimos este prompt donde dijimos: «Actúa como social + +00:00:09.940 --> 00:00:12.920 +media manager y crea una publicación de Twitter para el impacto de + +00:00:12.920 --> 00:00:16.340 +la IA en el trabajo y el empleo que tenga alto engagement». Y + +00:00:16.340 --> 00:00:20.860 +pusimos unos ejemplos de tweets de alto engagement y bajo engagement. Todo + +00:00:20.860 --> 00:00:28.050 +esto para aprender cómo hacer zero shot y few shot prompting. Ahora, honestamente, + +00:00:28.050 --> 00:00:33.860 +viendo este prompt, pues es un poquito difícil de leer. Incluso ahorita + +00:00:33.860 --> 00:00:38.660 +que me detengo a verlo, poder ver cuáles son los tres tweets exactamente + +00:00:38.660 --> 00:00:43.940 +es-- es visualmente difícil. Va a pasar esto a un documento y + +00:00:43.940 --> 00:00:47.640 +dentro de eso-- del documento vamos a hablar un poco sobre cómo estructurar + +00:00:47.640 --> 00:00:51.780 +mejor un prompt para que nosotros lo podamos entender mejor y también + +00:00:51.780 --> 00:00:56.320 +para que la inteligencia artificial lo pueda entender mejor. Entonces, acá ya lo + +00:00:56.320 --> 00:01:01.220 +tengo dentro de un documento y quiero que hagamos un par de + +00:01:01.220 --> 00:01:06.460 +modificaciones que nos van a ayudar a ver mejor este prompt, a entenderlo + +00:01:06.460 --> 00:01:13.039 +mejor. Como por ejemplo, podríamos poner esto como un título. Acá tenemos + +00:01:13.040 --> 00:01:17.410 +tweets de alto engagement, luego acá tweets de bajo engagement. Le voy a + +00:01:17.410 --> 00:01:21.600 +poner el mismo título. Y luego, pues sabemos que cada uno de + +00:01:21.600 --> 00:01:24.400 +los tweets está como una lista, pero visualmente no se ve como una + +00:01:24.400 --> 00:01:26.940 +lista. Entonces voy a hacer eso mismo, voy a ponerlo como una + +00:01:26.940 --> 00:01:33.300 +lista y que visualmente, sobre todo si el tweet tiene saltos de línea, + +00:01:33.300 --> 00:01:36.740 +pues se conserven, pero dentro de la lista. Entonces tengo que ir + +00:01:36.740 --> 00:01:45.180 +haciendo esto. Voy a ir acá. Y lo voy a terminar de modificar. + +00:01:45.180 --> 00:01:50.980 +Y por ejemplo, en este caso creo en-- un nuevo bullet porque + +00:01:50.980 --> 00:01:54.840 +es el nuevo tweet. Y entonces acá tengo que mantener los espacios y + +00:01:54.840 --> 00:02:00.480 +luego tenemos este por acá. Y vamos a terminar con este de + +00:02:00.480 --> 00:02:04.340 +por acá, que es el que más saltos de líneas tiene. Y pues + +00:02:04.340 --> 00:02:07.780 +al final, incluso los saltos de líneas son información, ¿no? Porque nos + +00:02:07.780 --> 00:02:12.400 +están diciendo cómo es la estructura del tweet que funciona. Y bueno, los + +00:02:12.400 --> 00:02:15.420 +tweets de bajo engagement la verdad es que tienen menos de este + +00:02:15.420 --> 00:02:22.109 +juego, entonces está mucho más fácil poderlos formatear. Y de acá termino con... + +00:02:22.109 --> 00:02:24.880 +Ah, no, este no es un nuevo tweet. Termino con este de + +00:02:24.880 --> 00:02:32.140 +acá, que es el último. Y solo con este cambio, de repente es + +00:02:32.140 --> 00:02:35.620 +mucho más fácil leerlo. Ya sé que acá está el prompt base, + +00:02:35.620 --> 00:02:39.700 +ya sé que acá empiezan los ejemplos, ya sé que este es un + +00:02:39.760 --> 00:02:43.900 +tweet, ya sé que este es otro tweet, que este es otro + +00:02:43.900 --> 00:02:49.430 +tweet. Y luego tenemos acá los de bajo engagement y puedo ver los + +00:02:49.430 --> 00:02:55.680 +tres perfectamente. Incluso yo podría decir acá: «Mira, estos son ejemplos». Y + +00:02:55.680 --> 00:02:58.180 +para seguir con la estructura de nuestro texto, le vamos a dar un + +00:02:58.180 --> 00:03:02.160 +un título de, de Heading dos. Luego acá le vamos a dar + +00:03:02.160 --> 00:03:08.620 +Heading tres. Eh, y acá Heading tres y ya. Acá está mucho más + +00:03:08.620 --> 00:03:14.660 +visible, mucho más claro. Cualquier persona podría entrar, verlo y leerlo. Y + +00:03:14.660 --> 00:03:17.680 +de hecho, Google Docs hace algo bien interesante. Esto solo es un dato + +00:03:17.680 --> 00:03:21.560 +curioso y es que con los títulos me va generando como este + +00:03:21.560 --> 00:03:29.200 +índice y lo puedo navegar incluso más fácil. Entonces, con estos cambios copiemos + +00:03:29.200 --> 00:03:32.480 +y vámonos a ir a Claude en un nuevo chat y lo + +00:03:32.480 --> 00:03:37.240 +voy a pegar. Incluso cuando lo envío y veo, pues la verdad es + +00:03:37.240 --> 00:03:39.260 +que se ve muy parecido a lo que tenía en la otra + +00:03:39.260 --> 00:03:43.040 +conversación. O sea, de hecho perdió mucho del formato visual que yo le + +00:03:43.040 --> 00:03:46.240 +había dado. Y la clave está ahí. Cuando yo estoy en un + +00:03:46.240 --> 00:03:50.860 +documento de Word o de Google Docs, toda la estructura que nosotros le + +00:03:50.860 --> 00:03:54.579 +damos es una estructura visual que a nosotros como humanos nos ayuda + +00:03:54.580 --> 00:03:59.500 +a entender dónde inician, dónde terminan las cosas y que sea más legible. + +00:03:59.500 --> 00:04:03.680 +El problema es que eso lo tenemos que traducir a la máquina, + +00:04:03.680 --> 00:04:08.360 +a la inteligencia artificial. Y no va a ser tan complejo. Existe una, + +00:04:08.360 --> 00:04:12.700 +una convención que se llaman etiquetas XML, que se crearon para traducir + +00:04:12.700 --> 00:04:16.420 +este mismo formato que nosotros tenemos en un documento que es visual a + +00:04:16.420 --> 00:04:19.350 +algo que las máquinas puedan entender. Y de hecho, como un dato + +00:04:19.350 --> 00:04:26.020 +curioso, así está construido por detrás internet. Esas etiquetas XML-- XML eventualmente evolucionaron + +00:04:26.020 --> 00:04:30.540 +a ser el HTML que constituye una página. Y pareciera que estamos + +00:04:30.540 --> 00:04:33.380 +hablando de algo complejo y algo muy técnico, pues la verdad es que + +00:04:33.380 --> 00:04:36.120 +es algo que ya sabes hacer. Lo que haces en un documento + +00:04:36.120 --> 00:04:41.020 +de Google Docs, en un documento de Google Word, estas etiquetas XML eventualmente + +00:04:41.020 --> 00:04:44.900 +evolucionaron a lo que es HTML, que aunque suena un poco como + +00:04:44.900 --> 00:04:48.400 +código y como que se está poniendo técnico, la verdad es que simplemente + +00:04:48.400 --> 00:04:51.680 +es un lenguaje que permite traducir esa sintaxis o esa jerarquía de + +00:04:51.680 --> 00:04:55.680 +la información a algo que las máquinas entiendan. Entonces, vamos a copiar este + +00:04:55.680 --> 00:04:58.680 +documento y nos vamos a ir a un nuevo documento. Vamos a + +00:04:58.680 --> 00:05:03.860 +empezar de cero. Y lo voy a pegar sin ningún tipo de formato, + +00:05:03.860 --> 00:05:07.340 +igual como lo vimos en Claude. Y la forma en la que + +00:05:07.340 --> 00:05:11.120 +vamos a empezar a darle formato a esto para que sea entendible es + +00:05:11.120 --> 00:05:17.299 +que tenemos las etiquetas que empiezan con el signo de menor mayor, + +00:05:17.640 --> 00:05:21.760 +y en el medio va una palabra descriptiva. Puede ser una palabra o + +00:05:21.760 --> 00:05:24.480 +una frase. Lo importante es que describa qué es lo que va + +00:05:24.480 --> 00:05:29.980 +a contener esta etiqueta. Entonces, por ejemplo, podemos decir ejemplos. Y vamos a + +00:05:29.980 --> 00:05:35.040 +cerrar la etiqueta con el símbolo de mayor menor. Entonces, esto indica + +00:05:35.040 --> 00:05:39.620 +que un contenido está por iniciar. En este caso, los ejemplos que estamos + +00:05:39.620 --> 00:05:43.920 +viendo acá. Entonces ya puedo reemplazar esta palabra por la etiqueta. Y + +00:05:43.920 --> 00:05:47.880 +lo más importante que tiene que entender una máquina es dónde inicia algo + +00:05:47.880 --> 00:05:54.780 +y dónde termina. Nosotros, a nivel visual, en nuestro documento, sabemos que + +00:05:54.780 --> 00:05:59.740 +los ejemplos inician acá y, pues no tienen nada más al fondo. Pero + +00:05:59.740 --> 00:06:10.110 +si yo quisiera decir acá: «Eh, haz tres tweets y yo escogeré».El + +00:06:10.110 --> 00:06:14.530 +mejor. Por el contexto de la frase, yo puedo saber que esto ya + +00:06:14.530 --> 00:06:19.190 +no hace parte de los ejemplos, pero no hay ninguna pista visual + +00:06:19.190 --> 00:06:24.300 +que me ayude a tener ese contexto. La máquina también podría agarrar esto, + +00:06:24.300 --> 00:06:27.590 +la inteligencia artificial también lo podría agarrar por el contexto, como ya + +00:06:27.590 --> 00:06:31.690 +vimos la manera en la que entiende las sutilezas del lenguaje, pero lo + +00:06:31.690 --> 00:06:35.110 +mejor es evitar la ambigüedad, lo mejor es poderle decir dónde acaban + +00:06:35.110 --> 00:06:39.570 +las cosas. Y la forma en la que nosotros decimos que algo terminó + +00:06:39.570 --> 00:06:42.890 +a nivel de etiquetas, es que volvemos a poner la misma etiqueta + +00:06:42.890 --> 00:06:47.610 +que teníamos, pero vamos a modificarla y le vamos a poner un slash, + +00:06:47.610 --> 00:06:53.370 +una barrita que me diga: «Ahí terminó los ejemplos». Entonces, si te + +00:06:53.370 --> 00:06:57.930 +das cuenta, acá ya tenemos una delimitación que me dice: «Estos son los + +00:06:57.930 --> 00:07:03.510 +ejemplos». Y si yo acá continúo y digo: «Haz tres opciones de + +00:07:03.510 --> 00:07:10.610 +tweet para escoger el mejor», ya va a ser claro que esto no + +00:07:10.610 --> 00:07:14.310 +hace parte de los ejemplos. Ahora tenemos ejemplos de tweets de alto + +00:07:14.310 --> 00:07:21.630 +engagement y tenemos ejemplos de tweets de bajo engagement. Pero además, estos tweets, + +00:07:21.630 --> 00:07:26.430 +este es un tweet, porque lo recuerdo, este es otro tweet, porque + +00:07:26.430 --> 00:07:30.670 +lo recuerdo, y este es otro tweet. De otra manera, no tengo forma + +00:07:30.670 --> 00:07:33.749 +de saber dónde inicia y dónde termina. Solo mi memoria en este + +00:07:33.750 --> 00:07:38.880 +momento. Entonces, vamos a hacer una etiqueta más. Vamos a poner la etiqueta + +00:07:38.880 --> 00:07:44.130 +tweet. Literalmente, yo escojo la palabra que quiero poner para decir la + +00:07:44.130 --> 00:07:48.670 +etiqueta. Si quiero poner pajarito, pongo pajarito. El problema de poner palabras que + +00:07:48.670 --> 00:07:52.670 +no sean descriptivas es que hacen parte del, del prompt. Entonces, lo + +00:07:52.670 --> 00:07:56.390 +mejor es poner palabras descriptivas. Y voy a decirle que este es un + +00:07:56.390 --> 00:08:04.170 +tweet y que termina acá. Entonces, abro signo mayor menor, tweet, cierro + +00:08:04.170 --> 00:08:10.150 +con mayor menor, y luego, con el slash digo que termino. Y yo + +00:08:10.150 --> 00:08:14.030 +puedo repetirlo tantas veces quiera. En este caso tengo seis tweets, entonces, + +00:08:14.030 --> 00:08:19.610 +acabo de poner la misma etiqueta de tweet y por acá esta terminaba + +00:08:19.810 --> 00:08:25.130 +acá. Luego voy a poner la etiqueta de tweet y la termino + +00:08:25.130 --> 00:08:29.850 +acá. Y luego tenemos los tweets de bajo engagement. De una vez hagamos + +00:08:29.870 --> 00:08:37.370 +eso. La pongo acá. La termino en... Acá sí ya no me + +00:08:37.370 --> 00:08:41.270 +acuerdo, entonces, voy a irme al otro documento que está más visual. Es + +00:08:41.270 --> 00:08:48.730 +en donde dice cien, acá la termino . Luego, la inicio para + +00:08:48.730 --> 00:08:56.470 +este, la termino. Y luego, la inicio para este y la termino. Y + +00:08:56.470 --> 00:08:59.050 +con esto ya le estoy diciendo a la máquina dónde inicia el + +00:08:59.050 --> 00:09:02.450 +tweet, dónde termina el tweet. Y lo último que yo podría hacer es + +00:09:02.450 --> 00:09:07.270 +decirle cuándo son de alto engagement o cuándo son de bajo engagement. + +00:09:07.270 --> 00:09:10.970 +Y en la clase pasada vimos que teníamos una oportunidad de mejora en + +00:09:10.970 --> 00:09:17.290 +este prompt de few-shot. Y era poner de manera aleatoria los tweets + +00:09:17.290 --> 00:09:23.250 +de alto engagement y bajo engagement para incrementar la probabilidad de que acerte + +00:09:23.250 --> 00:09:27.390 +en qué significa alto engagement y bajo engagement. Entonces, voy a aprovechar + +00:09:27.390 --> 00:09:30.890 +las etiquetas y voy a poner que este es un tweet de alto + +00:09:30.890 --> 00:09:37.490 +engagement. En este caso, cuando estoy colocando una frase, en lugar de + +00:09:37.490 --> 00:09:40.990 +poner espacios, pongo guiones para que sea claro que es parte de la + +00:09:40.990 --> 00:09:44.390 +etiqueta. Y lo único que voy a hacer es cambiar esto mismo + +00:09:44.390 --> 00:09:51.070 +acá, pero cerrándola. La etiqueta de apertura y de cierre deben ser idénticas. + +00:09:51.070 --> 00:09:55.870 +Lo mismo voy a hacer acá y cerrándola. Lo mismo voy a + +00:09:55.870 --> 00:10:01.670 +hacer acá y el último cierre que tenemos. Y luego voy a decirle + +00:10:01.670 --> 00:10:05.330 +a los tweets de bajo engagement que son de bajo engagement, bajo + +00:10:05.330 --> 00:10:13.310 +engagement. Y lo mismo, reemplazo las etiquetas de cierre, reemplazo las de apertura, + +00:10:13.310 --> 00:10:19.730 +reemplazo las de cierre. Y nos queda solo una. Y lo último + +00:10:19.730 --> 00:10:24.470 +que puedo hacer acá, ya que la etiqueta describe cuáles son los tweets + +00:10:24.470 --> 00:10:28.510 +de alto y de bajo engagement, es mezclarlos. Entonces, va a pasar + +00:10:28.510 --> 00:10:33.270 +este que tengo acá, lo voy a poner de segundo lugar. Entonces, tengo + +00:10:33.270 --> 00:10:38.010 +alto engagement acá, alto engagement acá, lo paso de segundo lugar. Luego + +00:10:38.010 --> 00:10:43.350 +tengo otro de bajo engagement por acá. Vamos a tomar este. Y lo + +00:10:43.350 --> 00:10:50.590 +voy a pasar de... ¿Tercero? Tercero, cuarto lugar. Este prompt, así como + +00:10:50.590 --> 00:10:55.550 +está, ya va a dar más claridad a la inteligencia artificial. Ahora, en + +00:10:55.550 --> 00:11:00.430 +este momento, este prompt es mucho más claro para la inteligencia artificial, + +00:11:00.430 --> 00:11:03.170 +pero ahora es un poco más difícil de entender para los humanos. Ya + +00:11:03.170 --> 00:11:06.890 +vamos a ver cómo lo podemos mejorar, pero probémoslo. Nos vamos a + +00:11:06.890 --> 00:11:09.510 +ir acá, nos vamos a ir al nuevo chat, lo voy a pegar + +00:11:09.510 --> 00:11:14.550 +y al enviarlo veamos cuál es el tweet que nos genera. De + +00:11:14.550 --> 00:11:18.970 +plano ya entendió que tiene que hacer tres opciones y me da un, + +00:11:18.970 --> 00:11:23.710 +una opción uno que es: dato impactante e ironía, contraste generacional, más + +00:11:23.710 --> 00:11:28.190 +números contra-- concretos y predicción controversial versus call to action. Y hasta ahora + +00:11:28.190 --> 00:11:32.090 +ha mantenido el formato que nos dio en la primera iteración que + +00:11:32.090 --> 00:11:36.270 +hicimos. Y lo que pasa acá es que aunque no veamos una mejora + +00:11:36.270 --> 00:11:40.410 +incremental de un ejemplo a otro, lo que sí va a pasar + +00:11:40.410 --> 00:11:42.990 +es que si empezamos a probarlo con más temas y más temas y + +00:11:42.990 --> 00:11:47.750 +más temas, es más probable que la consistencia se mantenga, que sea + +00:11:47.750 --> 00:11:53.230 +el mismo-- la misma calidad de resultado cada vez que lo intentemos. Perooo + +00:11:53.230 --> 00:11:57.410 +volvamos al documento y tratemos ahora de darle un poquito más de, + +00:11:57.410 --> 00:12:01.850 +de visual para que sea más fácil para los humanos entenderlo. Lo primero + +00:12:01.850 --> 00:12:06.750 +que podemos hacer es que normalmente podríamos decir que esto estaba como + +00:12:06.750 --> 00:12:12.512 +una lista y que estaba como con un espaciado que me daba la--Esa + +00:12:12.512 --> 00:12:16.942 +pista visual de dónde estaba o iniciaba algo y terminaba algo. Eso + +00:12:16.942 --> 00:12:21.802 +lo podemos hacer nosotros acá, donde incrementamos la indentación y de repente yo + +00:12:21.802 --> 00:12:26.742 +puedo ver que ejemplos inicia acá y ejemplos termina acá de manera + +00:12:26.742 --> 00:12:32.752 +visual. Y esto es algo importante. Nosotros pensemos-- pensamos en las etiquetas como + +00:12:32.752 --> 00:12:37.662 +contenedores. Siempre que lo abro, debo cerrarlo. Y siempre que tengo ese + +00:12:37.662 --> 00:12:42.732 +contenedor, puedo meter contenedores dentro. En este caso, tenemos el contenedor de tuit + +00:12:42.732 --> 00:12:49.822 +de alto engagement que cierra dentro de ejemplos. Conforme vamos abriendo un + +00:12:49.822 --> 00:12:53.762 +contenedor, tenemos que irlo cerrando. Es decir, yo no puedo llegar acá y + +00:12:53.762 --> 00:12:59.662 +decir que este tuit de al-- de alto engagement no cierra, porque + +00:12:59.662 --> 00:13:03.532 +acá va a quedar abierto y va a quedar ambiguo, que es lo + +00:13:03.532 --> 00:13:10.742 +que queremos evitar. También yo podría decir que cierra acá. Y eso + +00:13:10.742 --> 00:13:13.802 +no nos va a dar error, no estamos programando, entonces, na-- no hay + +00:13:13.802 --> 00:13:16.801 +nada que valide que esto está bien o está mal. Pero lo + +00:13:16.801 --> 00:13:19.942 +que sí va a pasar es que va a entender que todo el + +00:13:19.942 --> 00:13:26.282 +contenido que está dentro de esto hace parte del tuit. Y eso + +00:13:26.282 --> 00:13:30.062 +va a incrementar la probabilidad de que no detecte los patrones que queremos + +00:13:30.062 --> 00:13:36.112 +detectar con los ejemplos o que empiece a alucinar la inteligencia artificial. + +00:13:36.112 --> 00:13:41.462 +Entonces, es muy importante que seamos muy cuidadosos cada vez que abrimos una + +00:13:41.462 --> 00:13:45.062 +etiqueta o un contenedor, que lo cerremos y que solo abarque la + +00:13:45.062 --> 00:13:49.562 +información que realmente se atribuye a esa etiqueta. Acá lo otro que podemos + +00:13:49.562 --> 00:13:53.142 +hacer es que podemos también incrementar la indentación para el tuit, y + +00:13:53.142 --> 00:13:56.342 +acá podríamos estar viendo cada uno de los tuits de una manera más + +00:13:56.342 --> 00:14:01.582 +sencilla. Y una cosa que también yo hago, que me gusta mucho + +00:14:01.582 --> 00:14:05.902 +para poder hacer más fácil el entendimiento de esto para todas las personas + +00:14:05.902 --> 00:14:10.802 +que colaboran dentro de los prompts que hacemos en Platzi, es que + +00:14:10.802 --> 00:14:15.342 +podemos darle colores a las etiquetas. Ya tengo el prompt más visual, mucho + +00:14:15.342 --> 00:14:19.082 +más amigable para, para mí entenderlo y para cualquier persona de mi + +00:14:19.082 --> 00:14:21.892 +equipo. Y lo que quiero mostrarte es que en el momento en el + +00:14:21.892 --> 00:14:27.922 +que yo lo pego acá en Claude, pues está exactamente igual a + +00:14:27.922 --> 00:14:32.442 +cuando habíamos puesto las etiquetas. O sea, esos cambios visuales, pues al final + +00:14:32.442 --> 00:14:34.882 +van a ser más para que yo pueda entender el prompt, lo + +00:14:34.882 --> 00:14:38.482 +pueda editar, para que cualquier persona de mi equipo lo pueda editar y + +00:14:38.482 --> 00:14:41.082 +no van a afectar en nada el momento en que yo vaya + +00:14:41.082 --> 00:14:44.242 +a irme acá, lo vaya a ejecutar. Tal cual como lo habíamos visto + +00:14:44.242 --> 00:14:51.742 +antes, se pegó y funcionó. Ahora, hay dos partes que quiero aclarar + +00:14:51.742 --> 00:14:56.232 +acá. Uno, yo pude haber escrito todo el prompt dentro de esta caja, + +00:14:56.232 --> 00:14:59.242 +pero si, por ejemplo, yo digo hola y quiero dar un salto + +00:14:59.242 --> 00:15:03.492 +de línea y simplemente doy Enter, se va a mandar el mensaje directamente. + +00:15:03.492 --> 00:15:06.722 +Si yo quisiera hacer ese salto de línea, debo decir hola y + +00:15:06.722 --> 00:15:11.382 +poner Shift y Enter. Y ahí yo puedo hacer ese salto de línea. + +00:15:11.382 --> 00:15:16.502 +Pero entonces, cuando yo tengo prompts muy largos y me equivoco y + +00:15:16.502 --> 00:15:20.282 +a mitad del prompt se me olvida presionar el Shift y doy Enter, + +00:15:20.282 --> 00:15:22.502 +se me va el prompt y puedo perder el trabajo que estaba + +00:15:22.502 --> 00:15:27.922 +haciendo o tener que empezar un proceso más tedioso. Entonces, en general, cuando + +00:15:27.922 --> 00:15:32.282 +tienes consultas muy pequeñas o prompts muy cortos, hacerlo directamente acá y + +00:15:32.282 --> 00:15:36.422 +no tener las etiquetas XML no va a ser un problema. Todo esto + +00:15:36.422 --> 00:15:39.242 +que aprendimos en esta clase es cuando empezamos a tener prompts más + +00:15:39.242 --> 00:15:44.502 +estructurados. Ahí te recomiendo que empieces a escribir el prompt en un documento, + +00:15:44.502 --> 00:15:48.022 +no en la herramienta, que tengas claridad del prompt. Incluso dile a + +00:15:48.022 --> 00:15:51.042 +un amigo o un compañero que no tenga ninguna idea acerca de lo + +00:15:51.042 --> 00:15:54.442 +que estás haciendo, que lo lea y que te diga qué entendió. + +00:15:54.442 --> 00:15:57.402 +Y una vez ya sabes cuál es el prompt que quieres probar, lo + +00:15:57.402 --> 00:16:01.022 +copies, lo pegues y te lo lleves acá. Y en esos casos, + +00:16:01.022 --> 00:16:04.682 +cuando ya te fuiste a un documento, ya empieza a importar que esa + +00:16:04.682 --> 00:16:07.182 +estructura visual te ayude a ti a no perder el hilo de + +00:16:07.182 --> 00:16:12.482 +lo que estás escribiendo y luego poderlo llevar a tu LLM favorito. +