Escritura de solicitudes más eficaces

Completado

Los modelos de Azure OpenAI son capaces de generar respuestas a consultas en lenguaje natural con una precisión notable. Sin embargo, la calidad de las respuestas depende en gran medida de lo bien que se escriba la solicitud. Los desarrolladores pueden optimizar el rendimiento de los modelos de Azure OpenAI usando diferentes técnicas en sus solicitudes, lo que da lugar a respuestas más precisas y pertinentes.

Proporcionar instrucciones claras.

Pedir claramente al modelo de Azure OpenAI lo que se desea es una forma de obtener los resultados deseados. Mediante una descripción detallada, el modelo puede generar una respuesta que se asemeje de manera precisa a lo que se está buscando.

Por ejemplo, supongamos que quiere crear una descripción de producto para una nueva botella de agua. Tenga en cuenta la respuesta asociada a cada solicitud:

Aviso

Write a product description for a new water bottle

Respuesta

Introducing the latest addition to our product line - the innovative and eco-friendly water bottle.
Made from high-quality, BPA-free materials, this bottle is designed to keep your beverages at the
perfect temperature for hours. Its sleek and stylish design makes it the perfect accessory for any
outdoor activity or workout session. With its convenient carrying handle and leak-proof lid, you 
can take it with you wherever you go, without worrying about spills or leaks. Plus, its easy-to-clean
design ensures that you can use it again and again, making it the perfect choice for anyone looking 
for a reliable and sustainable water bottle.

Frente a una solicitud similar, con instrucciones claras.

Aviso

Write a product description for a new water bottle that is 100% recycled. Be sure to include that
it comes in natural colors with no dyes, and each purchase removes 10 pounds of plastic from our 
oceans

Respuesta

Introducing our newest water bottle, the eco-friendly choice for the conscious consumer. Made from 
100% recycled materials and available in natural colors with no dyes, this bottle is not only 
stylish but also sustainable. Each purchase of this bottle removes 10 pounds of plastic from 
our oceans, making it a responsible choice for those who care about the environment. Its durable 
and leak-proof design makes it perfect for outdoor activities, while its easy-to-carry handle 
makes it convenient to take on the go. Join us in our mission to reduce plastic waste and choose 
this eco-friendly water bottle for your daily hydration needs.

Incluir los datos específicos necesarios permite al modelo saber qué información debe agregar a la descripción y ajustarla mejor al nuevo producto.

Este método se puede extrapolar para incluir instrucciones complejas, como una lista con viñetas de detalles que se deben incluir, la longitud de la respuesta o los formatos deseados que se van a incluir en la salida. Pruebe a pedir exactamente lo que quiere ver en el resultado, y puede que se sorprenda de lo bien que el modelo satisface su petición.

Formato de las instrucciones

El formato de las instrucciones puede afectar al modo en que el modelo interpreta la solicitud. El sesgo de recencia puede afectar a los modelos en el sentido de que la información situada hacia el final de la solicitud puede influir más en el resultado que la información situada al principio. Puede que reciba mejores respuestas repitiendo las instrucciones al final de la solicitud y evaluando cómo afecta a la respuesta generada.

Este sesgo de recencia también puede entrar en juego cuando se utiliza ChatCompletion en un escenario de chat, donde los mensajes más recientes de la conversación incluidos en la pregunta tienen un mayor efecto en la respuesta. En la siguiente unidad se profundiza más en el uso de conversaciones para mejorar la calidad de la respuesta, pero colocar la información importante cerca del final de la solicitud puede dar lugar a una mejor respuesta.

Uso de marcadores de sección

Una técnica específica para dar formato a las instrucciones consiste en dividirlas al principio o al final de la solicitud, y que el contenido del usuario se incluya en bloques --- o ###. Estas etiquetas permiten al modelo diferenciar más claramente entre las instrucciones y el contenido. Por ejemplo:

Translate the text into French

---
What's the weather going to be like today?
---

Nota

Los procedimientos recomendados para los marcadores de sección pueden cambiar con versiones futuras.

