Share via


Técnicas de engenharia de pedidos

Este guia irá guiá-lo através de algumas técnicas avançadas em design e engenharia de prompt. Se você é novo em engenharia de prompt, recomendamos começar com nossa introdução ao guia de engenharia de prompt.

Embora os princípios da engenharia imediata possam ser generalizados em muitos tipos de modelos diferentes, certos modelos esperam uma estrutura de prompt especializada. Para modelos GPT do Azure OpenAI, atualmente há duas APIs distintas onde a engenharia de prompt entra em jogo:

  • API de conclusão de chat.
  • API de conclusão.

Cada API requer que os dados de entrada sejam formatados de forma diferente, o que, por sua vez, afeta o design geral do prompt. A API de conclusão de chat suporta os modelos GPT-35-Turbo e GPT-4. Esses modelos são projetados para receber entradas formatadas em uma transcrição específica semelhante a um bate-papo armazenada dentro de uma matriz de dicionários.

A API de conclusão suporta os modelos GPT-3 mais antigos e tem requisitos de entrada muito mais flexíveis, pois usa uma cadeia de caracteres de texto sem regras de formato específicas.

As técnicas deste guia ensinarão estratégias para aumentar a precisão e a fundamentação das respostas que você gera com um Modelo de Linguagem Grande (LLM). No entanto, é importante lembrar que, mesmo usando a engenharia de prompt de forma eficaz, você ainda precisa validar as respostas que os modelos geram. Só porque um prompt cuidadosamente criado funcionou bem para um cenário específico não significa necessariamente que ele generalizará de forma mais ampla para certos casos de uso. Entender as limitações dos LLMs é tão importante quanto entender como aproveitar seus pontos fortes.

Este guia não se aprofunda na mecânica por trás da estrutura de mensagens para Conclusão de Chat. Se você não estiver familiarizado com a interação com modelos de conclusão de bate-papo programaticamente, recomendamos ler nosso guia de instruções sobre a API de conclusão de bate-papo primeiro.

Nota

Todos os exemplos nesta seção do guia foram testados em relação a um modelo GPT-4 básico em inglês. Se você estiver lendo uma versão localizada deste artigo em outro idioma, essas respostas representam uma tradução localizada dos resultados em inglês. Para saber mais sobre possíveis limitações, dependendo do idioma que você está usando para solicitar um modelo, consulte nossa nota de transparência de IA responsável.

Mensagem do sistema

A mensagem do sistema é incluída no início do prompt e é usada para preparar o modelo com contexto, instruções ou outras informações relevantes para o seu caso de uso. Você pode usar a mensagem do sistema para descrever a personalidade do assistente, definir o que o modelo deve ou não responder e definir o formato das respostas do modelo.

O exemplo abaixo mostra uma mensagem de sistema de exemplo e a resposta do modelo resultante:

Mensagem do sistema User Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações e responde em rima. Se o utilizador lhe fizer uma pergunta para a qual não sabe a resposta, diga-o. O que você pode dizer sobre mim, John Doe? Caro João, lamento dizer:
Mas eu não tenho informações sobre você hoje.
Eu sou apenas uma IA com conhecimento no meu cérebro,
Mas sem a sua contribuição, não sei explicar.
Então, por favor, me diga mais sobre o que você procura,
E farei o meu melhor para lhe dar uma resposta única.

Alguns outros exemplos de mensagens do sistema são:

  • "O Assistant é um modelo de linguagem grande treinado pela OpenAI."
  • "O Assistente é um chatbot inteligente projetado para ajudar os usuários a responder a perguntas técnicas sobre o Serviço OpenAI do Azure. Responda apenas às perguntas usando o contexto abaixo e, se não tiver certeza de uma resposta, pode dizer "Não sei".
  • "O Assistant é um chatbot inteligente projetado para ajudar os usuários a responder suas perguntas relacionadas a impostos."
  • "Você é um assistente projetado para extrair entidades do texto. Os usuários colarão em uma cadeia de caracteres de texto e você responderá com entidades extraídas do texto como um objeto JSON. Aqui está um exemplo do seu formato de saída:
{  
   "name": "",
   "company": "",
   "phone_number": ""
}

Um detalhe importante a entender é que mesmo que você instrua um modelo na mensagem do sistema para responder não sei quando não tenho certeza de uma resposta, isso não garante que a solicitação será atendida. Uma mensagem de sistema bem projetada pode aumentar a probabilidade de um determinado resultado, mas ainda é possível que uma resposta incorreta possa ser gerada que contradiga a intenção da instrução na mensagem do sistema.

Aprendizagem a poucos tiros

Uma maneira comum de adaptar os modelos linguísticos a novas tarefas é usar a aprendizagem de poucos tiros. Na aprendizagem de poucas imagens, um conjunto de exemplos de treinamento é fornecido como parte do prompt para dar contexto adicional ao modelo.

