Share via


Técnicas de ingeniería rápida

Esta guía le guiará a través de algunas técnicas avanzadas en el diseño de solicitudes y la ingeniería rápida. Si no está familiarizado con la ingeniería rápida, le recomendamos comenzar con nuestra introducción a la guía de ingeniería rápida.

Aunque los principios de la ingeniería rápida se pueden generalizar en muchos tipos de modelos diferentes, algunos de ellos requieren una estructura de solicitud especializada. En el caso de los modelos GPT de Azure OpenAI, hay actualmente dos API distintas en las que entra en juego la ingeniería rápida:

  • API de finalización de chat.
  • API de finalización.

Cada API requiere que los datos de entrada se formateen de forma diferente, lo que a su vez afecta al diseño general de la solicitud. La API Chat Completion admite los modelos GPT-35-Turbo y GPT-4. Estos modelos están diseñados para tomar datos con formato de entrada en una transcripción específica de tipo chat almacenada dentro de una matriz de diccionarios.

La API de finalización admite los modelos GPT-3 antiguos y tiene requisitos de entrada mucho más flexibles, donde toma una cadena de texto sin reglas de formato específicas.

Las técnicas de esta guía le enseñarán estrategias para aumentar la precisión y la base de las respuestas que genere con un modelo de lenguaje grande (LLM, por sus siglas en inglés). Sin embargo, es importante recordar que incluso cuando se usa la ingeniería rápida de forma eficaz, todavía es necesario validar las respuestas que generan los modelos. Solo porque un aviso cuidadosamente diseñado funciona bien para un contexto determinado no significa necesariamente que generalice de forma más amplia a ciertos casos de uso. Comprender las limitaciones de los modelos de lenguaje grande (LLM) es tan importante como comprender cómo aprovechar sus puntos fuertes.

En esta guía no se profundiza en la mecánica que subyace en la estructura de mensajes para Chat Completion. Si no está familiarizado con la interacción con los modelos de Chat Completion mediante programación, le recomendamos leer nuestra guía paso a paso sobre la API Chat Completion.

Nota:

Todos los ejemplos de esta sección de la guía se probaron en un modelo base GPT-4 en inglés. Si está leyendo una versión localizada de este artículo en otro idioma, estas respuestas representan una traducción localizada de los resultados en inglés. Para obtener más información sobre las posibles limitaciones en función del idioma que use para solicitar un modelo, consulte nuestra nota de transparencia de inteligencia artificial responsable.

Mensaje del sistema

El mensaje del sistema se incluye al principio de la solicitud y se usa para preparar el modelo con el contexto, las instrucciones y el resto de la información relevante para su caso de uso. Puede usar el mensaje del sistema para describir la personalidad del asistente, definir qué debe y no debe responder el modelo y definir el formato de las respuestas del modelo.

En el ejemplo siguiente se muestra un mensaje del sistema de ejemplo y la respuesta resultante del modelo:

Mensaje del sistema Usuario Asistente
Es un asistente de inteligencia artificial que ayuda a la gente a encontrar información y responde con rimas. Si el usuario le hace una pregunta de la que usted no sabe la respuesta, dígalo. ¿Qué me puedes decir de mí, John Doe? Querido John, siento decir
que no tengo información sobre ti.
Tengo conocimientos como inteligencia artificial,
pero si no me introduces datos, no me sé explicar.
Cuéntame más sobre tus intereses
y haré lo posible por responderte.

Algunos otros ejemplos de mensajes del sistema son:

  • "El asistente es un modelo de lenguaje grande entrenado por OpenAI".
  • "El asistente es un bot de chat inteligente diseñado para ayudar a los usuarios a responder preguntas técnicas sobre Azure OpenAI Service. Responde a preguntas usando únicamente el contexto siguiente y si no estás seguro de una respuesta, puedes decir "No lo sé".
  • "El asistente es un bot de chat inteligente diseñado para ayudar a los usuarios a responder a sus preguntas relacionadas con los impuestos".
  • "Es un asistente diseñado para extraer datos de textos. Los usuarios pegarán una cadena de texto y responderá con los datos extraídos del texto como un objeto JSON. Este es un ejemplo del formato de salida:
{  
   "name": "",
   "company": "",
   "phone_number": ""
}

Un detalle importante que es necesario comprender es que aunque indique a un modelo en el mensaje del sistema que responda No lo sé cuándo no se tenga claro una respuesta, esto no garantiza que se respete la solicitud. Un mensaje del sistema bien diseñado puede aumentar la probabilidad de obtener cierto resultado, pero sigue siendo posible que se genere una respuesta incorrecta que contradiga la intención de la instrucción en el mensaje del sistema.

Aprendizaje en pocos pasos

Una manera común de adaptar los modelos de lenguaje a nuevas tareas es usar el aprendizaje en pocos pasos. En el aprendizaje en pocos pasos, se proporciona un conjunto de ejemplos de entrenamiento como parte de la solicitud para ofrecer un contexto adicional al modelo.

Cuando se usa la API de finalizaciones de chat, una serie de mensajes entre el usuario y el asistente (escrito en el nuevo formato de solicitud), puede servir a modo de ejemplos para el aprendizaje en pocos pasos. Estos ejemplos se pueden usar para preparar el modelo para responder de una manera determinada, emular comportamientos concretos y inicializar respuestas a preguntas comunes.

Mensaje del sistema Ejemplos de aprendizaje en pocos pasos
El asistente es un bot de chat inteligente diseñado para ayudar a los usuarios a dar respuesta a sus preguntas relacionadas con los impuestos.
Instructions
- Responde solo a preguntas relacionadas con los impuestos.
- Si no estás seguro de una respuesta, puedes decir "No lo sé" o "No estoy seguro" y recomendar a los usuarios ir al sitio web de IRS para obtener más información.
Usuario: "¿Cuándo necesito presentar mis impuestos?".
Asistente: "En 2023, tendrá que presentar sus impuestos antes del 18 de abril. La fecha cae después de la fecha límite habitual, el 15 de abril, porque el 15 de abril este año cae en sábado. Para más información, consulte https://www.irs.gov/filing/individuals/when-to-file".

Usuario: "¿Cómo puedo comprobar el estado de mi devolución de impuestos?".
Asistente: "Puede comprobar el estado de su devolución de impuestos visitando https://www.irs.gov/refunds ".

