Saltar al contenido

Sube de nivel tu juego GPT con ingeniería rápida

12 de mayo de 2023

¡Bienvenido de nuevo a esta serie de blogs sobre OpenAI y .NET!

Si es nuevo aquí, consulte nuestra primera publicación donde presentamos la serie y le mostramos cómo comenzar a usar OpenAI en .NET.

El enfoque de esta publicación es la ingeniería rápida y cómo puede refinar las entradas que proporciona a los modelos de OpenAI para producir respuestas más relevantes. ¡Empecemos!

¿Qué es un aviso?

Una solicitud es la entrada del usuario proporcionada a un modelo para generar terminaciones. El indicador es lo que guía al modelo para generar respuestas conocidas como finalizaciones.

Para obtener más detalles sobre las indicaciones y las finalizaciones, consulte el artículo Primeros pasos con las finalizaciones de OpenAI en .NET.

La estructura de un mensaje

Como mínimo, un aviso consta de dos componentes:

Dado el siguiente aviso:

Resuma esto para un estudiante de segundo grado:

Júpiter es el quinto planeta desde el Sol y el más grande del Sistema Solar. Es un gigante gaseoso con una masa de una milésima parte de la del Sol, pero dos veces y media la de todos los demás planetas del Sistema Solar juntos. Júpiter es uno de los objetos más brillantes visibles a simple vista en el cielo nocturno, y las civilizaciones antiguas lo conocen desde antes de la historia registrada. Lleva el nombre del dios romano Júpiter.[19] Cuando se ve desde la Tierra, Júpiter puede ser lo suficientemente brillante como para que su luz reflejada proyecte sombras visibles.[20] y es, en promedio, el tercer objeto natural más brillante en el cielo nocturno después de la Luna y Venus.

Se puede desglosar en:

  • Contexto: Júpiter es el quinto planeta desde el Sol y el más grande del Sistema Solar. Es un gigante gaseoso con una masa de una milésima parte de la del Sol, pero dos veces y media la de todos los demás planetas del Sistema Solar juntos. Júpiter es uno de los objetos más brillantes visibles a simple vista en el cielo nocturno, y las civilizaciones antiguas lo conocen desde antes de la historia registrada. Lleva el nombre del dios romano Júpiter.[19] Cuando se ve desde la Tierra, Júpiter puede ser lo suficientemente brillante como para que su luz reflejada proyecte sombras visibles.[20] y es, en promedio, el tercer objeto natural más brillante en el cielo nocturno después de la Luna y Venus.
  • Tarea/Consulta: Resuma esto para un estudiante de segundo grado:

¿Qué es la ingeniería rápida?

La ingeniería de avisos es el proceso y las técnicas para componer avisos para producir resultados que se parezcan más a la intención deseada.

Recomendado:  Mejorar el aprendizaje en línea con la inteligencia artificial

Sugerencias para redactar indicaciones

Si bien no es una lista exhaustiva, los siguientes son consejos rápidos para mejorar la calidad de sus indicaciones y finalizaciones:

  • Sea claro y específico
  • Proporcionar resultados de muestra
  • Proporcionar contexto relevante
  • Refinar, refinar, refinar

Sea claro y específico

Al crear un aviso, cuantos menos detalles proporcione, más suposiciones tendrá que hacer el modelo. Coloque límites y restricciones en su solicitud para guiar el modelo a generar los resultados que desea.

Por ejemplo, supongamos que desea clasificar el sentimiento de una publicación en las redes sociales utilizando el siguiente mensaje:

Clasifica esta publicación

“Mi gato es adorable ❤️❤️”

Es posible que obtenga una respuesta similar a la siguiente: This post would be classified as a statement or opinion.

Como puede ver, a la publicación se le ha asignado una categoría arbitraria. Sin embargo, esa categoría no tiene relación con el sentimiento. Al proporcionar más orientación y restricciones en la solicitud, puede guiar el modelo para producir el resultado que desea.

Cuando actualiza el aviso para ser más preciso, le está informando al modelo que desea que la salida represente el sentimiento de la publicación y elija entre las tres categorías de positivo, neutral o negativo.

Clasifique el sentimiento de esta publicación como positivo, neutral o negativo

“Mi gato es adorable ❤️❤️”

Debería obtener un resultado de Postive en este caso, que se parece más a su intención original de clasificar el sentimiento.

Proporcionar resultados de muestra

La forma más rápida de comenzar a generar resultados es usar la configuración preconfigurada del modelo en el que se entrenó. Esto se conoce como aprendizaje de tiro cero. Al proporcionar ejemplos, preferiblemente utilizando datos similares a los que trabajará, puede guiar mejor el modelo para producir mejores resultados. Esta técnica se conoce como aprendizaje de pocos disparos.

Por ejemplo, supongamos que desea extraer información de un documento como un correo electrónico y generar un objeto JSON.

Extraiga los códigos de ciudades y aeropuertos de este texto como JSON:

“Quiero volar de Los Ángeles a Miami”.

Es posible que obtenga una respuesta como la siguiente:

{
"From": {
"City": "Los Angeles",
"Airport Code": "LAX"
},
"To": {
"City": "Miami",
"Airport Code": "MIA"
}
}