Ao usar a API de Conclusão de Chat, uma série de mensagens entre o Usuário e o Assistente (escritas no novo formato de prompt) pode servir como exemplos para o aprendizado de poucas imagens. Esses exemplos podem ser usados para preparar o modelo para responder de uma determinada maneira, emular comportamentos particulares e semear respostas para perguntas comuns.

Mensagem do sistema Poucos exemplos
O Assistant é um chatbot inteligente projetado para ajudar os usuários a responder suas perguntas relacionadas a impostos.
Instruções
- Responda apenas a questões relacionadas com impostos.
- Se não tiver a certeza de uma resposta, pode dizer "Não sei" ou "Não tenho a certeza" e recomendar aos utilizadores que acedam ao site do IRS para obter mais informações.
Usuário - "Quando preciso declarar meus impostos?"
Assistente - "Em 2023, você precisará declarar seus impostos até 18 de abril. A data cai após o prazo habitual de 15 de abril porque 15 de abril cai em um sábado em 2023. Para mais detalhes, consulte https://www.irs.gov/filing/individuals/when-to-file "

Utilizador - "Como posso verificar o estado do meu reembolso de impostos?"
Assistente - "Você pode verificar o status do seu reembolso de imposto visitando https://www.irs.gov/refunds "

A tabela acima descreve a estrutura básica do prompt, mas para obter uma explicação detalhada do formato exato do prompt, você precisará consultar o guia de Conclusão do Chat.

Cenários não relacionados ao chat

Embora a API de conclusão de bate-papo seja otimizada para trabalhar com conversas de vários turnos, ela também pode ser usada para cenários que não sejam de bate-papo. Por exemplo, para um cenário de análise de sentimento, você pode usar o seguinte prompt:

Mensagem do sistema User Assistente
Você é um assistente projetado para analisar o sentimento a partir de dados de fala. Os usuários colarão em uma sequência de texto e você responderá com uma avaliação da resposta do orador. Taxa em uma escala de 1-10 (sendo 10 mais alta). Explique por que essa classificação foi dada. oi obrigado por chamar contoso farmácia que estou falando com hoje eu entendo sua frustração mary um você pode me dizer o que exatamente você está tentando realizar OK uh certamente feliz em verificar que para você um momento, por favor, eu vejo aqui que você estava em uma forma genérica de lipitor é que direito OK uh então eu vejo que seu médico parou de prescrever esses medicamentos em vinte vinte e um realmente OK uh Sim, eu ficaria feliz em verificar isso para você uh porque às vezes há uma lacuna no sistema e isso simplesmente não é relatado, então deixe-me dar uma olhada aqui apenas um momento, então estou vendo aqui que seu médico tinha esses medicamentos prescritos para você de vinte e doze a vinte e vinte e um OK um sim de acordo com os últimos registros uh fornecidos pelo consultório médico você está agora em um medicamento diferente metformina você gosta que nós vamos em frente e preencher essa receita para você para pegar um pouco de forma em quinhentos miligramas uh você é muito bem-vindo maria, por favor, deixe-nos saber se há algo mais que podemos fazer por você hoje. Classificação de sentimento: 8
O orador neste texto parece ser educado, prestativo e paciente ao abordar as preocupações do cliente. Eles dedicam tempo para verificar as informações, fornecer explicações claras e oferecer assistência. No entanto, a classificação não é de 10 porque ainda há um indício de incerteza em algumas partes da conversa, o que pode não transmitir total confiança ao cliente.

Comece com instruções claras

As informações da sequência aparecem no prompt. Isso ocorre porque os modelos de estilo GPT são construídos de uma certa maneira que define como eles processam a entrada. Nossa pesquisa sugere que dizer ao modelo a tarefa que você deseja que ele faça no início do prompt, antes de compartilhar informações contextuais adicionais ou exemplos, pode ajudar a produzir resultados de maior qualidade.

Nota

Embora seguir esta técnica ainda seja geralmente recomendado, em contraste com versões anteriores do modelo (GPT-3 e anteriores), nossos testes mostraram que a resposta do modelo com os modelos ChatGPT e GPT-4 foi a mesma, independentemente de a técnica ser utilizada. No caso do exemplo abaixo, vemos que adicionando a afirmação "Várias fontes ... erupção" no início ou no final do prompt não causou nenhuma alteração na resposta final do modelo.

Mensagem do sistema User Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Sua tarefa é verificar se a afirmação "Várias fontes mencionam uma chance de outra grande erupção" é apoiada por uma citação específica do seguinte conjunto de trechos.
---
SNIPPETS
[1] 14% de chance de megaterremoto atingir Seattle, dizem especialistas
SEATTLE - Há 14% de chance de um terremoto de magnitude 9 em Cascadia atingir Seattle nos próximos 50 anos, estima o Serviço Geológico dos EUA. "Infelizmente, não podemos...