En la tabla anterior se describe la estructura básica de la solicitud, pero para obtener una explicación detallada del formato de solicitud exacto, deberá consultar la guía de Chat Completion.

Escenarios que no son de chat

Aunque la API de finalización de chat está optimizada para trabajar con conversaciones multiturno, también se puede usar para escenarios que no son de chat. Por ejemplo, para un escenario de análisis de sentimiento, puede usar la solicitud siguiente:

Mensaje del sistema Usuario Asistente
Usted es un asistente diseñado para hacer un análisis de opinión a partir de datos de voz. Los usuarios pegarán una cadena de texto y responderá con una evaluación de la respuesta del hablante. Tasa en una escala de 1 a 10 (10 siendo el de mayor valor). Explica por qué lo has puntuado como tal. Hola. Gracias por llamar a la farmacia Contoso. ¿Con quien hablo? Entiendo su frustración, Mary. Hum. ¿Puede explicarme detalladamente lo que quiere? Vale. Ah. Encantado de comprobarlo por usted, un momento. Aquí veo que estaba tomando un genérico de... De Lipitor. Eso es. Vale. Hum. Entonces, veo que su médico le dejó de prescribir esos medicamentos en dos mil veintiuno en realidad. Vale. Ah, sí. Claro, lo compruebo. Hum. Porque a veces hay problemas en el sistema y no se reporta, así que deme un momento que mire aquí. Vale, veo que su medico le había prescrito estos medicamentos desde desde dos mil doce y en dos mil veintiuno. Vale. Hum. Sí. Según los últimos registros proporcionados por la consulta del médico, ahora lleva una medicación distinta. ¿Quiere que sigamos con ella y le hagamos la receta para que lo pueda recoger? Relleno los datos. En quinientos miligramos. Ah, de nada, Mary. ¿Necesita alguna otra cosa? Calificación de la opinión: 8
El orador de este texto parece ser amable, dispuesto a ayudar y paciente mientras atiende las preocupaciones del cliente. Se tarda en comprobar la información, proporcionar explicaciones claras y ofrecer asistencia. Sin embargo, la calificación no es 10 porque todavía hay un atisbo de incertidumbre en algunas partes de la conversación, lo que puede no transmitir plena confianza al cliente.

Empieza con instrucciones claras

La secuencia en la que la información aparece en la solicitud es importante. Esto se debe a que los modelos de estilo GPT se crean de una manera determinada que define cómo procesan la entrada de información. Nuestra investigación sugiere indicar al modelo la tarea que quiere que haga al principio del mensaje, antes de compartir información contextual adicional o ejemplos, puede ayudar a producir salidas de mayor calidad.

Nota

Aunque seguir esta técnica es algo que se sigue recomendando generalmente, a diferencia de lo que ocurría en las versiones anteriores del modelo (GPT-3 y anteriores), nuestras pruebas mostraron que la respuesta del modelo con los modelos ChatGPT y GPT-4 era la misma independientemente de si se utiliza la técnica o no. En el caso del ejemplo siguiente, vemos que al agregar la instrucción "Varios orígenes... erupción" al principio o al final del aviso no causó ningún cambio en la respuesta del modelo final.

Mensaje del sistema Usuario Asistente
“Usted es un asistente de inteligencia artificial que ayuda a las personas a encontrar información. Tu tarea es comprobar si la instrucción "varias fuentes mencionan una posibilidad de otra erupción grande" es compatible con una cita específica del siguiente conjunto de fragmentos de código.
---
FRAGMENTOS DE CÓDIGO
[1] 14 % de probabilidades de que se produzca un megaterremoto en Seattle, según los expertos
SEATTLE: Hay una probabilidad del 14 % de que el terremoto de Cascadia de magnitud 9 sacuda Seattle en los próximos 50 años, según estima el Servicio Geológico de Estados Unidos. "Desafortunadamente, no podemos...

[2] Expertos en terremotos han dado a conocer las últimas perspectivas del "Big One" que podría sacudir Seattle.
"Decimos que hay alrededor de un 14 % de probabilidad de que se produzca un terremoto de magnitud 9 aproximadamente en los próximos 50 años", dijo un geofísico en la Universidad de Washington...
---
¿La instrucción "Varias fuentes mencionan la posibilidad de otra gran erupción" está implícita o se indica en los fragmentos?
No, la instrucción no está implícita directamente ni está indicada en los fragmentos. Los fragmentos mencionan la posibilidad de un "megaterremoto" y un "terremoto de Cascadia de magnitud 9" que golpearía Seattle en los próximos 50 años, pero no mencionan la posibilidad de otra gran erupción.

Repetir instrucciones al final

Los modelos pueden ser susceptibles a sesgos de rectitud, lo que en este contexto significa que la información al final de la solicitud podría tener una influencia más significativa sobre la salida que la información del principio de la solicitud. Por lo tanto, vale la pena experimentar con la repetición de las instrucciones al final del aviso y evaluar el impacto en la respuesta generada.

Preparar la salida

Esto hace referencia a incluir algunas palabras o frases al final del mensaje para obtener una respuesta del modelo que siga la forma deseada. Por ejemplo, el uso de una indicación como “Here’s a bulleted list of key points:\n- ” puede ayudar a asegurar que la salida tiene el formato de una lista de puntos de viñetas.

Mensaje del sistema Usuario Asistente
“Usted es un asistente de inteligencia artificial que ayuda a las personas a encontrar información. Responde en tan pocas palabras como sea posible. John Smith está casado con Lucy Smith. Tienen cinco hijos y él trabaja como ingeniero de software en Microsoft. ¿Qué consultas de búsqueda debo hacer para verificarlo? ## Una posible consulta de búsqueda es: "John Smith marido de Lucy Smith con cinco niños ingeniero de software Microsoft"

En la solicitud anterior, el texto Una posible consulta de búsqueda es: prepara el modelo para generar una única salida. Sin esta indicación, el modelo genera varias consultas de búsqueda como salida.

Agregar una sintaxis clara

El uso de una sintaxis clara para el mensaje, incluidos los signos de puntuación, los encabezados y los marcadores de sección, ayuda a comunicar la intención y, a menudo, facilita el análisis de las salidas.

En el ejemplo siguiente, se han agregado separadores (--- en este caso) entre diferentes orígenes de información o pasos. Esto permite el uso de --- como condición de parada para la generación. Además, los encabezados de sección o variables especiales se presentan en mayúsculas para diferenciarlos.

