Escrever prompts mais eficazes

Concluído

Os modelos do Azure OpenAI são capazes de gerar respostas a consultas de linguagem natural com precisão notável. No entanto, a qualidade das respostas depende em grande parte de quão bem o prompt é escrito. Os desenvolvedores podem otimizar o desempenho dos modelos do Azure OpenAI usando técnicas diferentes em seus prompts, resultando em respostas mais precisas e relevantes.

Fornecer instruções claras

Perguntar claramente ao modelo do Azure OpenAI o que você deseja é uma maneira de obter resultados desejados. Sendo o mais descritivo possível, o modelo pode gerar uma resposta que corresponde mais de perto ao que você está procurando.

Por exemplo, digamos que você queira criar uma descrição de produto para uma nova garrafa de água. Considere a resposta associada a cada prompt:

Prompt

Write a product description for a new water bottle

Resposta

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.

Em comparação com um prompt semelhante, com instruções claras.

Prompt

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

Resposta

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 detalhes que precisam ser incluídos informa ao modelo quais informações adicionar à descrição, tornando-o mais preciso com relação ao novo produto.

Esse método pode ser extrapolado para incluir instruções complexas, como uma lista em tópicos de detalhes a serem incluídos, o comprimento da resposta ou os formatos desejados a serem incluídos na saída. Tente perguntar exatamente o que você deseja ver no resultado e você poderá se surpreender com o quão bem o modelo atende à sua solicitação.

Formato das instruções

A forma como as instruções são formatadas pode afetar a forma como o modelo interpreta o prompt. O viés de proximidade pode afetar os modelos; nele, as informações localizadas no final do prompt podem ter mais influência sobre a saída do que as informações no início. Você pode obter respostas melhores repetindo as instruções no final do prompt e avaliando como isso afeta a resposta gerada.

Esse viés de proximidade também pode entrar em jogo ao usar ChatCompletion em um cenário de chat, em que mensagens mais recentes na conversa incluída no prompt têm impacto maior sobre a resposta. A próxima unidade se aprofunda mais no uso de conversas para aprimorar a qualidade da resposta, mas colocar informações importantes mais próximas do final do prompt pode resultar em uma resposta melhor.

Usar marcadores de seção

Uma técnica específica para formatar instruções é dividir as instruções no início ou no final do prompt e deixar o conteúdo do usuário em blocos --- ou ###. Essas marcas permitem que o modelo diferencie mais claramente entre instruções e conteúdo. Por exemplo:

Translate the text into French

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

Observação

As melhores práticas para marcadores de seção podem mudar com versões futuras.

Conteúdo primário, de suporte e de base

Incluir conteúdo para o modelo usar nas respostas permite que ele responda com maior precisão. Esse conteúdo pode ser visto de duas maneiras: conteúdo primário e de suporte.

O conteúdo principal diz respeito ao conteúdo que o tema da consulta, como uma frase a ser traduzida ou um artigo a ser resumido. Muitas vezes, esse conteúdo é incluído no início ou no final do prompt (como uma instrução e diferenciado por blocos ---), com instruções explicando o que fazer com ele.

Por exemplo, digamos que temos um artigo longo que queremos resumir. Poderíamos colocá-lo em um bloco --- no prompt e, em seguida, terminar com a instrução.

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

Summarize this article and identify three takeaways in a bulleted list

O conteúdo de suporte pode alterar a resposta, mas não é o foco ou assunto do prompt. Exemplos de conteúdo de suporte incluem itens como nomes, preferências, data futura a ser incluída na resposta e assim por diante. Fornecer conteúdo de suporte permite que o modelo responda de maneira mais completa e precisa e tenha maior probabilidade de incluir as informações desejadas.

Por exemplo, após receber um email promocional muito longo, o modelo pode extrair informações importantes. Se você adicionar conteúdo de suporte ao prompt indicando algo específico que está procurando, o modelo poderá fornecer uma resposta mais útil. Nesse caso, o email é o conteúdo principal, com os detalhes de seu interesse como o conteúdo de suporte

---
<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:

O conteúdo de base permite que o modelo forneça respostas confiáveis fornecendo conteúdo do qual o modelo pode extrair a resposta. O conteúdo de base pode ser uma redação ou um artigo sobre o qual você faz perguntas, um documento de perguntas frequentes da empresa ou informações mais recentes do que os dados nos quais o modelo foi treinado. Se você precisa de respostas mais confiáveis e atuais ou precisar fazer referência a informações não publicadas ou específicas, o conteúdo de base é altamente recomendado.

O conteúdo de base difere do conteúdo primário, pois ele é a fonte de informações para responder à consulta prompt, e não o conteúdo que está sendo operado para coisas como resumo ou tradução. Por exemplo, quando fornecido um artigo de pesquisa não publicado sobre o histórico da IA, ele pode responder perguntas usando esse conteúdo de base.

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

Where and when did the field of AI start?

Esses dados de base permitem que o modelo forneça respostas mais precisas e informadas que podem não fazer parte do conjunto de dados no qual ele foi treinado.

Pistas

Pistas são palavras indicativas em que o modelo se baseia e, muitas vezes, ajudam a levar a resposta para a direção certa. Elas geralmente são usadas com instruções, mas nem sempre. As pistas são particularmente úteis ao solicitar do modelo uma geração de código. Modelos atuais do Azure OpenAI podem gerar alguns snippets de código interessantes, no entanto, a geração de código será abordada com mais profundidade em um módulo futuro.

Por exemplo, se você quiser ajuda para criar uma consulta SQL, forneça instruções do que você precisa junto com o início da 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

A resposta do modelo continua de onde o prompt parou, continuando em SQL, mesmo que nunca tenhamos solicitado uma linguagem específica. Outros exemplos podem ser ajudar com código Python, fornecendo comentários de código sobre o aplicativo desejado e incluindo import como uma palavra indicativa no final do prompt, ou semelhante, na linguagem desejada.

Outro exemplo, dada uma grande coleção de resenhas de clientes em um prompt e terminando com:

Summarize the reviews above:
Most common complaints:
- 

Em seguida, o modelo sabe completar as afirmações com base no contexto fornecido nas resenhas.