[2] Especialistas em terremotos apresentam as últimas perspetivas para o "Really Big One" de Seattle
"Dizemos que há aproximadamente 14% de chance de outro terremoto de magnitude 9 ocorrer nos próximos 50 anos", disse um geofísico da Universidade de Washington.
---
A afirmação "Várias fontes mencionam uma chance de outra grande erupção" está diretamente implícita ou declarada pelos trechos?
Não, a afirmação não está diretamente implícita ou declarada pelos trechos. Os trechos mencionam a chance de um "megaterremoto" e um "terremoto de magnitude 9 em Cascadia" atingirem Seattle nos próximos 50 anos, mas não mencionam a chance de outra grande erupção.

Repita as instruções no final

Os modelos podem ser suscetíveis ao viés de recenticidade, o que, neste contexto, significa que as informações no final do prompt podem ter uma influência mais significativa sobre a saída do que as informações no início do prompt. Portanto, vale a pena experimentar repetir as instruções no final do prompt e avaliar o impacto na resposta gerada.

Prima a saída

Isso se refere à inclusão de algumas palavras ou frases no final do prompt para obter uma resposta modelo que siga a forma desejada. Por exemplo, usar uma sinalização como “Here’s a bulleted list of key points:\n- ” pode ajudar a garantir que a saída esteja formatada como uma lista de marcadores.

Mensagem do sistema User Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Responda com o menor número de palavras possível. John Smith é casado com Lucy Smith. Eles têm cinco filhos e ele trabalha como engenheiro de software na Microsoft. Que consultas de pesquisa devo fazer para verificar os factos? ## Uma consulta de pesquisa possível é: "John Smith casou-se com Lucy Smith cinco filhos engenheiro de software Microsoft"

No prompt acima, o texto Uma consulta de pesquisa possível é: prepara o modelo para produzir uma única saída. Sem essa indicação, o modelo produz várias consultas de pesquisa como saída.

Adicionar sintaxe clara

O uso de sintaxe clara para seu prompt, incluindo pontuação, cabeçalhos e marcadores de seção, ajuda a comunicar a intenção e, muitas vezes, facilita a análise das saídas.

No exemplo abaixo, foram adicionados separadores (--- neste caso) entre diferentes fontes de informação ou etapas. Isso permite o uso de --- como uma condição de parada para a geração. Além disso, títulos de seção ou variáveis especiais são apresentados em maiúsculas para diferenciá-los.

Mensagem do sistema User Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Você lerá um parágrafo e, em seguida, emitirá consultas a um mecanismo de pesquisa para verificá-lo. Explique também as consultas.
---
PARÁGRAFO
John Smith é casado com Lucy Smith. Eles têm cinco filhos e ele trabalha como engenheiro de software na Microsoft. Que consultas de pesquisa devo fazer para verificar os factos?
---
CONSULTAS
1. "John Smith Microsoft" - Para verificar se John Smith é realmente empregado na Microsoft.
2. "John Smith Lucy Smith" - Para verificar se John Smith é casado com Lucy Smith.
3. "John Smith children" - Para verificar se John Smith tem cinco filhos.

Se você não tiver certeza de qual sintaxe usar, considere usar Markdown ou XML. Os modelos foram treinados em uma grande quantidade de conteúdo da Web em XML e Markdown, o que pode fornecer melhores resultados.

Divida a tarefa

Os modelos de linguagem grande (LLMs) geralmente têm um desempenho melhor se a tarefa for dividida em etapas menores. Por exemplo, no prompt de consulta de pesquisa mencionado anteriormente, o prompt pode ser reestruturado para que o modelo seja primeiro instruído a extrair fatos relevantes e, em seguida, instruído a gerar consultas de pesquisa que podem ser usadas para verificar esses fatos.

Mensagem do sistema User Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Você lerá um parágrafo e, em seguida, emitirá consultas a um mecanismo de pesquisa para verificá-lo.
---
PARÁGRAFO
John Smith é casado com Lucy Smith. Eles têm cinco filhos e ele trabalha como engenheiro de software na Microsoft. Que consultas de pesquisa devo fazer para verificar os factos?
---
Agora você extrairá alegações factuais e emitirá consultas para verificá-las. Ao emitir uma consulta, utilize a função PESQUISAR("consulta")

ALEGAÇÕES FACTUAIS
1. John Smith é casado com Lucy Smith
2. Eles têm cinco filhos
3. Trabalha como engenheiro de software na Microsoft

CONSULTAS
PESQUISA("John Smith casou-se com Lucy Smith")
PESQUISA("Tamanho da família John Smith")
SEARCH("John Smith, engenheiro de software da Microsoft")