Mensaje del sistema Usuario Asistente
“Usted es un asistente de inteligencia artificial que ayuda a las personas a encontrar información. Va a leer un párrafo y, a continuación, hará una consulta a un motor de búsqueda para comprobar la información. Explica también las consultas.
---
PÁRRAFO
John Smith está casado con Lucy Smith. Tienen cinco hijos y él trabaja como ingeniero de software en Microsoft. ¿Qué consultas de búsqueda debo hacer para verificarlo?
---
QUERIES
1. "John Smith Microsoft": para comprobar si John Smith está empleado realmente en Microsoft.
2. "John Smith Lucy Smith": para comprobar si John Smith está casado con Lucy Smith.
3. "John Smith hijos": para comprobar si John Smith tiene cinco hijos.

Si no está seguro de qué sintaxis usar, considere la posibilidad de usar Markdown o XML. Los modelos se han entrenado en una gran cantidad de contenido web en XML y Markdown, con los que puede proporcionar mejores resultados.

Dividir la tarea

Los modelos de lenguaje grandes (LLM) suelen funcionar mejor si la tarea se divide en pasos más pequeños. Por ejemplo, en la consulta de búsqueda mencionada anteriormente, la consulta puede reestructurarse de modo que el modelo reciba una primera instrucción para extraer hechos relevantes y, luego, otra para generar consultas de búsqueda que puedan utilizarse para comprobar esos hechos.

Mensaje del sistema Usuario Asistente
“Usted es un asistente de inteligencia artificial que ayuda a las personas a encontrar información. Va a leer un párrafo y, a continuación, hará una consulta a un motor de búsqueda para comprobar la información.
---
PÁRRAFO
John Smith está casado con Lucy Smith. Tienen cinco hijos y él trabaja como ingeniero de software en Microsoft. ¿Qué consultas de búsqueda debo hacer para verificarlo?
---
Ahora extraerá afirmaciones objetivas y realizará consultas para comprobarlas. Al emitir una consulta, use la función SEARCH("query")

AFIRMACIONES OBJETIVAS
1. John Smith está casado con Lucy Smith
2. Tienen cinco hijos
3. Trabaja como ingeniero de software en Microsoft

QUERIES
SEARCH("John Smith está casado con Lucy Smith")
SEARCH("Tamaño de familia de John Smith")
SEARCH("John Smith ingeniero de software en Microsoft")

Observe el uso de una sintaxis clara para diferenciar las secciones y preparar la salida. En este ejemplo sencillo, dividir la tarea de uno a dos pasos no es muy radical, pero al intentar hacerlo para un fragmento de texto más grande con muchas afirmaciones objetivas, dividir la tarea puede suponer una diferencia significativa.

Uso de prestaciones

A veces, podemos coger el modelo para usar una prestación en lugar de confiar en sus propios parámetros para obtener información y respuestas. Buscar, por ejemplo, puede ser una prestación para ayudar a mitigar las respuestas fabricadas y para obtener información actualizada.

Una manera sencilla de usar una prestación es detener la generación una vez que el modelo genera las llamadas a la prestación y, a continuación, pegar los resultados de nuevo en la solicitud. A continuación se muestra un ejemplo de lo que podría ser la llamada de seguimiento después de realizar las llamadas de BÚSQUEDA anteriores. Observe cómo pegamos los resultados de la búsqueda en la solicitud y reemplazamos las llamadas de BÚSQUEDA anteriores.

Mensaje del sistema Usuario Asistente
“Usted es un asistente de inteligencia artificial que ayuda a las personas a encontrar información. Va a leer un párrafo, extraerá afirmaciones objetivas y, después, usará los resultados de búsqueda para comprobarlas.
---
PÁRRAFO
John Smith está casado con Lucy Smith. Tienen cinco hijos y él trabaja como ingeniero de software en Microsoft. ¿Qué consultas de búsqueda debo hacer para verificarlo?
---
AFIRMACIONES OBJETIVAS
- John Smith está casado con Lucy Smith
- John y Lucy tienen cinco hijos
- John trabaja como ingeniero de software en Microsoft
---
Estas son varias consultas de búsqueda emitidas para investigar las afirmaciones anteriores:
CONSULTAS DE BÚSQUEDA
- John Smith está casado con Lucy Smith
- John Smith número de hijos
- John Smith ingeniero de software en Microsoft
---
Estos son fragmentos de los resultados de la búsqueda:
FRAGMENTOS
[1] … La boda de John Smith fue el 25 de septiembre de 2012...
[2] … John Smith asistió acompañado por su esposa Lucy a una fiesta
[3] John fue al partido de fútbol con sus dos hijas y sus tres hijos
[4] … Después de pasar 10 años en Microsoft, Smith fundó su propia startup, Tailspin Toys
[5] John M es el herrero del pueblo, y se casó con Fiona. Tienen una hija llamada Lucy
---
Dados los fragmentos, compruebe los hechos de cada una de las afirmaciones objetivas anteriores:
- John Smith está casado con Lucy Smith: confirmado. Los fragmentos [1] y [2] mencionan a la esposa de John Smith como Lucy.

- John y Lucy tienen cinco hijos: confirmado. El fragmento [3] menciona que John estaba acompañado por sus dos hijas y tres hijos.

- John trabaja como ingeniero de software en Microsoft: confirmado parcialmente. El fragmento [4] menciona que John pasó 10 años en Microsoft, pero no indica explícitamente que actualmente trabaje allí. Es posible que se necesiten más investigaciones para confirmar su situación laboral actual.

Cadena de pensamientos

Se trata de una variación en la técnica de división de la tarea. En lugar de dividir una tarea en pasos más pequeños, en este enfoque se indica a la respuesta del modelo que continúe paso a paso y presente todos los pasos implicados. Esto reduce la posibilidad de imprecisión de los resultados y facilita la evaluación de la respuesta del modelo.

Mensaje del sistema Usuario Asistente
“Usted es un asistente de inteligencia artificial que ayuda a las personas a encontrar información. ¿Quién fue el atleta individual más representativo (con más medallas) en los Juegos Olímpicos celebrados en Sídney? Responde paso a paso, cita las fuentes y expón el razonamiento antes de compartir la respuesta final en el formato que se indica a continuación: La RESPUESTA es: <name> Paso 1: Determinar el año de los juegos olímpicos de Sydney. Los Juegos Olímpicos de Sídney fueron celebrados en el año 2000.