Aunque así es, el esquema del objeto JSON que se genera no coincide con el esquema esperado por mi aplicación. En ese caso, puedo proporcionar una muestra de la salida que espero para guiar al modelo a formatear mi salida correctamente. Dado el siguiente aviso:

Extraiga los códigos de ciudades y aeropuertos de este texto como JSON:

Texto: «Quiero volar de Los Ángeles a Miami». Salida JSON: { “Origen”: { “CityName”: “Los Ángeles”, “AirportCode”: “LAX” }, “Destino”: { “CityName”: “Miami”, “AirportCode”: “MIA” } }

Texto: «Quiero volar de Orlando a Boston» Salida JSON:

Puede esperar que el modelo produzca una salida similar a la siguiente:

Recomendado:  No entrenar GPT-4 en datos de clientes de API

{
"Origin": {
"CityName": "Orlando",
"AirportCode": "MCO"
},
"Destination": {
"CityName": "Boston",
"AirportCode": "BOS"
}
}

Proporcionar contexto relevante

Los modelos como GPT se entrenaron en millones de documentos y artefactos de todo Internet. Por lo tanto, cuando le pide que realice tareas como responder preguntas y no limita el alcance de los recursos que puede usar para generar una respuesta, es probable que, en el mejor de los casos, obtenga una respuesta factible (aunque quizás incorrecta) y en el peor de los casos, la respuesta será fabricada.

Por ejemplo, si le pediste a alguien que escribiera un resumen de Harry Potter, es posible que te estés refiriendo a varias cosas: películas, libros o videojuegos. Si bien los personajes y algunos elementos pueden ser similares en estos medios, las líneas de la historia pueden diferir y, como resultado, es posible que obtenga diferentes respuestas que son plausibles, pero no correctas.

De forma similar al aprendizaje de intentos cero y pocos intentos, que proporciona ejemplos de los resultados que espera que genere el modelo, puede proporcionar hechos e información relevante adicional en su aviso para guiar al modelo a responder preguntas y realizar otras tareas. Esta técnica se conoce como puesta a tierra porque está basando el modelo en hechos. A un nivel muy alto, así es como funcionan algunas de las capacidades de IA en Bing. Primero se realiza una búsqueda para encontrar los documentos más relevantes para responder a su consulta. Luego, los contenidos de las páginas web más relevantes se proporcionan como contexto adicional en su aviso y los modelos de IA usan esta información para generar una respuesta más relevante.

Supongamos que desea responder algunas preguntas sobre un documento. Este documento puede ser una página web pública como Wikipedia o un documento de la base de conocimientos interna de su empresa. Su mensaje que incluye información adicional en el contexto podría tener el siguiente aspecto:

Júpiter es el quinto planeta desde el Sol y el más grande del Sistema Solar. Es un gigante gaseoso con una masa de una milésima parte de la del Sol, pero dos veces y media la de todos los demás planetas del Sistema Solar juntos. Júpiter es uno de los objetos más brillantes visibles a simple vista en el cielo nocturno, y las civilizaciones antiguas lo conocen desde antes de la historia registrada. Lleva el nombre del dios romano Júpiter.[19] Cuando se ve desde la Tierra, Júpiter puede ser lo suficientemente brillante como para que su luz reflejada proyecte sombras visibles.[20] y es, en promedio, el tercer objeto natural más brillante en el cielo nocturno después de la Luna y Venus.

Contesta la siguiente pregunta:

P: ¿Cuál es el quinto planeta desde el sol? R: Júpiter

P: ¿Cuál es la masa de Júpiter en comparación con el sol?

Es posible que obtenga una respuesta similar a la siguiente: A: Jupiter has a mass one-thousandth that of the Sun.

En este ejemplo, no solo proporciona hechos e información para que el modelo los use como parte de su respuesta, sino que también proporciona un ejemplo de cómo desea que responda.

Recomendado:  AI News Weekly - Número 177: Google ofrece ayudar a otros con la ética difícil de la IA - 3 de septiembre de 2020

Refinar, refinar, refinar

La generación de resultados puede ser un proceso de prueba y error. No se desanime si no obtiene el resultado esperado en el primer intento. Experimente con una o más de las técnicas de este artículo y recursos vinculados para encontrar lo que funciona mejor para su caso de uso. Reutilice el conjunto inicial de resultados generados por el modelo para proporcionar contexto y orientación adicionales en su aviso.

Comience a diseñar sus propios avisos

Ahora que conoce algunas formas de mejorar sus solicitudes y finalizaciones, es hora de comenzar a generar las suyas propias. Para empezar:

  1. Regístrese o solicite acceso con OpenAI o Azure OpenAI Service.
  2. Use sus credenciales para comenzar a experimentar con los ejemplos de OpenAI .NET.

Que sigue

En la próxima publicación, entraremos en más detalles sobre ChatGPT y cómo puede usar los modelos OpenAI en contextos más conversacionales.

Queremos escuchar de ti

Ayúdenos a obtener más información sobre cómo desea utilizar la IA en sus aplicaciones. Tómese unos minutos para completar una breve encuesta.

¿Hay algún tema sobre el que te interese aprender más? Háganos saber en los comentarios.

Recursos adicionales

Si desea aprender más técnicas para crear sus propias indicaciones, consulte las técnicas de ingeniería de indicaciones y los artículos El arte de la indicación: cómo obtener lo mejor de la IA generativa.