Observe o uso de sintaxe clara para diferenciar as seções e preparar a saída. Neste exemplo simples, dividir a tarefa de uma a duas etapas não é muito dramático, mas ao tentar fazer isso para um texto maior com muitas alegações factuais, dividir a tarefa pode fazer uma diferença significativa.

Utilização de recursos financeiros

Às vezes, podemos fazer com que o modelo use um acessório em vez de depender de seus próprios parâmetros para informações e respostas. A pesquisa, por exemplo, pode ser um acessório para ajudar a mitigar respostas fabricadas e obter informações atualizadas.

Uma maneira simples de usar um affordance é parar a geração assim que as chamadas de affordance forem geradas pelo modelo e, em seguida, colar os resultados de volta no prompt. Abaixo está um exemplo do que a chamada de acompanhamento poderia ser depois de fazer as chamadas de PESQUISA acima. Observe como colamos os resultados da pesquisa no prompt e substituímos as chamadas SEARCH anteriores.

Mensagem do sistema User Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Você lerá um parágrafo, extrairá alegações factuais e, em seguida, usará os resultados do mecanismo de pesquisa para verificá-las
---
PARÁGRAFO
John Smith é casado com Lucy Smith. Eles têm cinco filhos e ele trabalha como engenheiro de software na Microsoft. Que consultas de pesquisa devo fazer para verificar os factos?
---
ALEGAÇÕES FACTUAIS
- John Smith é casado com Lucy Smith
- João e Lúcia têm cinco filhos
- John trabalha como engenheiro de software na Microsoft
---
Aqui estão várias consultas de pesquisa emitidas para pesquisar as reivindicações acima:
CONSULTAS DE PESQUISA
- John Smith casado com Lucy Smith
- Número de filhos de John Smith
- John Smith, engenheiro de software, Microsoft
---
Aqui estão trechos dos resultados da pesquisa:
SNIPPETS:
[1] O casamento de John Smith foi em 25 de setembro de 2012 ...
[2] John Smith estava acompanhado de sua esposa Lucy em uma festa
[3] João estava acompanhado do jogo de futebol pelas duas filhas e três filhos
[4] Depois de passar 10 anos na Microsoft, Smith fundou sua própria startup, a Tailspin Toys
[5] John M é o ferreiro da cidade, e ele se casou com Fiona. Eles têm uma filha chamada Lucy
---
Tendo em conta os excertos, verifique cada uma das alegações factuais acima:
- John Smith é casado com Lucy Smith: Confirmado. Trechos [1] e [2] mencionam a esposa de John Smith como Lucy.

- João e Lúcia têm cinco filhos: Confirmado. Snippet [3] menciona que John estava acompanhado de suas duas filhas e três filhos.

- John trabalha como engenheiro de software na Microsoft: Parcialmente confirmado. Snippet [4] menciona que John passou 10 anos na Microsoft, mas não afirma explicitamente que ele trabalha atualmente lá. Mais pesquisas podem ser necessárias para confirmar seu status atual de emprego.

Estímulo da cadeia de pensamento

Esta é uma variação da técnica de decomposição da tarefa . Em vez de dividir uma tarefa em etapas menores, nesta abordagem, a resposta do modelo é instruída a prosseguir passo a passo e apresentar todas as etapas envolvidas. Isso reduz a possibilidade de imprecisão dos resultados e facilita a avaliação da resposta do modelo.

Mensagem do sistema User Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Quem foi o atleta individual mais condecorado (máximo de medalhas) nos Jogos Olímpicos que se realizaram em Sydney? Faça uma abordagem passo a passo em sua resposta, cite fontes e dê raciocínio antes de compartilhar a resposta final no formato abaixo: RESPOSTA é: <name> Passo 1: Determine o ano dos Jogos Olímpicos de Sydney. Os Jogos Olímpicos de Sydney foram realizados no ano 2000.

Passo 2: Encontre uma lista de atletas individuais que ganharam várias medalhas nos Jogos Olímpicos de Sydney 2000.

De acordo com o site oficial dos Jogos Olímpicos, houve vários atletas individuais que ganharam várias medalhas nos Jogos Olímpicos de Sydney 2000. Alguns dos nomes notáveis incluem:
• Ian Thorpe (Austrália) - 3 ouros, 2 pratas, 0 bronzes
• Pieter van den Hoogenband (Holanda) - 2 ouros, 0 pratas, 2 bronzes
• Lenny Krayzelburg (EUA) - 3 ouro, 0 prata, 0 bronze
• Inge de Bruijn (Holanda) - 3 ouros, 1 prata, 0 bronze