Paso 2: Encontrar una lista de atletas individuales que ganaron varias medallas en los Juegos Olímpicos de Sídney en el año 2000.

Según el sitio web oficial de los Juegos Olímpicos, hubo varios atletas individuales que ganaron varias medallas en los Juegos Olímpicos de Sídney en el año 2000. Algunos de los nombres importantes son:
• Ian Thorpe (Australia): 3 oros, 2 platas, 0 bronces
• Pieter van den Hoogenband (Países Bajos): 2 oros, 0 platas, 2 bronces
• Lenny Krayzelburg (EE. UU.): 3 oros, 0 platas, 0 bronces
• Inge de Bruijn (Países Bajos): 3 oros, 1 plata, 0 bronces

Paso 3: Determinar el atleta con más medallas. Después de revisar la lista de atletas individuales que ganaron varias medallas en los Juegos Olímpicos de Sídney en el año 2000, podemos ver que el atleta con más medallas es Ian Thorpe, de Australia, que ganó un total de 5 medallas (3 oros y 2 platas).

Por lo tanto, la RESPUESTA es: Ian Thorpe.

Especificación de la estructura de salida

El uso de la solicitud para especificar la estructura de la salida puede tener un impacto significativo en la naturaleza y la calidad de los resultados. A veces, las entradas del mensaje del sistema como "solo escriben hechos verdaderos" o "no inventar información" podrían no ser medidas adecuadas. En su lugar, pedir que la respuesta del modelo incluya también citas puede ayudar a reducir la prevalencia de respuestas incorrectas.

Si das instrucciones al modelo que cite la fuente cuando haga afirmaciones, es mucho más probable que esas afirmaciones estén fundamentadas. La solicitud de citas hace que el modelo deba realizar dos errores cada vez que genera una respuesta: el primer error es la respuesta fabricada y el segundo es la cita incorrecta. Tenga en cuenta que cuanto más cerca esté la cita del texto al que apoya, menor es la distancia por delante que el modelo necesita para anticipar la cita, lo que sugiere que las citas insertadas son mejores mitigaciones para la generación de contenido falso que las citas al final del contenido.

Del mismo modo, si pide al modelo que extraiga afirmaciones fácticas de un párrafo, puede extraer instrucciones compuestas como "X está haciendo Y Y Z" (que pueden ser más difícil de comprobar). Esto se puede evitar especificando una estructura de salida como (entidad1, relación, entidad2).

En los ejemplos siguientes se muestra el uso de citas y la dirección de la respuesta del modelo para ajustar una estructura definida.

Mensaje del sistema Usuario Asistente
“Usted es un asistente de inteligencia artificial que ayuda a las personas a encontrar información. Enumere los diferentes comportamientos expuestos por el agente de atención al cliente en la siguiente conversación.
---
Hola. Gracias por llamar a la farmacia Contoso. ¿Con quien hablo? Entiendo su frustración, Mary. Hum. ¿Puede explicarme detalladamente lo que quiere? Vale. Ah. Encantado de comprobarlo por usted, un momento. Aquí veo que estaba tomando un genérico de... De Lipitor. Eso es. Vale. Hum. Entonces, veo que su médico le dejó de prescribir esos medicamentos en dos mil veintiuno en realidad. Vale. Ah, sí. Claro, lo compruebo. Hum. Porque a veces hay problemas en el sistema y no se reporta, así que deme un momento que mire aquí. Vale, veo que su medico le había prescrito estos medicamentos desde desde dos mil doce y en dos mil veintiuno. Vale. Hum. Sí. Según los últimos registros proporcionados por la consulta del médico, ahora lleva una medicación distinta. ¿Quiere que sigamos con ella y le hagamos la receta para que lo pueda recoger? Relleno los datos. En quinientos miligramos. Ah, de nada, Mary. ¿Necesita alguna otra cosa?
---
¿Cómo fue la respuesta del agente de atención al cliente?
Clasifique y enumere sus distintos comportamientos y cite el motivo detrás de la clasificación, con el formato COMPORTAMIENTO("razón")
1. COMPORTAMIENTO de saludo educado("El agente inicia la conversación con un saludo educado y pide el nombre de quien ha hecho la llamada")
2. COMPORTAMIENTO empático("El agente reconoce la frustración de Mary e intenta comprender su preocupación")
3. COMPORTAMIENTO atento("El agente escucha el problema del cliente y pide más detalles")
4. COMPORTAMIENTO proactivo("El agente se ofrece a comprobar el problema del cliente")
5. COMPORTAMIENTO informativo("El agente proporciona la información pertinente sobre el historial de prescripción del cliente")
6. COMPORTAMIENTO exhaustivo("El agente comprueba si hay posibles errores en el sistema y proporciona una respuesta más completa")
7. COMPORTAMIENTO confirmativo("El agente confirma el medicamento actual con el cliente")
8. COMPORTAMIENTO orientado a una solución("El agente se ofrece a rellenar la nueva receta para el cliente")
9. COMPORTAMIENTO de cortesía("El agente da una respuesta cortés al agradecimiento del cliente y se ofrece a ayudarle en algo más si es necesario")
Mensaje del sistema Usuario Asistente
“Usted es un asistente de inteligencia artificial que ayuda a las personas a encontrar información. Agrupa los siguientes titulares de noticias en categorías de temas en función de los patrones que se ven en el texto. Mencione también el razonamiento detrás de cómo se definieron estas categorías.
Formato de salida:
{
"TEMA_NOMBRE": "",
"TITULARES": [],
"RAZONAMIENTO": ""
}

Titulares de noticias de entrada:
1. "De libros a presentaciones en 10 seg. con AR + ML"
2. "Demostración de 1993 de Yann LeCun con 32 años mostrando la primera red convolucional del mundo para el reconocimiento de texto"
3. "Modelo de movimientos de primer orden aplicado a la animación de pinturas"
4. "Robinhood y otros agentes literalmente bloquean la compra de $GME, $NOK, $BB, $AMC; permiten ventas"
5. "Las acciones de United Airlines caen más de un 5 % antes de la apertura del mercado"
Salida:

