Estás usando mal ChatGPT.
Haces una pregunta o le das una instrucción y te responde con un montón de texto con un tono muy genérico que te deja frío.
Está gracioso al principio pero rápido pierdes el interés.
Te has descargado algún listado larguísimo de prompts de internet y alguno está bien pero la mayoría no te sirven.
¿Qué te parecería si en lugar de descargarte un listado interminable de prompts para ChatGPT de dudosa eficacia te explicaran qué hacer para obtener la respuesta que realmente estás buscando?
Pues los propios creadores de ChatGPT han hecho un curso de prompts con ChatGPT, para que aprendas las bases para hacer buenos prompts.
Y encima es gratis (de momento).
Hay quién dice que la nueva profesión de futuro en el campo de la Inteligencia Artificial es la Ingeniería de prompts.
Que se ganan sueldazos... 🤨
Pero... ¿qué es un prompt?
Un prompt es el texto que le das a un modelo de Inteligencia Artificial para obtener un resultado.
En el caso de modelos de generación de imágenes como DALL·E2, Stable Diffusion o Midjourney es la descripción de la imagen que quieres generar.
En el caso de ChatGPT es el texto con la instrucción con lo que quieres que haga o con la pregunta que quieres que responda.
Entonces... ¿Qué es la ingeniería de prompts?
Podríamos decir que la ingeniería de prompts es el diseño y construcción de los prompts o instrucciones adecuadas para conseguir que un modelo de Inteligencia Artificial devuelva lo que queremos.
En el caso de ChatGPT, el ingeniero de prompts aprovecha sus conocimientos sobre grandes modelos del lenguaje para la innovación, invención, desarrollo y mejora de instrucciones o prompts que satisfagan las necesidades que tenga su empresa.
O las necesidades que tengas tú mismo a la hora de utilizar ChatGPT como un verdadero ninja 🥷
No hace falta querer dedicarte a ser ingeniero de prompts para poder sacarle todo el partido a un buen diseño de instrucciones cuando estés usando ChatGPT para tus cosas.
Este curso ha sido publicado en abril de 2023 y es GRATIS por tiempo limitado con la colaboración de OpenAI.
El curso está compuesto por lecciones en vídeos cortitas de cada uno de los temas. Estos vídeos están además acompañadas por un Jupyter Notebook con el código en Python para conseguir que ChatGPT haga lo que se va explicando en cada vídeo.
En total, te lo puedes terminar en menos de 2 horas.
Además, no tienes que instalar nada ya que el Jupyter Notebook se ejecuta directamente en la plataforma de deeplearning.ai y no te preocupes porque tampoco tienes que programar. Está todo el código listo para que funcione a la primera.
Si quieres utilizar tus propios ejemplos únicamente tienes que sustituir el prompt de ejemplo por el que tú quieras y ver los resultados.
Eso sí, los vídeos están en inglés aunque siempre puedes verlos con subtítulos (también en inglés).
Si no ves claro el tema de los subtítulos en inglés, la transcripción está también disponible ¡Sólo tienes que traducirla al español usando el traductor de Google o el propio ChatGPT! 😉
En principio el curso está dirigido a desarrolladores y cómo viene con ejemplos de código en Python puede parecer que es necesario saber programar en este lenguaje para ser capaz de seguirlo.
Nada más lejos de la verdad.
Está claro que sacarás más partido de un curso de cómo escribir prompts para desarrolladores si sabes programar pero, como digo, el curso introduce buenas prácticas y algunas guías que se pueden aplicar al interactuar con ChatGPT, aunque no tengas ni idea de Python.
De hecho, como los cuadernos Jupyter se ejecutan directamente en su plataforma no hay ni que tener claves API de OpenAI porque para ejecutar los ejemplos se utilizan directamente las del curso (una manera de usar ChatGPT gratis mientras el curso siga siendo gratuito 😉)
Durante el curso de prompts con ChatGPT Andrew NG e Isa Fulford introducen el concepto de diseño iterativo de prompts.
Si creías que ibas a llegar al prompt perfecto a la primera, siento ser yo quien te diga que necesitarás varios intentos 😬
Lo importante es tener un buen proceso iterativo de diseño de prompts.
A partir de ahí, para comenzar a interactuar con ChatGPT de una manera efectiva en el curso se introducen dos principios muy sencillos.
Pero ojo porque instrucciones claras y específicas no significa que sean cortas. No tengas miedo de escribir prompts largos que le den información relevante a ChatGPT sobre qué quieres conseguir.
Para ello puedes probar a darle algunos ejemplos para que entienda el tono que estás buscando en la respuesta o puedes indicarle qué tipo de formato esperas en la respuesta.
Especificar el formato de respuesta que quieres, ya sea una tabla, un CSV o un JSON te puede ser de mucha utilidad si luego vas a utilizar el resultado en algún otro sitio (como en una hoja Excel, por ejemplo)
prompt = f""" Genera una lista de 10 personas ficticias con su nombre, apellido, ID de cliente, email y fecha de última compra. La lista tiene que estar en formato CSV con la primera fila correspondiente a las claves: ID,nombre,apellido,email,fecha_ultima_compra """
En el caso de que quieras ir un paso más allá e integrar el modelo detrás de ChatGPT en alguna aplicación para interactuar con usuarios, desde OpenAI recomiendan utilizar signos de puntuación y delimitadores para separar distintas partes dentro del propio prompt.
Por ejemplo, utilizar comillas o etiquetas para separar el texto de entrada de la instrucción que indique que queremos hacer con ese texto.
Esta práctica puede ser de gran utilidad para evitar que un usuario intente modificar el comportamiento del modelo (Inyección de prompts).
texto = f""" Tal vez te ha pasado algo parecido a esto... Lo primero que hice cuando comencé a interesarme por el Big Data y la Inteligencia Artificial fue preguntarle a Google. Como habría hecho cualquiera, vaya. Nada demasiado original. La cantidad de información, cursos y recursos que encontré fue tan grande que casi me da una sobredosis. Aún me estoy recuperando. Así que decidí inscribirme en una formación presencial por la que me cobraron un ojo de la cara. La formación estuvo bien para obtener una visión global del universo Big Data. Fue como si me hubieran dado un mapa para saber por donde tirar. Sin embargo, seguía teniendo poca idea sobre el tema y lo que había aprendido me sonaba de haberlo visto alguna vez en Internet. Sin necesidad de gastarme mis ahorros. Fue entonces cuando decidí documentar el camino hasta convertirme en ninja del Big Data. Por si te sirve de algo... """ prompt = f""" Resume el texto entre 3 acentos graves (`) en una sola frase ```{texto}``` """
Otra idea que tratan en el curso consiste en pedirle al modelo que antes de realizar ninguna instrucción verifique que se dan unas condiciones determinadas.
Por ejemplo, si se quiere reformatear un texto en un listado de instrucciones, se podría hacer un prompt que antes de empezar compruebe que realmente hay instrucciones en el texto que le están pasando.
Si el modelo comete errores de razonamiento al contestar es mejor simplificar la tarea.
Desmenuza la tarea en pasos más sencillos y ve interactuando con él hacia la respuesta correcta.
Es posible que la instrucción esté siendo demasiado compleja y el modelo se esté haciendo un lío a la hora de interpretar lo que se le está pidiendo.
Por tanto...
Divide y venceras 🥷
Una opción es especificar los pasos necesarios para completar la tarea.
En el caso de que la instrucción consista en corregir un ejercicio o texto, es una buena práctica pedirle que antes de decidir si está bien o mal la solución que le pasamos, resuelva por sí mismo el problema.
Tienes que tener en cuenta que aunque los grandes modelos del lenguaje como ChatGPT han sido entrenados con un montón de textos e información no lo sabe todo.
Lo que pasa es que su objetivo es dar respuesta a las instrucciones que le damos. Si no conoce la respuesta es posible que invente una que suene creíble.
Desde la aparición de los modelos del lenguaje GPT, cada día se lanzan cientos de aplicaciones software que se construyen sobre la API de estos modelos del lenguaje.
En el curso se introducen algunos de los casos de uso más interesantes💡
Resumir textos largos es una de las aplicaciones más interesantes de ChatGPT.
¿No tienes tiempo para leer tantos artículos como te gustaría?
Pídele a ChatGPT que te haga un resumen y luego podrás seleccionar los artículos más interesantes en los que quieras profundizar.
Algunas recomendaciones:
💡 Puedes indicarle un límite de palabras o frases que debe tener el resumen.
💡 Puedes indicarle los aspectos en los que debería enfocarse.
💡 Puedes pedirle que extraiga la información que te interesa en lugar de resumir el texto completo.
Después estaba la fase de entrenamiento del modelo.
Y finalmente había que desplegar el modelo para poder utilizarlo para inferir los sentimientos predominantes de nuevas opiniones.
Ya no hace falta. Podemos usar ChatGPT para ello 🙂
prompt = f""" ¿Cuál es el sentimiento predominante en la reseña del restaurante delimitada por tres acentos graves? Responde con. un única palabra, "positiva" o "negativa". Reseña: ```Vaya espectáculo de comida!!! Es una locura y un espectáculo! Sin duda los platos son de una imaginación única en el mundo y sobre todo de una calidad muy difícil de igualar. Todo relacionado con el mar y el pescado, incluso los postres, que te dejan sin palabras. Hay platos y elaboraciones que no se comen en otro sitio del mundo. El sitio es precioso, un antiguo molino y el trato es espectacular. Tienen la cocina abierta y es una pasada verles trabajar. Una visita imprescindible una vez en la vida.``` """
Además de identificar sentimientos predominantes en textos también se puede extraer otros tipos de información directamente con el diseño del prompt correcto como:
O hacerlo todo a la vez en el mismo prompt 😉
Otra de las aplicaciones más top de ChatGPT y sus familiares es la traducción de textos 🔝
No únicamente de un idioma a otro sino que también se puede indicar que modifique el tono o el formato.
prompt1 = f""" Traduce el texto entre comillas simples a un tono formal de negocios. '''{texto_informal}''' """ prompt2 = f""" Traduce diccionario de Python entre comillas simples de formato JSON a HTML: '''{python_dict}''' """
¡ Sin olvidar que ChatGPT puede ser tu corrector personal de ortografía y gramática!
La utilización de modelos GPT para generación de contenidos es el sueño de cualquier blogger/marketer y la pesadilla de los resultados de búsqueda de Google y de la gente con fobia al SPAM.
En este apartado del curso vemos como personalizar respuestas a nuestros emails y generar otros tipos de contenido.
(*) Este artículo ha sido escrito sin la ayuda de ningún modelo generativo del lenguaje 😇
Finalmente, el curso termina con un ejemplo de ChatBot capaz de recolectar pedidos en una pizzería 🍕
system
: Las instrucciones que le susurramos al oído al modelo en las que le indicamos el tipo de comportamiento que va a tener.assistant
: Los mensajes del modelouser
: Los mensajes del usuarioDentro de los mensajes de sistema incluimos la carta completa de pizzas e ingredientes con sus precios y los pasos que seguirá el modelo para recoger el pedido del cliente.
Si has llegado hasta aquí, ya te habrás dado cuenta de que el curso merece realmente la pena.
Tanto si eres desarrollador de software como si únicamente utilizas la interfaz web de ChatGPT seguro que sacas partido a los consejos de Andrew e Isa para diseñar buenos prompts.