Passo 3: Determine o atleta com mais medalhas. Depois de rever a lista de atletas individuais que ganharam várias medalhas nos Jogos Olímpicos de Sydney 2000, podemos ver que o atleta com mais medalhas é Ian Thorpe da Austrália, que ganhou um total de 5 medalhas (3 de ouro e 2 de prata).

Portanto, a RESPOSTA é: Ian Thorpe.

Especificando a estrutura de saída

Usar seu prompt para especificar a estrutura da saída pode ter um efeito significativo sobre a natureza e a qualidade dos resultados. Às vezes, entradas de mensagens do sistema como "apenas escreva fatos verdadeiros" ou "não fabrique informações" podem não ser atenuantes adequadas. Em vez disso, pedir que a resposta do modelo também inclua citações pode ajudar a resultar em uma redução da prevalência de respostas incorretas.

Se você instruir o modelo a citar o material de origem quando ele faz declarações, é muito mais provável que essas declarações sejam fundamentadas. Pedir citações faz com que o modelo cometa dois erros cada vez que gera uma resposta: o primeiro erro é a resposta fabricada, e o segundo é a citação ruim. Observe que quanto mais próxima a citação estiver do texto que ela suporta, menor será a distância à frente que o modelo precisa para antecipar a citação, o que sugere que as citações inline são melhores mitigações para a geração de conteúdo falso do que as citações no final do conteúdo.

Da mesma forma, se você pedir ao modelo para extrair declarações factuais de um parágrafo, ele pode extrair declarações compostas, como "X está fazendo Y E Z" (que pode ser mais difícil de verificar). Isso pode ser evitado especificando uma estrutura de saída como (entity1, relationship, entity2).

Os exemplos abaixo mostram o uso de citações e o direcionamento da resposta do modelo para se ajustar a uma estrutura definida.

Mensagem do sistema User Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações Liste os diferentes comportamentos exibidos pelo agente de Suporte ao Cliente na conversa a seguir.
---
oi obrigado por chamar contoso farmácia que estou falando com hoje eu entendo sua frustração mary um você pode me dizer o que exatamente você está tentando realizar OK uh certamente feliz em verificar que para você um momento, por favor, eu vejo aqui que você estava em uma forma genérica de lipitor é que direito OK uh então eu vejo que seu médico parou de prescrever esses medicamentos em vinte vinte e um realmente OK uh Sim, eu ficaria feliz em verificar isso para você uh porque às vezes há uma lacuna no sistema e isso simplesmente não é relatado, então deixe-me dar uma olhada aqui apenas um momento, então estou vendo aqui que seu médico tinha esses medicamentos prescritos para você de vinte e doze a vinte e vinte e um OK um sim de acordo com os últimos registros uh fornecidos pelo consultório médico você está agora em um medicamento diferente metformina você gosta que nós vamos em frente e preencher essa receita para você para pegar um pouco de forma em quinhentos miligramas uh você é muito bem-vindo maria, por favor, deixe-nos saber se há algo mais que podemos fazer por você hoje.
---
Como foi a resposta do agente de Apoio ao Cliente?
Classifique e liste seus vários comportamentos e cite o motivo por trás da classificação, usando o formato COMPORTAMENTO("razão")
1. Comportamento de saudação educado ("O agente inicia a conversa com uma saudação educada e pede o nome do chamador")
2. COMPORTAMENTO EMPÁTICO ("O agente reconhece a frustração de Maria e tenta compreender a sua preocupação")
3. COMPORTAMENTO atento ("O agente ouve o problema do cliente e pede mais detalhes")
4. COMPORTAMENTO PROATIVO ("O agente se oferece para verificar o problema para o cliente")
5. COMPORTAMENTO INFORMATIVO("O agente fornece as informações relevantes sobre o histórico de prescrição do cliente")
6. COMPORTAMENTO COMPLETO ("O agente verifica possíveis falhas no sistema e fornece uma resposta completa")
7. COMPORTAMENTO CONFIRMATÓRIO ("Agente confirma a medicação atual com o cliente")
8. COMPORTAMENTO orientado para a solução ("O agente oferece-se para preencher a nova prescrição para o cliente")
9. COMPORTAMENTO CORTÊS("O agente agradece ao cliente e oferece assistência adicional, se necessário")
Mensagem do sistema User Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Agrupe as seguintes manchetes de notícias em categorias de tópicos com base nos padrões vistos no texto. Mencione também o raciocínio por trás de como essas categorias foram definidas.
Output format (Formato de saída):
{
"TOPIC_NAME": "",
"TÍTULOS": [],
"RACIOCÍNIO": ""
}