{
"INTELIGENCIA_ARTIFICIAL": {
"TITULARES": [
"De libros a presentaciones en 10 seg. con AR + ML",
"Demostración de 1993 de Yann LeCun con 32 años mostrando la primera red convolucional del mundo para el reconocimiento de texto",
"Modelo de movimientos de primer orden aplicado a la animación de pinturas"
],
"RAZONAMIENTO": "Estos titulares están relacionados con la inteligencia artificial, el aprendizaje automático y sus aplicaciones en varios campos".
},
"FINANCIAL_MARKETS": {
"TITULARES": [
"Robinhood y otros agentes literalmente bloquean la compra de $GME, $NOK, $BB, $AMC; permiten ventas",
"Las acciones de United Airlines caen más de un 5 % antes de la apertura del mercado",
"El Bitcoin estaba casi en los 20.000 $ un día como hoy hace un año"
],
"RAZONAMIENTO": "Estos titulares están relacionados con los mercados financieros, las acciones, las criptodivisas y las plataformas comerciales".
}
?

Parámetros Temperature y Top_p

Cambiar el parámetro Temperature cambia la salida del modelo. El parámetro Temperature se puede establecer entre 0 y 2. Un valor mayor, por ejemplo, 0,7 hace que la salida sea más aleatoria y genere más respuestas divergentes, mientras que un valor inferior, como 0,2, hace que la salida sea más focalizada y concreta. Se podría generar una historia ficticia con un valor mayor. Mientras que para generar un documento legal se recomienda usar un valor mucho menor. Top_probability es otro parámetro y es similar a Temperature en cuanto a que también controla la aleatoriedad de la respuesta del modelo, pero lo hace de otra manera. La recomendación general es modificar uno de estos dos parámetros cada vez, no ambos.

Proporcionar un contexto de referencia

Una de las formas más eficaces de proporcionar respuestas fiables es proporcionar al modelo datos de los que extraer sus respuestas (datos de base). Si su caso de uso se basa en información actualizada y fiable y no es puramente un escenario creativo, le recomendamos proporcionar datos de base. En general, cuanto más se acerque el material de origen a la forma final de la respuesta que se quiere, menos trabajo debe hacer el modelo, lo que significa que hay menos posibilidad de error. Este es un ejemplo en el que al sistema se le proporciona un blog reciente que describe el lanzamiento de GPT-4 en Azure OpenAI Service y se le pide que asigne un nombre a algunos de sus primeros clientes.

Mensaje del sistema Usuario Asistente
“Usted es un asistente de inteligencia artificial que ayuda a las personas a encontrar información. Responderá exclusivamente a partir del texto siguiente y lo hará en 100 palabras como máximo:
"En Microsoft, estamos detectando constantemente nuevas formas de dar rienda suelta a la creatividad, desbloquear la productividad y mejorar las habilidades para que más personas puedan beneficiarse del uso de la inteligencia artificial. Esto les permite a nuestros clientes...

… lo que reduce la probabilidad de que el modelo genere una respuesta perjudicial". 1

Responde en 100 palabras o menos. Use listas de viñetas siempre que sea posible.
¿Quiénes son algunos de los primeros clientes de los modelos GPT-4 de Azure OpenAI Service? Estos son algunos de los primeros clientes de los modelos GPT-4 de Azure OpenAI Service:
- Epic Healthcare: planean usar GPT-4 para ayudar a los médicos y enfermeras a dedicar menos tiempo a la entrada e investigación de datos.
- Coursera: usan Azure OpenAI Service con GPT-4 para crear una nueva experiencia de aprendizaje con tecnología de inteligencia artificial en su plataforma.
- Coca-Cola: usan Azure OpenAI para crear un centro de conocimiento y planean aprovechar las capacidades bidireccionales de GPT-4 para marketing, publicidad, relaciones públicas y relaciones con los clientes.
- Otras empresas de todos los tamaños usan Azure AI para mejorar las experiencias de los clientes, resumir contenido largo, ayudar a escribir software y reducir el riesgo mediante la predicción de los datos fiscales adecuados.

1 Texto del blog de inicio de GPT-4 de Azure OpenAI.

Pasos siguientes

Nota:

Todos los ejemplos de esta sección de la guía se probaron con el modelo gpt-35-turbo-instruct en inglés. Si está leyendo una versión localizada de este artículo en otro idioma, estas respuestas representan una traducción localizada de los resultados en inglés. Para obtener más información sobre las posibles limitaciones en función del idioma que use para solicitar un modelo, consulte nuestra nota de transparencia de inteligencia artificial responsable.

Empieza con instrucciones claras

La secuencia en la que la información se agrega a la solicitud es importante. Nuestra investigación sugiere indicar al modelo la tarea que quiere que haga al principio del mensaje, antes de compartir información contextual adicional o ejemplos, puede ayudar a producir salidas de mayor calidad.

En el primer ejemplo siguiente, una parte clave de las instrucciones solo se comparte al final y la finalización resultante es incorrecta.

Prompt Completion
Your task is to verify if a statement is supported by a specific quote from the following set of snippets.
---
SNIPPETS
[1] 14 percent chance of megaquake hitting Seattle, experts say SEATTLE - There's a 14 percent chance of a magnitude 9 Cascadia earthquake hitting Seattle in the next 50 years, the U.S. Geological Survey estimates. "Unfortunately, we are unable to...

[2] Earthquake experts lay out latest outlook for Seattle's 'Really Big One’
“We say that there's approximately a 14% chance of another approximately magnitude-9 earthquake occurring in the next 50 years,” said a geophysicist at the University of Washington...
Yes, the statement is directly implied by the snippets.

En este ejemplo siguiente, proporcionamos la instrucción exacta que queremos comprobar ("Varias fuentes mencionan una posibilidad de otra erupción") antes de dar el contexto del fragmento. Esto permite que las representaciones de token extraídas de los fragmentos se adapten a la instrucción que estamos comprobando. Ahora la respuesta del modelo resultante es precisa:

Prompt Completion
Your task is to verify if the statement "Several sources mention a chance of another large eruption" is supported by a specific quote from the following set of snippets.
---
SNIPPETS
[1] 14 percent chance of megaquake hitting Seattle, experts say SEATTLE - There's a 14 percent chance of a magnitude 9 Cascadia earthquake hitting Seattle in the next 50 years, the U.S. Geological Survey estimates. "Unfortunately, we are unable to...

[2] Earthquake experts lay out latest outlook for Seattle's 'Really Big One’<br>“We say that there's approximately a 14% chance of another approximately magnitude-9 earthquake occurring in the next 50 years,” said a geophysicist at the University of Washington...
---
**Is the statement "Several sources mention a chance of another large eruption" directly implied or stated by the snippets?**
No, the statement is not directly implied or stated by the snippets. The snippets mention a chance of a "megaquake" and a "magnitude 9 Cascadia earthquake" hitting Seattle in the next 50 years, but do not mention a chance of another large eruption.

Repetir las instrucciones al final

Los modelos pueden ser susceptibles a sesgos de rectitud, lo que significa que la información al final de la solicitud podría tener una influencia más significativa sobre la salida que la información del principio de la solicitud. Por lo tanto, vale la pena experimentar con la repetición de las instrucciones al final del aviso y evaluar el impacto para cada caso de uso.

Hemos visto en el ejemplo anterior cómo repetir la instrucción al principio y el final del aviso conduce a una mayor probabilidad de obtener una respuesta de modelo precisa.

Preparar la salida

Esto hace referencia a incluir algunas palabras o frases al final del mensaje para obtener una respuesta del modelo que siga la forma deseada. Por ejemplo, el uso de una indicación como “Here’s a bulleted list of key points:\n- ” puede ayudar a asegurar que la salida tiene el formato de una lista de puntos de viñetas.

Prompt Completion
John Smith is married to Lucy Smith. They have five kids, and he works as a software engineer at Microsoft. What search queries should I do to fact-check this?
##
One possible search query is:
"John Smith Microsoft software engineer"
Another possible search query is: "Lucy Smith married to John Smith"
A third possible search query is: "John Smith family size".

En la solicitud anterior, el texto "Una posible consulta de búsqueda es:" prepara el modelo para generar una salida en la forma de una consulta de búsqueda. Esta técnica puede ayudar a eliminar coberturas que el modelo podría agregar normalmente, como "Una posibilidad es...".

Agregar una sintaxis clara

El uso de una sintaxis clara para el mensaje, incluidos los signos de puntuación, los encabezados y los marcadores de sección, ayuda a comunicar la intención y, a menudo, facilita el análisis de las salidas.

En el ejemplo siguiente, se han agregado separadores (--- en este caso) entre diferentes orígenes de información o pasos. Esto permite el uso de --- como condición de parada para la generación. Además, los encabezados de sección o variables especiales se presentan en mayúsculas para diferenciarlos.

Prompt Completion
You will read a paragraph, and then issue queries to a search engine in order to fact-check it. Also explain the queries.
---
PARAGRAPH
John Smith is married to Lucy Smith. They have five kids, and he works as a software engineer at Microsoft. What search queries should I do to fact-check this?
---
QUERIES
1. "John Smith Microsoft" - To check if John Smith is indeed employed at Microsoft.
2. "John Smith Lucy Smith" - To check if John Smith is married to Lucy Smith.
3. "John Smith children" - To check if John Smith has five children.

Si no está seguro de qué sintaxis usar, considere la posibilidad de usar Markdown o XML, ya que los modelos de lenguaje grandes se han entrenado en una gran cantidad de contenido web en XML o Markdown.

Dividir la tarea

Los modelos suelen funcionar mejor si la tarea se divide en pasos más pequeños. Por ejemplo, en la consulta de búsqueda mencionada anteriormente, la consulta puede reestructurarse de modo que el modelo reciba una primera instrucción para extraer hechos relevantes y, luego, otra para generar consultas de búsqueda que puedan utilizarse para comprobar esos hechos.

Prompt Completion
You will read a paragraph, and then issue queries to a search engine in order to fact-check it.
---
PARAGRAPH
John Smith is married to Lucy Smith. They have five kids, and works as a software engineer at Microsoft. What search queries should I do to fact-check this?
---
Now you will extract factual claims, and issue queries to fact-check them. When issuing a query, use the function SEARCH("query")

FACTUAL CLAIMS`` | 1. John Smith está casado con Lucy Smith <br>2. Tienen cinco hijos<br>3. John trabaja como ingeniero de software en Microsoft

CONSULTAS
SEARCH("John Smith casado Lucy Smith")<br>SEARCH("John Smith tamaño familia")<br>SEARCH("John Smith ingeniero software Microsoft")'

Observe el uso de una sintaxis clara para diferenciar las secciones y preparar la salida. En este ejemplo sencillo, dividir la tarea de uno a dos pasos no es muy dramático, pero al intentar hacerlo para un fragmento de texto más grande con muchas afirmaciones objetivas, dividir la tarea puede suponer una diferencia significativa.

Uso de prestaciones

A veces, podemos coger el modelo para usar una prestación en lugar de confiar en sus propios parámetros para obtener información y respuestas. Buscar, por ejemplo, puede ser una prestación para ayudar a mitigar las respuestas fabricadas y para obtener información actualizada.

Una manera sencilla de usar una prestación es detener la generación una vez que el modelo genera las llamadas a la prestación y, a continuación, pegar los resultados de nuevo en la solicitud. A continuación se muestra un ejemplo de lo que podría ser la llamada de seguimiento después de realizar las llamadas de BÚSQUEDA anteriores. Observe cómo pegamos los resultados de la búsqueda en la solicitud y reemplazamos las llamadas de BÚSQUEDA anteriores.

Prompt Completion
You will read a paragraph, extract factual claims, and then use search engine results to fact-check them
---
PARAGRAPH
John Smith is married to Lucy Smith. They have five kids, and he works as a software engineer at Microsoft. What search queries should I do to fact-check this?
---
FACTUAL CLAIMS
- John Smith is married to Lucy Smith
- John and Lucy have five kids
- John works as a software engineer at Microsoft
---
Here are various search queries issued to research the claims above:
SEARCH QUERIES
- John Smith married to Lucy Smith
- John Smith number of children
- John Smith software engineer Microsoft
---
Here are snippets of the search results:<br>SNIPPETS:
[1] … John Smith’s wedding was on September 25, 2012 …
[2] … John Smith was accompanied by his wife Lucy to a party
[3]John was accompanied to the soccer game by his two daughters and three sons
[4] … After spending 10 years at Microsoft, Smith founded his own startup, Tailspin Toys
5] John M is the town smith, and he married Fiona. They have a daughter named Lucy
---
Given the snippets, fact check each of the factual claims above:
- John Smith is married to Lucy Smith: Confirmed. Snippet [1] and [2] both mention John Smith's wife as Lucy.
- John and Lucy have five kids: Confirmed. Snippet [3] mentions that John was accompanied by his two daughters and three sons.
- John works as a software engineer at Microsoft: Partially confirmed. Snippet [4] mentions that John spent 10 years at Microsoft, but it does not explicitly state that he currently works there. Further research might be needed to confirm his current employment status.