Contenido principal, complementario y de base

Incluir contenido que el modelo pueda usar para responder le permite responder con mayor precisión. Este contenido puede considerarse de dos maneras: contenido principal y contenido complementario.

El contenido principal hace referencia al contenido que es el tema de la consulta, como una frase para traducir o un artículo para resumir. Este contenido suele incluirse al principio o al final de la solicitud (como una instrucción y diferenciada por bloques ---), con instrucciones que explican qué hacer con él.

Por ejemplo, supongamos que tenemos un artículo largo que queremos resumir. Podríamos colocarlo en un bloque --- en la solicitud y terminar con la instrucción.

---
<insert full article here, as primary content>
---

Summarize this article and identify three takeaways in a bulleted list

El contenido complementario es el contenido que puede modificar la respuesta, pero no es el foco ni el tema de la solicitud. Entre los ejemplos de contenido complementario se incluyen elementos como nombres, preferencias, fecha futura para incluir en la respuesta, etc. Proporcionar contenido complementario permite al modelo responder de forma más completa y precisa y es más probable que incluya la información deseada.

Por ejemplo, en un correo electrónico promocional muy largo, el modelo puede extraer información clave. Si luego agrega contenido complementario a la solicitud especificando algo concreto que busca, el modelo puede proporcionar una respuesta más útil. En este caso, el correo electrónico es el contenido principal y los detalles de lo que le interesa es el contenido complementario.

---
<insert full email here, as primary content>
---
<the next line is the supporting content>
Topics I'm very interested in: AI, webinar dates, submission deadlines

Extract the key points from the above email, and put them in a bulleted list:

El contenido de base permite al modelo ofrecer respuestas confiables, ya que proporciona contenido del que el modelo puede extraer respuestas. El contenido de base puede ser un ensayo o artículo sobre el que luego se hacen preguntas, un documento de preguntas frecuentes de una empresa o información más reciente que los datos con los que se entrenó el modelo. Si necesita respuestas más confiables y actuales, o bien necesita hacer referencia a información no publicada o específica, se recomienda encarecidamente establecer el contenido de base.

El contenido de base difiere del contenido principal en que es el origen de información para responder a la consulta de la solicitud, en lugar del contenido que se usa para cosas como el resumen o la traducción. Por ejemplo, si se le proporciona un trabajo de investigación inédito sobre la historia de la inteligencia artificial, puede responder a preguntas utilizando ese contenido de base.

---
<insert unpublished paper on the history of AI here, as grounding content>
---

Where and when did the field of AI start?

Estos datos de base permiten al modelo proporcionar respuestas más precisas e informadas que pueden no formar parte del conjunto de datos con el que se entrenó.

Indicaciones

Las indicaciones son palabras iniciales en las que se basa el modelo y, a menudo, ayudan a dar forma a la respuesta en la dirección correcta. Con frecuencia se usan con instrucciones, pero no siempre. Las indicaciones son especialmente útiles si se solicita al modelo la generación de código. Los modelos actuales de Azure OpenAI pueden generar fragmentos de código interesantes, pero la generación de código se tratará con más profundidad en un módulo futuro.

Por ejemplo, si quiere ayudar a crear una consulta SQL, proporcione instrucciones de lo que necesita junto con el principio de la consulta:

Write a join query to get customer names with purchases in the past 30 days between tables named orders and customer on customer ID. 

SELECT

El modelo de respuesta retoma la pregunta donde la dejó, y continúa en SQL, a pesar de que nunca pedimos un lenguaje específico. Otros ejemplos podrían ser para ayudar con el código de Python, proporcionando comentarios de código sobre la aplicación deseada e incluyendo import como palabra inicial al final del símbolo de la solicitud o similar en el lenguaje deseado.

Otro ejemplo: dada una gran colección de reseñas de clientes en una solicitud y finalizando con:

Summarize the reviews above:
Most common complaints:
- 

El modelo sabe completar las instrucciones según el contexto proporcionado en las reseñas.