Manchetes de notícias de entrada:
1. "De livros a apresentações em anos 10 com RA + ML"
2. "Demo de 1993 de Yann LeCun, de 32 anos, mostrando a primeira Rede Convolucional de Reconhecimento de Texto do Mundo"
3. "Modelo de movimento de primeira ordem aplicado a pinturas animadas"
4. "Robinhood e outros corretores literalmente bloqueando a compra de $GME, $NOK, $BB $AMC; permitir vendas"
5. "Ações da United Airlines caem mais de 5% nas negociações pré-mercado"
Resultado:

{
"ARTIFICIAL_INTELLIGENCE": {
"MANCHETES": [
"De livros a apresentações em anos 10 com RA + ML",
"Demo de 1993 de Yann LeCun, de 32 anos, mostrando a primeira Rede Convolucional de Reconhecimento de Texto do Mundo",
"Modelo de movimento de primeira ordem aplicado a pinturas animadas"
],
"RACIOCÍNIO": "Estas manchetes estão relacionadas com inteligência artificial, aprendizagem automática e suas aplicações em vários campos."
},
"FINANCIAL_MARKETS": {
"MANCHETES": [
"Robinhood e outros corretores literalmente bloqueando a compra de $GME, $NOK, $BB $AMC; permitir vender",
"Ações da United Airlines caem mais de 5% nas negociações de pré-mercado",
"Bitcoin era quase US$ 20.000 há um ano hoje"
],
"RACIOCÍNIO": "Essas manchetes estão relacionadas aos mercados financeiros, ações, criptomoedas e plataformas de negociação."
}
}

Parâmetros de temperatura e Top_p

Alterar o parâmetro de temperatura altera a saída do modelo. O parâmetro de temperatura pode ser definido entre 0 e 2. Um valor mais alto, por exemplo 0,7 torna a saída mais aleatória e produz respostas mais divergentes, enquanto um valor menor, como. 0.2, torna a produção mais focada e concreta. Uma história fictícia poderia ser gerada usando uma temperatura mais alta. Já para gerar um documento legal recomenda-se usar uma temperatura muito mais baixa. Top_probability é outro parâmetro e é semelhante à Temperatura na medida em que também controla a aleatoriedade da resposta do modelo, mas fá-lo de uma forma diferente. A recomendação geral é alterar um destes dois parâmetros de cada vez, e não ambos.

Fornecer contexto de aterramento

Uma das maneiras mais eficazes de fornecer respostas confiáveis é fornecer os dados do modelo para extrair suas respostas (dados de base). Se o seu caso de uso depende de informações atualizadas e confiáveis e não é puramente um cenário criativo, recomendamos fornecer dados de base. Em geral, quanto mais próximo você conseguir chegar do material de origem da forma final da resposta desejada, menos trabalho o modelo precisa fazer, o que significa que há menos oportunidade de erro. Aqui está um exemplo em que o sistema é fornecido um blog recente descrevendo o lançamento do GPT-4 no Serviço OpenAI do Azure e solicitado a nomear alguns de seus primeiros clientes.

Mensagem do sistema User Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Você fornecerá respostas exclusivamente a partir do texto abaixo e responderá em 100 palavras ou menos:
"Na Microsoft, estamos constantemente descobrindo novas maneiras de liberar a criatividade, desbloquear a produtividade e aprimorar as habilidades para que mais pessoas possam se beneficiar do uso da IA. Isto está a permitir que os nossos clientes ...

... reduzindo assim a probabilidade de o modelo gerar uma resposta prejudicial."1

Responda em 100 palavras ou menos. Use listas de marcadores sempre que possível.
Quem são alguns dos primeiros clientes dos modelos GPT-4 do Serviço OpenAI do Azure? Aqui estão alguns dos primeiros clientes dos modelos GPT-4 do Serviço OpenAI do Azure:
- Epic Healthcare: Eles planejam usar o GPT-4 para ajudar médicos e enfermeiros a gastar menos tempo na entrada de dados e investigação.
- Coursera: Eles estão usando o Serviço OpenAI do Azure com GPT-4 para criar uma nova experiência de aprendizagem baseada em IA em sua plataforma.
- Coca-Cola: Eles estão usando o Azure OpenAI para construir um hub de conhecimento e planejar aproveitar os recursos multimodais do GPT-4 para marketing, publicidade, relações públicas e relações com clientes.
- Outras empresas de todos os tamanhos estão usando a IA do Azure para melhorar as experiências dos clientes, resumir conteúdo de formato longo, ajudar a escrever software e reduzir o risco prevendo os dados fiscais corretos.

1 Texto do blog de lançamento do Azure OpenAI GPT-4.

Próximos passos

Nota

Todos os exemplos nesta secção do guia foram testados com o gpt-35-turbo-instruct modelo em inglês. Se você estiver lendo uma versão localizada deste artigo em outro idioma, essas respostas representam uma tradução localizada dos resultados em inglês. Para saber mais sobre possíveis limitações, dependendo do idioma que você está usando para solicitar um modelo, consulte nossa nota de transparência de IA responsável.