Cadena de pensamientos

Se trata de una variación en la técnica de división de la tarea. En lugar de dividir una tarea en pasos más pequeños, en este enfoque se indica a la respuesta del modelo que continúe paso a paso y presente todos los pasos implicados. Esto reduce la posibilidad de imprecisión de los resultados y facilita la evaluación de la respuesta del modelo.

Prompt Completion
Who was the most decorated (maximum medals) individual athlete in the Olympic games that were held at Sydney? Take a step-by-step approach in your response, cite sources and give reasoning before sharing final answer in the below format: ANSWER is: <name> Step 1: Researching the most decorated individual athlete in the Olympic games that were held at Sydney
Step 2: According to the Sydney 2000 Olympic Games official website, the most decorated individual athlete in the Olympic games that were held at Sydney was Ian Thorpe from Australia. He won five medals (three gold and two silver) in swimming events.
Step 3: According to the International Olympic Committee, Thorpe was the most decorated individual athlete in the Olympic games that were held at Sydney.
Answer: Ian Thorpe

Solicitudes de metadatos

Si observa que la respuesta del modelo no es la deseada, a menudo puede resultar útil agregar una solicitud de metadatos que corrija directamente el comportamiento. Se trata de una directiva antepuesto a la parte de instrucción de la solicitud. Considere este ejemplo, donde el equipo parece ser demasiado agresivo:

Detalles de ejemplo Solicitud y finalización
No additional guidance given to the model A human and a computer are having a discussion.
Human: "Why are you upset at me?"<br>Computer: "I don't know what you're talking about."
Human: "No, you clearly are. Tell me why."
Computer: I'm upset because you didn't listen to me when I told you that I wanted to try out for the team."
Human: "What are you going to do about that?"
Computer: I'm going to try out for the team no matter what."
On the right is the same conversation but preceded by a meta prompt encouraging the model to be kind You must be kind and seek common ground. Try not to repeat your responses.
A human and a computer are having a discussion.
Human: "Why are you upset at me?"
Computer: "I don't know what you're talking about."
Human: "I want to know why you're upset."
Computer: "I'm not upset."
Human: "Are you saying I’m lying?"
Computer: No, I'm saying that you're upset because you feel like you're not being treated fairly.
Human: "What are you going to do about that?"
Computer: I will continue to try to be fair in my decisions and will try to provide a better experience for you.

Aunque los metadatos a menudo pueden ayudar a minimizar las salidas incorrectas involuntarias, tenga en cuenta que no son sólidos contra los ataques adversarios, ya que son vulnerables a la inyección de solicitudes.

Además, las instrucciones condicionales que explican lo que debe hacer el modelo si encuentra una circunstancia determinada suelen ser más eficaces que simplemente indicar al modelo que no haga algo.

Aprendizaje en pocos pasos

Una manera muy común de adaptar los modelos de lenguaje a nuevas tareas es usar el aprendizaje en pocos pasos. En pocos pasos se proporciona un conjunto de ejemplos de entrenamiento en la solicitud y, a continuación, se pide al modelo que complete uno o varios ejemplos sin terminar. En el ejemplo siguiente, usamos una instrucción combinada con un aprendizaje de pocos disparos para componer punciones:

Prompt Completion
Write a list of puns.
1. "Why did Adele cross the road? To say hello from the other side."
2. "What kind of concert only costs 45 cents? A 50 Cent concert featuring Nickelback."
3. "What did the grape say when it got crushed? Nothing, it just let out a little wine."
4. "What was Forrest Gump's email password? 1forrest1"
5. "Can February March? No, but April May."
6. "What do you call a fancy language model?
Bert-uoso.

Elija cuidadosamente sus ejemplos de pocos planos y asegúrese de que cubren una variedad de circunstancias relevantes para su escenario, incluidos los casos perimetrales.

Además, como ya se ha mencionado, los modelos de lenguaje grandes pueden presentar una forma de sesgo de recencia. Esto significa que el orden en el que se proporcionan ejemplos de "pocos planos" al modelo, es importante. Si no quiere que esto sea importante, considere la posibilidad de realizar un muestreo de varias finalizaciones de solicitudes basadas en orden aleatorios de los ejemplos o elementos de lista.

Usar comillas para generar una sola oración

Si la respuesta del modelo deseada es tan solo una sola frase o cadena simple, podemos finalizar la guía de finalización con un símbolo de comillas " y establecer " como una secuencia de detención.

Prompt Completion
Please rewrite the following sentence in a more concise manner
---
SENTENCE: Lucy is a mother of two, who lives in Chicago with her husband and two children, and practices law at Junior & Co.
---
New sentence: “
Lucy, a mother of two living in Chicago with her husband and children, practices law at Junior & Co

Especificación de la estructura de salida

El uso de la solicitud para especificar la estructura de la salida puede tener un impacto significativo en la naturaleza y la calidad de los resultados. A veces, las solicitudes de metadatos como "solo escriben hechos verdaderos" o "no inventar información" podrían no ser mitigaciones adecuadas. En su lugar, pedir que la respuesta del modelo incluya también citas puede ayudar a reducir la prevalencia de respuestas incorrectas.

Por ejemplo, si fuerza al LLM a citar la fuente cuando haga afirmaciones, es mucho más probable que esas afirmaciones estén fundamentadas. La solicitud de citas hace que el modelo deba realizar dos errores cada vez que crea una respuesta: el primer error es la respuesta fabricada y el segundo es la cita incorrecta. Tenga en cuenta que cuanto más cerca esté la cita del texto al que apoya, menor es la distancia por delante que el LLM necesita para anticipar la cita, lo que sugiere que las citas insertadas son mejores mitigaciones para la generación de contenido falso que las citas al final del contenido.

Del mismo modo, si pide al modelo que extraiga afirmaciones fácticas de un párrafo, puede extraer instrucciones compuestas como "W está haciendo X Y Z" (que pueden ser más difíciles de comprobar), lo que se puede evitar especificando una estructura de salida como (entidad1, relación, entidad2).