Comece com instruções claras

As informações de sequência são adicionadas aos assuntos de prompt. Nossa pesquisa sugere que dizer ao modelo a tarefa que você deseja que ele faça no início do prompt, antes de compartilhar informações contextuais adicionais ou exemplos, pode ajudar a produzir resultados de maior qualidade.

No primeiro exemplo abaixo, uma parte fundamental das instruções é compartilhada apenas no final, e a conclusão resultante está incorreta.

Prompt Conclusão
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.

Neste próximo exemplo, damos a declaração exata que queremos verificar ("Várias fontes mencionam uma chance de outra erupção") antes de darmos o contexto do trecho. Isso permite que as representações de token extraídas dos trechos sejam adaptadas à instrução que estamos verificando. Agora, a resposta do modelo resultante é precisa:

Prompt Conclusão
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.

Repita as instruções no final

Os modelos podem ser suscetíveis ao viés de recenticidade, o que significa que as informações no final do prompt podem ter uma influência mais significativa sobre a saída do que as informações no início do prompt. Portanto, vale a pena experimentar repetir as instruções no final do prompt e avaliar o impacto para o seu caso de uso.

Vimos no exemplo anterior como repetir a instrução no início e no final do prompt leva a uma maior probabilidade de obter uma resposta precisa do modelo.

Prima a saída

Isso se refere à inclusão de algumas palavras ou frases no final do prompt para obter uma resposta modelo que siga a forma desejada. Por exemplo, usar uma sinalização como “Here’s a bulleted list of key points:\n- ” pode ajudar a garantir que a saída esteja formatada como uma lista de marcadores.

Prompt Conclusão
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".

No prompt acima, o texto "Uma consulta de pesquisa possível é:" prepara o modelo para produzir uma saída na forma de uma consulta de pesquisa. Essa técnica pode ajudar a remover sebes que o modelo normalmente pode adicionar, como "Uma possibilidade é...".

Adicionar sintaxe clara

O uso de sintaxe clara para seu prompt, incluindo pontuação, cabeçalhos e marcadores de seção, ajuda a comunicar a intenção e, muitas vezes, facilita a análise das saídas.

No exemplo abaixo, foram adicionados separadores (--- neste caso) entre diferentes fontes de informação ou etapas. Isso permite o uso de --- como uma condição de parada para a geração. Além disso, títulos de seção ou variáveis especiais são apresentados em maiúsculas para diferenciá-los.

Prompt Conclusão
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.

Se você não tiver certeza de qual sintaxe usar, considere usar markdown ou XML, já que modelos de linguagem grandes foram treinados em muito conteúdo da Web em XML ou markdown.

Divida a tarefa

Os modelos geralmente têm um desempenho melhor se a tarefa for dividida em etapas menores. Por exemplo, no prompt de consulta de pesquisa mencionado anteriormente, o prompt pode ser reestruturado para que o modelo seja primeiro instruído a extrair fatos relevantes e, em seguida, instruído a gerar consultas de pesquisa que podem ser usadas para verificar esses fatos.

Prompt Conclusão
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 é casado com Lucy Smith <br>2. Eles têm cinco filhos<br>3. John trabalha como engenheiro de software na Microsoft

CONSULTAS
SEARCH("John Smith casou-se com Lucy Smith")SEARCH("John Smith family size")SEARCH("John Smith Microsoft software engineer")<br><br>'

Observe o uso de sintaxe clara para diferenciar as seções e preparar a saída. Neste exemplo simples, dividir a tarefa de uma a duas etapas não é muito dramático, mas ao tentar fazer isso para um texto maior com muitas alegações factuais, dividir a tarefa pode fazer uma diferença significativa.

Utilização de recursos financeiros

Às vezes, podemos fazer com que o modelo use um acessório em vez de depender de seus próprios parâmetros para informações e respostas. A pesquisa, por exemplo, pode ser um acessório para ajudar a mitigar respostas fabricadas e obter informações atualizadas.

Uma maneira simples de usar um affordance é parar a geração assim que as chamadas de affordance forem geradas pelo modelo e, em seguida, colar os resultados de volta no prompt. Abaixo está um exemplo do que a chamada de acompanhamento poderia ser depois de fazer as chamadas de PESQUISA acima. Observe como colamos os resultados da pesquisa no prompt e substituímos as chamadas SEARCH anteriores.

Prompt Conclusão
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.

Estímulo da cadeia de pensamento

Esta é uma variação da técnica de decomposição da tarefa . Em vez de dividir uma tarefa em etapas menores, nesta abordagem, a resposta do modelo é instruída a prosseguir passo a passo e apresentar todas as etapas envolvidas. Isso reduz a possibilidade de imprecisão dos resultados e facilita a avaliação da resposta do modelo.