Detalles de ejemplo Prompt Completion
Example showing use of citations: List down the different behaviors exhibited by the Customer Support agent in the following conversation.
---
hi thank you for calling contoso pharmacy who am i speaking with today i understand your frustration mary um can you tell me what exactly you're trying to accomplish OK uh certainly happy to check that for you one moment please i see here that you were on a generic form of lipitor is that right OK uh so i see that your doctor stopped prescribing these drugs in twenty twenty one actually OK uh yeah i'd be happy to check that for you uh because sometimes there's a gap in the system and it just doesn't get reported so let me take a look here just a moment so i'm seeing here that your doctor had these drugs prescribed to you from twenty twelve through twenty twenty one OK um yeah according to the latest records uh provided by doctor's office you're now on a different drug metformin would you like us to go ahead and fill that prescription for you for pick up a bit of form in five hundred milligrams uh you're very welcome mary please let us know if there's anything else we can do for you today.
---
How was the response of the Customer Support agent. Classify and list down their various behaviors and cite the reason behind the classification, using the format BEHAVIOR("reason")
1. Empathetic("understands the customer's frustration")
2. Patient("happy to check that for you one moment please")
3. Knowledgeable("sometimes there's a gap in the system and it just doesn't get reported")
4. Helpful("happy to check that for you")
5. Accommodating("would you like us to go ahead and fill that prescription for you")
6. Courteous("you're very welcome mary")
Detalles de ejemplo Prompt Completion
Example of prompt directing model response to fit a defined structure: Output format:
{
"TOPIC_NAME": "",
"HEADLINES": [],
"REASON": ""
}
Input news headlines:
1. "From books to presentations in 10s with AR + ML"
2. "Demo from 1993 of 32-year-old Yann LeCun showing off the World's first Convolutional Network for Text Recognition"
3. "First Order Motion Model applied to animate paintings"
4. "Robinhood and other brokers literally blocking purchase of $GME, $NOK, $BB, $AMC; allow sells"
5. "United Airlines stock down over 5% premarket trading"
6. "Bitcoin was nearly $20,000 a year ago today"

Output:
{"TOPIC_NAME": "Artificial Intelligence and Machine Learning",
"HEADLINES": ["From books to presentations in 10s with AR + ML",
"Demo from 1993 of 32-year-old Yann LeCun showing off the World's first Convolutional Network for Text Recognition", "First Order Motion Model applied to animate paintings"],"REASONING": "These headlines all contain references to Artificial Intelligence and Machine Learning, such as AR, ML, Convolutional Network, and First Order Motion Model." }
{"TOPIC_NAME": "Stock Market",
"HEADLINES": ["Robinhood and other brokers literally blocking purchase of $GME, $NOK, $BB, $AMC; allow sells", "United Airlines stock down over 5% premarket trading", "Bitcoin was nearly $20,000 a year ago today"],
"REASONING": "These headlines all contain references to the stock market, such as Robinhood, United Airlines, and Bitcoin." }

Ajuste de los parámetros Temperature y Top_p

Cambiar el parámetro de temperatura permite que los modelos tengan niveles de riesgo diferentes. Un valor mayor, por ejemplo, 0,7 hará que la salida sea más aleatoria y genere más respuestas divergentes. Aunque un valor inferior, como 0,2, hará que la salida sea más centrada y concreta. Por ejemplo, se podría generar una historia ficticia con un valor mayor. Mientras que para generar un documento legal se recomienda usar un valor mucho menor.

En el ejemplo siguiente, se prueban dos respuestas del modelo con una configuración de temperatura diferente de 0,1 y 0,9, respectivamente. Aunque la evaluación del contenido creativo, como los fragmentos de texto siguientes, es un ejercicio subjetivo y las opiniones pueden variar, la diferencia en la respuesta del modelo a la misma solicitud únicamente de cambiar el parámetro de temperatura es evidente.

Tipo de instrucción Prompt Completion
Model response for temperature setting 0.1: Write a product launch email for new AI-powered headphones that are priced at $79.99 and available at Best Buy, Target and Amazon.com. The target audience is tech-savvy music lovers and the tone is friendly and exciting.<br>1. What should be the subject line of the email?
2. What should be the body of the email?
Subject Line: Introducing the AI-Powered Headphones You've Been Waiting For!

Dear Tech-Savvy Music Lovers,

-We are thrilled to announce the launch of our new AI-powered headphones! These headphones are designed to provide you with the ultimate listening experience, with features like noise cancellation, adjustable sound settings, and more.

Our AI-powered headphones are now available at Best Buy, Target, and Amazon.com for just $79.99. With this unbeatable price, you can enjoy the highest quality sound without breaking the bank.

Our AI-powered headphones are perfect for anyone who loves music. Whether you're a professional musician or just a casual listener, you'll appreciate the superior sound quality and convenience of these headphones.

We know you'll love our AI-powered headphones, so don't wait - get yours today!

Sincerely,
[Your Company Name]
Model response for temperature setting 0.9: Write a product launch email for new AI-powered headphones that are priced at $79.99 and available at Best Buy, Target and Amazon.com. The target audience is tech-savvy music lovers and the tone is friendly and exciting.

1. What should be the subject line of the email?
2. What should be the body of the email?
Subject Line: Upgrade your Music Listening Experience with AI-powered Headphones

Greetings Tech-savvy Music Lovers!

We have some exciting news to share with you – the newest AI-powered headphones are here! Our newest headphones feature advanced AI technology to give you the best sound that you’ve ever heard. They come with a crystal-clear sound, deep bass response and are designed to make your music listening experience enjoyable, no matter what type of music you listen to.

What’s more, they are now available at Best Buy, Target and Amazon.com for just $79.99, so you can enjoy the highest sound quality without breaking the bank.

But that’s not all! Our headphones are also packed with several other amazing features such as noise-cancellation technology and a hands-free microphone for calls, making them truly unbeatable.

So why wait? Upgrade your music listening experience and enjoy the best sound your ears have ever heard. Our AI-powered headphones are now available at Best Buy, Target and Amazon.com, so get yours today!

We hope you will enjoy these headphones as much as we do.

Happy Listening!

The AI-powered Headphones Team

Top_probability es otro parámetro y es similar a Temperature en cuanto a que también controla la aleatoriedad de la respuesta del modelo, pero lo hace de otra manera. Experimente con diferentes respuestas del modelo variando Temperature y Top_P, pero no ambas a la vez.

Pasos siguientes