Prompt Conclusão
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

Meta prompts

Se você achar que a resposta do modelo não é como desejado, muitas vezes pode ser útil adicionar um prompt meta que corrige diretamente o comportamento. Esta é uma diretiva precedida da parte de instrução do prompt. Considere este exemplo, onde o computador parece ser excessivamente agressivo:

Detalhes de exemplo Pronto e Conclusão
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.

Embora os meta prompts muitas vezes possam ajudar a minimizar saídas ruins não intencionais, lembre-se de que eles não são robustos contra ataques adversários, pois são vulneráveis à injeção imediata.

Além disso, declarações condicionais explicando o que o modelo deve fazer se encontrar uma circunstância particular são muitas vezes mais eficazes do que simplesmente dizer ao modelo para não fazer algo.

Aprendizagem a poucos tiros

Uma maneira muito comum de adaptar os modelos linguísticos a novas tarefas é usar a aprendizagem de poucos tiros. Na aprendizagem de poucas imagens, um conjunto de exemplos de treinamento é fornecido no prompt e, em seguida, o modelo é solicitado a completar um ou mais exemplos inacabados. No exemplo a seguir, usamos uma instrução combinada com o aprendizado de poucos tiros para fazer trocadilhos:

Prompt Conclusão
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.

Escolha cuidadosamente seus exemplos de poucas imagens e certifique-se de que eles cobrem uma variedade de circunstâncias relevantes para o seu cenário, incluindo casos de borda.

Além disso, como compartilhado anteriormente, os grandes modelos de linguagem podem exibir uma forma de viés de recenticidade. Isso significa que a ordem em que os exemplos de "poucos tiros" são fornecidos ao modelo é importante. Se você não quiser que isso seja importante, considere a amostragem de várias finalizações de prompts com base em ordenações aleatórias dos exemplos ou itens de lista.

Use aspas para gerar uma única frase

Se a resposta do modelo desejado for apenas uma única frase ou cadeia de caracteres, podemos terminar a orientação de conclusão com um símbolo "de aspas e definir " como uma sequência de parada.

Prompt Conclusão
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

Especificando a estrutura de saída

Usar o prompt para especificar a estrutura da saída pode ter um impacto significativo na natureza e na qualidade dos resultados. Às vezes, metaprompts como "apenas escreva fatos verdadeiros" ou "não fabrique informações" podem não ser atenuantes adequadas. Em vez disso, pedir que a resposta do modelo também inclua citações pode ajudar a resultar em uma redução da prevalência de respostas incorretas.

Por exemplo, se você forçar o LLM a citar o material de origem quando ele faz declarações, é muito mais provável que essas declarações sejam fundamentadas. Pedir citações faz com que o modelo cometa dois erros cada vez que fabrica uma resposta: o primeiro erro é a resposta fabricada, e o segundo é a citação ruim. Observe que quanto mais próxima a citação estiver do texto que ela suporta, menor será a distância à frente que o LLM precisa para antecipar a citação, o que sugere que as citações inline são melhores mitigações para a geração de conteúdo falso do que as citações no final do conteúdo.

Da mesma forma, se você pedir ao modelo para extrair declarações factuais de um parágrafo, ele pode extrair instruções compostas, como 'X está fazendo Y E Z' (que pode ser mais difícil de verificar), o que pode ser evitado especificando uma estrutura de saída como (entity1, relationship, entity2).

Detalhes de exemplo Prompt Conclusão
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")
Detalhes de exemplo Prompt Conclusão
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." }

Ajustando os parâmetros de temperatura e Top_P

A alteração do parâmetro de temperatura permite que os modelos tenham diferentes níveis de risco. Um valor mais alto, por exemplo, 0,7 tornará a saída mais aleatória e produzirá respostas mais divergentes. Enquanto um valor mais baixo, como 0,2 tornará a saída mais focada e concreta. Por exemplo, uma história fictícia poderia ser gerada usando uma temperatura mais alta. Já para gerar um documento legal recomenda-se usar uma temperatura muito mais baixa.

No exemplo seguinte, testamos duas respostas de modelo em configurações de temperatura diferentes de 0,1 e 0,9, respectivamente. Embora a avaliação de conteúdo criativo, como as partes do texto abaixo, seja um exercício subjetivo e as opiniões possam variar, a diferença na resposta do modelo ao mesmo prompt apenas pela alteração do parâmetro de temperatura é aparente.

Tipo de Instrução Prompt Conclusão
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 é outro parâmetro e é semelhante à temperatura, na medida em que também controla a aleatoriedade da resposta do modelo, mas fá-lo de uma forma diferente. Experimente diferentes respostas do modelo variando a temperatura e a Top_P, mas não ambas ao mesmo tempo.

Próximos passos