Técnicas de engenharia de prompt (clássico)

Exibição no momento:Versão do portal Foundry (clássico) - Alternar para a versão do novo portal Foundry

Nota

Links neste artigo podem abrir conteúdo na nova documentação do Microsoft Foundry em vez da documentação da Foundry (clássica) que você está exibindo agora.

Essas técnicas não são recomendadas para modelos de raciocínio, como modelos gpt-5 e série o.

A construção de prompt pode ser difícil. Na prática, o prompt atua para ajudar o modelo a concluir a tarefa desejada, mas é mais uma arte do que uma ciência, muitas vezes exigindo experiência e intuição para criar um prompt bem-sucedido. O objetivo deste artigo é ajudar você a começar esse processo de aprendizagem. Este artigo tenta capturar conceitos e padrões gerais que se aplicam a todos os modelos de GPT. No entanto, é importante entender que cada modelo se comporta de forma diferente, portanto, os aprendizados podem não se aplicar igualmente a todos os modelos.

Nota

Para obter as diretrizes e exemplos atuais da API, consulte Responses API e Azure OpenAI na referência da API Microsoft Foundry Models.

Básico

Essa seção aborda os conceitos e os elementos básicos dos prompts GPT.

Os prompts de texto são como os usuários interagem com modelos de GPT. Assim como acontece com todos os modelos de linguagem generativos, os modelos GPT tentam produzir a próxima série de palavras mais propensas a seguir a partir do texto anterior. É como se estivessemos dizendo qual é a primeira coisa que vem à sua mente quando eu digo <prompt>? Os exemplos abaixo demonstram esse comportamento. Dadas as primeiras palavras de conteúdo famoso, o modelo é capaz de continuar o texto com precisão.

Prompt Conclusão
Há 87 anos, nossos nossos ancestrais estabeleceram neste continente uma nova nação, concebida sob os ideais de liberdade, e dedicada ao princípio de que todos os homens são criados iguais. […]
"Chame-me Ismael." "Alguns anos atrás — não importa há quanto tempo precisamente — tendo pouco ou nenhum dinheiro no meu bolso, e nada em particular para me interessar em terra firme, pensei em navegar um pouco e ver a parte aquática do mundo."

À medida que você desenvolve prompts mais complexos, é útil ter esse comportamento fundamental em mente. Independentemente do prompt fornecido, o modelo está simplesmente respondendo com o que ele determina ser mais provável (dado seus dados de treinamento e objetivos de treinamento). Se você fizer uma pergunta em seu prompt, o modelo não está seguindo um caminho de código "Q&A" separado, mas parece responder à pergunta porque uma resposta é o tipo mais provável de resposta para a pergunta fornecida como entrada.

Componentes de solicitação

Ao usar a API de Conclusão, mesmo não havendo diferenciação entre diferentes partes do prompt, ainda pode ser útil identificar componentes subjacentes do prompt para aprendizado e discussão. Com a API de Conclusão de Chat , há seções distintas do prompt que são enviadas para a API na forma de uma matriz de dicionários com funções associadas: sistema, usuário e assistente. Essa orientação se concentra de forma mais geral em como pensar sobre a construção de prompts em vez de fornecer diretrizes prescritivas específicas a uma API em vez de outra.

Também é importante entender que, embora possa haver outras maneiras válidas de analisar os prompts, o objetivo desse detalhamento é oferecer uma forma relativamente simples de pensar sobre a criação de prompts. Com a API de Conclusão, todos os componentes são opcionais, mas pelo menos um deve estar presente e a maioria dos prompts inclui mais de um componente. Também pode haver alguma área cinzenta entre os componentes. A ordem apresentada abaixo corresponde aproximadamente à frequência com que cada componente é usado, da maioria para o mínimo.

Instruções

As instruções provavelmente são o componente de prompt mais usado. Instruções são simplesmente isso: instruções para o modelo sobre o que fazer. Embora simples no conceito, eles podem ser complexos na prática. A tabela a seguir ilustra isso mostrando instruções simples e mais complexas, em duas formas diferentes.

Tipo de instrução Prompt Conclusão
Instruções simples Escreva uma introdução para um boletim informativo semanal. Bem-vindo ao nosso boletim semanal. Esta semana temos um foco especial na produtividade. Compartilharemos dicas e truques sobre como ser produtivo em todas as áreas da sua vida. Esperamos que você aproveite e compartilhe com seus amigos!
Instruções complexas Escreva uma introdução para um boletim informativo semanal para minha empresa chamado Contoso. Deve mencionar a reunião ótima que tivemos com todos na semana passada e agradecer à equipe por todo o seu trabalho árduo nos últimos meses que foram difíceis. Bem-vindo ao boletim semanal da Contoso! Tivemos uma grande reunião geral na semana passada e quero agradecer à equipe por todo o trabalho duro nos últimos meses difíceis. Estamos ansiosos por um futuro brilhante e estou confiante de que, com a dedicação e o compromisso da nossa equipe, alcançaremos grandes coisas. Obrigado por fazer parte da nossa equipe e estou ansioso para trabalhar com todos vocês nas próximas semanas e meses. Sinceramente, [Seu nome].
Instruções complexas Escreva uma introdução para um boletim informativo semanal, incluindo o seguinte:
- Minha empresa se chama contoso
- Uma saudação exuberante
- Agradecendo à equipe pelo trabalho duro durante alguns meses difíceis
- Perspectiva positiva para o próximo trimestre
- Assinado pelo SLT
Olá, equipe contoso! Eu queria ter um momento para agradecer por todo o seu trabalho duro nos últimos meses. Foram meses difíceis, mas todos vocês se uniram e fizeram um trabalho incrível. Estou muito orgulhoso de todos vocês. Olhando para o próximo trimestre, estou me sentindo muito positivo. Acho que vamos conseguir grandes coisas. Obrigado novamente, a equipe de liderança sênior.

Conteúdo Primário

O conteúdo primário refere-se a algum tipo de texto que está sendo processado ou transformado pelo modelo. Normalmente, o conteúdo primário é usado em conjunto com instruções. Um exemplo simples seria a tradução de idioma. No exemplo a seguir, o texto em inglês seria considerado o conteúdo primário enquanto "Traduzir para francês:" é uma instrução.

Prompt Conclusão
Pode me dizer como chegar ao museu?
Traduzir para francês:
Pouvez-vous s'il vous plaît me dire comment aller au musée?

O conteúdo primário também pode ser muito mais longo. No exemplo a seguir, o conteúdo primário é a seção de introdução da entrada da Wikipédia sobre complexidade temporal, que tem quase 300 palavras. Esse conteúdo é abreviado em nossa tabela para facilitar a exibição.

Prompt Conclusão
Na ciência da computação, a complexidade do tempo é a complexidade computacional que descreve a quantidade de tempo do computador necessário para executar um algoritmo. A complexidade do tempo é normalmente estimada por [...]
Resumir o texto anterior em algumas frases:
A complexidade do tempo é uma medida de quanto tempo um algoritmo leva para ser executado. Normalmente, ele é expresso como uma função do tamanho da entrada. A medida mais comum é a complexidade de tempo na pior das hipóteses, que é a quantidade máxima de tempo necessária para entradas de um determinado tamanho.
Na ciência da computação, a complexidade do tempo é a complexidade computacional que descreve a quantidade de tempo do computador necessário para executar um algoritmo. A complexidade do tempo é normalmente estimada por [...]
TL;DR (Muito longo, não li)
A complexidade de tempo de um algoritmo é a quantidade de tempo necessária para executar um algoritmo. A complexidade do tempo geralmente é estimada pela contagem do número de operações elementares executadas pelo algoritmo, supondo que cada operação elementar leve um tempo fixo para ser executada. A complexidade de tempo geralmente é expressa como uma função do tamanho da entrada.

Os modelos de GPT também podem lidar com o conteúdo primário estruturado. No exemplo a seguir, um TSV sobre cervejas na Bélgica (abreviado para exibição neste artigo) é inserido no modelo como parte do comando. Ele é capaz de interpretar corretamente o conteúdo e responder perguntas sobre os dados.

Prompt Conclusão
Belgian Beer Brands
Beer name Beer style color ABV Brewery
"Chimay Gold: ""Doree""" trappist pale ale gold 4.80% Chimay Brewery (official trappist)
"Chimay Blue: ""Grande Reserve""" trappist dark ale dark 9.00%
[…]
Fazendo referência à tabela acima, quantas cervejas são menores que 6% ABV?
Há 10 cervejas na mesa que são menores que 6% ABV.

Exemplos

Os prompts bem-sucedidos geralmente dependem da prática de aprendizado de "única tentativa" ou "poucas tentativas". Isso se refere à inclusão de um ou mais exemplos do comportamento desejado do modelo, normalmente incluindo pares de entrada e saída. Isso não é aprendizado no sentido de que o modelo seja permanentemente alterado, mas sim que os exemplos ajudam a condicionar melhor o modelo a responder como desejado apenas para a inferência atual. Às vezes, o uso de prompts sem exemplos é chamado de aprendizado "sem tentativa". Observe que, com a API de Preenchimento de Chat, alguns exemplos de aprendizado são normalmente adicionados à matriz de mensagens na forma de interações de usuário/assistente de exemplo após a mensagem inicial do sistema.

Tipo de aprendizado Prompt Conclusão
Zero-shot Título: o técnico está confiante de que lesão não vai atrapalhar o Warriors
Tópico:
O treinador está confiante de que a lesão não vai descarrilar a temporada dos Warriors. A equipe ainda está focada em seus objetivos e que continuará trabalhando duro para alcançá-los.
Few-shot Título: Correa, do Twins, usará a cláusula de autoexclusão e testará agência independente
Tópico: Beisebol
Manchete: Copa do Mundo do Catar terá zonas para recuperar a sobriedade
Tópico: Futebol
Título: Yates: informação para a 6ª semana de Fantasy Football
Tópico: Futebol
Título: o técnico está confiante de que lesão não vai atrapalhar o Warriors
Tópico:
Basquete

O exemplo acima ilustra a utilidade do aprendizado com poucas capturas. Sem os exemplos, o modelo parece estar adivinhando o comportamento desejado, enquanto os exemplos mostram de forma limpa o modelo como operar. Isso também demonstra o poder do modelo, ele pode inferir a categoria de rótulo que é desejada, mesmo sem um rótulo de "basquete" nos exemplos.

Indicador

As indicações atuam como o "pontapé inicial" para a saída do modelo, ajudando a direcionar o modelo para a saída desejada. Geralmente, é um prefixo sobre o qual o modelo pode ser desenvolvido. No exemplo abaixo, mostramos a indicação direcionando a história para incluir elementos-chave. As indicações são frequentemente usadas junto com instruções, mas nem sempre. Nos exemplos abaixo, o modelo está sendo usado para resumir um email de anúncio longo. Um sinal é usado em um caso para ajudar a concentrar a saída do modelo e, em outro caso, sugerir um formato de saída específico (pontos de marcador).

No contexto das instruções da API de Preenchimento de Chat, siga a forma da mensagem do sistema e os exemplos de poucas tentativas são indicados fornecendo uma série de interações de usuário/assistente de exemplo para ajudar na preparação do modelo.

Quantidade de Sugestões Prompt Conclusão
0 As revisões de desempenho são um componente fundamental da nossa abordagem de desempenho e desenvolvimento na Contoso. […]
Resumir a mensagem de email acima:
A finalidade deste email é informar os funcionários sobre as alterações recentes na experiência de revisão de desempenho, que faz parte da abordagem de Desempenho &desenvolvimento da Contoso. As alterações incluem uma estrutura aprimorada, experiência do usuário atualizada na ferramenta e prompts focados. Além disso, agora há uma seção opcional de Inícios de Conversa para os funcionários sinalizarem tópicos que gostariam de discutir com seus gerentes.
1 As revisões de desempenho são um componente fundamental da nossa abordagem de desempenho e desenvolvimento na Contoso. […]
Resumir a mensagem de email acima:
O ponto principal da mensagem é
que a Contoso está melhorando a experiência de revisão de desempenho, tornando-a mais focada em prioridades, expectativas e impacto principais. Além disso, eles estão atualizando a experiência do usuário na ferramenta com dicas, recursos e diretrizes. Por fim, eles estão adicionando diretrizes sobre como ativar as principais prioridades da empresa.
2 As revisões de desempenho são um componente fundamental da nossa abordagem de desempenho e desenvolvimento na Contoso. […]
Resumir a mensagem de email acima:
Pontos-chave:
A Contoso está introduzindo alterações na experiência de revisão de desempenho, com base nos comentários dos funcionários.
• As alterações incluem um novo foco nas principais prioridades, expectativas e impacto; uma experiência de usuário atualizada; e novas diretrizes sobre as principais prioridades da empresa.
• As revisões de desempenho são um momento para refletir sobre o desempenho e o aprendizado passados, bem como planejar prioridades futuras e oportunidades de crescimento.
• Funcionários e gerentes devem escrever comentários antes da reunião de revisão de desempenho.
• Deve haver pelo menos duas revisões de desempenho por ano.
• O tempo de investimento para cada revisão deve permanecer quase o mesmo.

Conteúdo de Apoio

O conteúdo de apoio é uma informação que o modelo pode utilizar para influenciar o resultado de alguma forma. Ele difere do conteúdo primário, pois não é o principal destino da tarefa, mas normalmente é usado junto com o conteúdo primário. Exemplos comuns incluem informações contextuais, como a data atual, o nome do usuário, as preferências do usuário e assim por diante. O exemplo a seguir usa o conteúdo de suporte para ajudar a organizar um conjunto de workshops planejados para o usuário. Sem o apoio (tópicos importantes), o modelo simplesmente lista os workshops (truncados para exibição). Quando informado dos meus tópicos importantes, o modelo é capaz de agrupar as reuniões com precisão.

Conteúdo de Apoio Prompt Conclusão
Sem Lista de workshops:
Descrição do título
Venha se juntar a nós para o início do nosso Workshop de Planejamento! Ouça nossos líderes sobre prioridades entre grupos e aprendizados para o próximo ano. O convite para esse evento já foi enviado a todos em [...]
Resumir os workshops acima, agrupados por tópico:
Lista de workshops:
Início do Workshop de Planejamento
-Encerramento do Workshop de Planejamento
- Encontro Principal
– Perspectivas orientadas pelo cliente
-Áreas de impacto e foco chave
-Práticas recomendadas
-Acelerando a adoção do aplicativo [...]
Com Lista de workshops:
Descrição do título
Venha se juntar a nós para o início do nosso Workshop de Planejamento! Ouça nossos líderes sobre prioridades entre grupos e aprendizados para o próximo ano. O convite para esse evento já foi enviado a todos em [...]
Meus tópicos importantes: engenharia de prompt, pesquisa e modelos GPT
Resumir os workshops acima, agrupados por meus tópicos importantes:
1. Engenharia de Prompt:
- Novas técnicas de engenharia de prompt
- A arte da engenharia de prompt
2. Pesquisar:
-Introdução à pesquisa de vetores com embeddings
3. Modelos GPT:
– Introdução ao GPT-4
- GPT-35-Turbo em profundidade.

Orientação específica para o cenário

As técnicas nesta seção ensinarão estratégias para aumentar a precisão e a fundamentação das respostas geradas com um LLM (Modelo de Linguagem Grande). No entanto, é importante lembrar que, mesmo ao usar a engenharia de prompt efetivamente, você ainda precisa validar as respostas geradas pelos modelos. Só porque um prompt cuidadosamente elaborado 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 das 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 mensagem para Conclusões de Chat. Se você não estiver familiarizado com a interação com modelos de Conclusões de Chat programaticamente, recomendamos ler nosso guia de instruções sobre a API de Conclusão de Chat primeiro.

Nota

Todos os exemplos nesta seção do guia foram testados em um modelo base de GPT-4 em inglês. Algumas técnicas podem produzir resultados diferentes com modelos mais recentes, como gpt-4.1, e gpt-4.5. Se você estiver lendo uma versão localizada deste artigo em outro idioma, essas respostas representarão uma tradução localizada dos resultados em inglês. Para saber mais sobre possíveis limitações, dependendo da linguagem que você está usando para solicitar um modelo, consulte nossa nota de transparência de IA responsável.

Aprendizado com poucas tentativas

Uma maneira comum de adaptar modelos de linguagem a novas tarefas é usar o aprendizado com poucas chances. No few-shot learning, um conjunto de exemplos de treinamento é fornecido como parte do prompt para dar contexto adicional ao modelo.

Ao usar a API de Conclusões 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 few-shot learning. Esses exemplos podem ser usados para preparar o modelo para responder de uma determinada maneira, emular comportamentos específicos e inicializar respostas para perguntas comuns.

Mensagem do sistema Exemplos de few-shot
O Assistente é um chatbot inteligente projetado para ajudar os usuários a responder suas perguntas relacionadas a impostos.
Instruções
– Responda apenas a perguntas relacionadas a impostos.
- Se você não tiver certeza de uma resposta, poderá dizer "não sei" ou "não tenho certeza" e recomendar que os usuários acessem o site da Receita Federal para obter mais informações.
Usuário - "Quando preciso declarar meu imposto de renda?"
Assistente - "Em 2023, você precisará declarar seus impostos até o dia 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 obter mais informações, consulte https://www.irs.gov/filing/individuals/when-to-file "

Usuário - "Como posso verificar o status da minha restituição de imposto de renda?"
Assistente - "Você pode verificar o status da sua devolução de impostos 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 que não são de chat

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

Mensagem do sistema Usuário Assistente
Você é um assistente projetado para analisar o sentimento dos dados de fala. Os usuários colarão em uma cadeia de caracteres de texto e você responderá com uma avaliação da resposta do orador. Taxa em uma escala de 1 a 10 (10 sendo a mais alta). Explique por que essa classificação foi dada. olá obrigado por ligar para a farmácia contoso com quem eu estou falando hoje entendo sua frustração maria você pode me dizer o que exatamente está tentando fazer OK com certeza fico feliz em verificar isso para você aguarde um momento vejo aqui que você estava tomando uma forma genérica de lipitor é isso mesmo OK vejo que seu médico parou de prescrever esses medicamentos em 2021 na verdade OK sim ficarei feliz em verificar isso para você porque às vezes há uma lacuna no sistema e simplesmente isso não é reportado então deixe-me dar uma olhada aqui só um momento então estou vendo aqui que seu médico prescreveu esses medicamentos para você de 2012 a 2021 OK sim de acordo com os registros mais recentes fornecidos pelo consultório médico agora você está tomando um medicamento diferente metformina gostaria que prescrevêssemos a receita para você e você possa retirar o metformina 500mg de nada maria nos avise se há mais alguma coisa que possamos fazer por você hoje. Classificação de sentimento: 8
O orador neste texto parece ser educado, útil e paciente ao abordar as preocupações do cliente. Eles aproveitam o tempo para verificar as informações, fornecer explicações claras e oferecer assistência. No entanto, a classificação não é 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 são exibidas no prompt. Isso ocorre porque os modelos de estilo GPT são criados de uma certa maneira que define como 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 ou exemplos adicionais, pode ajudar a produzir saídas de maior qualidade.

Nota

Embora seguir essa técnica ainda seja geralmente recomendado, ao contrário das versões anteriores do modelo (GPT-3 e anteriores), nossos testes mostraram que a resposta do modelo com os modelos ChatGPT e GPT-4 era a mesma, independentemente de a técnica ser utilizada. Neste exemplo, vemos que adicionar a declaração "Várias fontes… erupção" no início ou no final do prompt não causou nenhuma alteração na resposta do modelo final.

Mensagem do sistema Usuário Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Sua tarefa é verificar se a instrução "Várias fontes mencionam uma chance de outra grande erupção" é suportada por uma citação específica do seguinte conjunto de snippets.
---
TRECHOS
[1] 14% de chance de um 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 projeções mais recentes para o 'Grande Terremoto' de Seattle.
"Dizemos que há aproximadamente 14% chance de outro terremoto de aproximadamente magnitude 9 ocorrer nos próximos 50 anos", disse um geofísico da Universidade de Washington...
---
A instrução "Várias fontes mencionam a possibilidade de outra grande erupção" está diretamente implícita ou declarada pelos snippets?
Não, a afirmação não está diretamente implícita ou declarada pelos fragmentos. Os snippets mencionam a chance de um "megaterremoto" e um "terremoto de magnitude 9 tipo Cascadia" atingir Seattle nos próximos 50 anos, mas não mencionam uma chance de haver outra grande erupção vulcânica.

Repita as instruções no final

Os modelos podem ser suscetíveis ao desvio de relevância, o que nesse contexto significa que as informações no final do prompt podem ter 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.

Prime a saída

Isso se refere à inclusão de algumas palavras ou frases no final do prompt para obter uma resposta de modelo que siga o formulário desejado. Por exemplo, usar uma indicação como “Here’s a bulleted list of key points:\n- ” pode ajudar a garantir que a saída seja formatada como uma lista de tópicos.

Mensagem do sistema Usuário Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Responda com o mínimo de palavras possível. John Smith é casado com Lucy Smith. Eles têm cinco filhos, e ele trabalha como engenheiro de software no Microsoft. Quais consultas de pesquisa devo fazer para verificar isso? ## Uma consulta de pesquisa possível é: John Smith é casado com Lucy Smith, tem cinco filhos, e é engenheiro de software na Microsoft.

No prompt acima, o texto Uma consulta de pesquisa possível é: aprimora 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

Use uma sintaxe clara para o comando a fim de comunicar a intenção e tornar mais fácil a interpretação dos resultados.

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

Mensagem do sistema Usuário Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Você lerá um parágrafo e emitirá consultas a um mecanismo de pesquisa para verificar os fatos. Além disso, explique as consultas.
---
PARÁGRAFO
John Smith é casado com Lucy Smith. Eles têm cinco filhos, e ele trabalha como engenheiro de software no Microsoft. Quais consultas de pesquisa devo fazer para verificar isso?
---
CONSULTAS
1. "John Smith Microsoft" - Para verificar se John Smith está realmente empregado em Microsoft.
2. "John Smith Lucy Smith" - Para verificar se John Smith é casado com Lucy Smith.
3. "Filhos de John Smith" - 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 em partes

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

Mensagem do sistema Usuário Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Você lerá um parágrafo e emitirá consultas a um mecanismo de pesquisa para verificar os fatos.
---
PARÁGRAFO
John Smith é casado com Lucy Smith. Eles têm cinco filhos, e ele trabalha como engenheiro de software no Microsoft. Quais consultas de pesquisa devo fazer para verificar isso?
---
Agora você extrairá declarações factuais e emitirá consultas para verificá-las. Ao emitir uma consulta, use a função SEARCH("query")

REIVINDICAÇÕES FACTUAIS
1. John Smith é casado com Lucy Smith
2. Eles têm cinco filhos
3. Ele trabalha como engenheiro de software no Microsoft

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

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

Uso de funcionalidades

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

Uma maneira simples de usar uma acessibilidade é interromper a geração depois que as chamadas de acessibilidade forem geradas pelo modelo e colar os resultados de volta no prompt. Veja abaixo um exemplo de como pode ser a chamada de acompanhamento após as chamadas SEARCH acima. Observe como colamos os resultados da pesquisa no prompt e substituímos as chamadas SEARCH anteriores.

Mensagem do sistema Usuário Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Você lerá um parágrafo, extrairá declarações factuais e, em seguida, usará os resultados do mecanismo de pesquisa para verificar os fatos
---
PARÁGRAFO
John Smith é casado com Lucy Smith. Eles têm cinco filhos, e ele trabalha como engenheiro de software no Microsoft. Quais consultas de pesquisa devo fazer para verificar isso?
---
REIVINDICAÇÕES FACTUAIS
- John Smith é casado com Lucy Smith
- John e Lucy têm cinco filhos
- John trabalha como engenheiro de software na Microsoft
---
Aqui estão várias consultas de pesquisa emitidas para pesquisar as declarações acima:
CONSULTAS DE BUSCA
- John Smith casado com Lucy Smith
- Número de filhos de John Smith
- Engenheiro de software john Smith Microsoft
---
Aqui estão os trechos dos resultados da pesquisa:
SNIPPETS:
[1] … O casamento de John Smith foi em 25 de setembro de 2012...
[2] … John Smith foi acompanhado por sua esposa Lucy para uma festa
[3]John foi acompanhado ao jogo de futebol por suas duas filhas e três filhos
[4] … Depois de passar 10 anos no Microsoft, Smith fundou sua própria startup, Tailspin Toys
[5] John M é o smith da cidade, e ele se casou com Fiona. Eles têm uma filha chamada Lucy.
---
Considerando os snippets, verifique cada uma das afirmações factuais acima:
- John Smith é casado com Lucy Smith: Confirmado. Snippet [1] e [2] ambos mencionam a esposa de John Smith como Lucy.

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

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

Criação de prompt de cadeia de pensamento

Importante

Essa técnica só é aplicável a modelos de não raciocínio. Tentativas de extrair o raciocínio do modelo por métodos diferentes do parâmetro de resumo de raciocínio não são suportadas, podem violar a Política de Uso Aceitável e resultar em limitação ou suspensão do serviço quando detectadas.

Essa é uma variação na técnica de dividir a tarefa. Em vez de dividir uma tarefa em etapas menores, nessa abordagem, a resposta do modelo é instruida 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 Usuário Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Quem foi o atleta individual mais condecorado (medalhas máximas) nos Jogos Olímpicos que foram realizados em Sydney? Siga uma abordagem passo a passo em sua resposta, cite fontes e dê raciocínio antes de compartilhar a resposta final no formato abaixo: ANSWER é: <name> Etapa 1: Determinar o ano dos Jogos Olímpicos de Sydney. Os Jogos Olímpicos de Sydney foram realizados no ano 2000.

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

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

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

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, as entradas de mensagem do sistema como "apenas escrever fatos verdadeiros" ou "não fabricar informações" podem não ser mitigações adequadas. Em vez disso, solicitar que a resposta do modelo inclua citações também 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 instruções, essas instruções são muito mais propensas a serem fundamentadas. Solicitar citações faz com que o modelo faça dois erros sempre que gerar uma resposta: o primeiro erro é a resposta fabricada e o segundo é a citação incorreta. Observe que quanto mais próxima a citação estiver do texto compatível, menor será a distância à frente que o modelo precisa para prever a citação, o que sugere que as citações embutidas são melhores mitigações para geração de conteúdo falso do que citações no final do conteúdo.

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

Este exemplo mostra o uso de citações e a orientação da resposta do modelo para se ajustar a uma estrutura definida.

Mensagem do sistema Usuário 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.
---
olá obrigado por ligar para a farmácia contoso com quem eu estou falando hoje entendo sua frustração maria você pode me dizer o que exatamente está tentando fazer OK com certeza fico feliz em verificar isso para você aguarde um momento vejo aqui que você estava tomando uma forma genérica de lipitor é isso mesmo OK vejo que seu médico parou de prescrever esses medicamentos em 2021 na verdade OK sim ficarei feliz em verificar isso para você porque às vezes há uma lacuna no sistema e simplesmente isso não é reportado então deixe-me dar uma olhada aqui só um momento então estou vendo aqui que seu médico prescreveu esses medicamentos para você de 2012 a 2021 OK sim de acordo com os registros mais recentes fornecidos pelo consultório médico agora você está tomando um medicamento diferente metformina gostaria que prescrevêssemos a receita para você e você possa retirar o metformina 500mg de nada maria nos avise se há mais alguma coisa que possamos fazer por você hoje.
---
Como foi a resposta do agente de Suporte ao Cliente?
Classifique e liste seus vários comportamentos e cite o motivo por trás da classificação, usando o formato BEHAVIOR("reason")
1. Ação de Saudação Educada ("O agente inicia a conversa com uma saudação educada e pede o nome do interlocutor")
2. COMPORTAMENTO Empático("Agente reconhece a frustração de Maria e tenta entender sua preocupação")
3. COMPORTAMENTO Atento("O agente escuta o problema do cliente e pede mais detalhes")
4. COMPORTAMENTO Proativo("O agente oferece verificar o problema do 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 se há possíveis lacunas no sistema e fornece uma resposta completa")
7. COMPORTAMENTO CONFIRMATÓRIO("O agente confirma a medicação atual com o cliente")
8. COMPORTAMENTO orientado à solução("O agente oferece o preenchimento da nova prescrição para o cliente")
9. COMPORTAMENTO cortivo("Agente agradece ao cliente e oferece assistência adicional, se necessário")
Mensagem do sistema Usuário Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Agrupe as manchetes a seguir em categorias de temas com base nos padrões identificados no texto. Além disso, mencione o raciocínio por trás de como essas categorias foram definidas.
Formato de saída:
{
"TOPIC_NAME": "",
"HEADLINES": [],
"RACIOCÍNIO": ""
}

Manchetes de notícias de entrada:
1. "De livros a apresentações em 10 segundos com AR + ML"
2. "Demonstração de 1993 de Yann LeCun, aos 32 anos, apresentando a primeira Rede Convolucional do mundo para Reconhecimento de Texto"
3. "Modelo de movimento de primeira ordem aplicado para animar pinturas"
4. "Robinhood e outras corretoras bloqueiam literalmente a compra de $GME, $NOK, $BB, $AMC; permitindo vendas"
5. "Ações da United Airlines estão em queda de mais de 5% nas negociações pré-mercado"
Saída:

{
"ARTIFICIAL_INTELLIGENCE": {
"HEADLINES": [
De livros a apresentações em 10 segundos com AR + ML
"Demonstração de 1993 de Yann LeCun, aos 32 anos, apresentando a primeira Rede Convolucional do mundo para Reconhecimento de Texto",
"Modelo de movimento de primeira ordem aplicado para animar pinturas"
],
"RACIOCÍNIO": "Essas manchetes estão relacionadas à inteligência artificial, aprendizado de máquina e seus aplicativos em vários campos."
},
"FINANCIAL_MARKETS": {
"HEADLINES": [
"Robinhood e outros agentes bloqueiam literalmente a compra de $GME, $NOK, $BB, $AMC; permitem vendas",
As ações da United Airlines estão caindo mais de 5% no pré-mercado.
"Bitcoin era quase $20.000 há um ano hoje"
],
"RACIOCÍNIO": "Essas manchetes estão relacionadas a 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, 0,7 por exemplo, torna a saída mais aleatória e produz respostas mais divergentes, enquanto um valor menor, como 0.2 torna os resultados mais focados e concretos. Uma história fictícia poderia ser gerada usando uma temperatura mais alta. Enquanto para gerar um documento legal é recomendado usar uma temperatura significativamente mais baixa. Top_probability é outro parâmetro e é semelhante à Temperatura, pois também controla a aleatoriedade da resposta do modelo, mas o faz de uma maneira diferente. A recomendação geral é alterar um desses dois parâmetros de cada vez, não ambos.

Fornecer contexto de base

Uma das maneiras mais eficazes de fornecer respostas confiáveis é dar ao modelo dados para fundamentar suas respostas (dados de base). Se o seu caso de uso depender de informações confiáveis e atualizadas e não for puramente um cenário criativo, é altamente recomendável fornecer dados de referência. Em geral, quanto mais o material de origem se aproximar da forma final da resposta desejada, menos trabalho o modelo precisa fazer, o que reduz as chances de erro. Aqui está um exemplo em que o sistema recebe um blog que descreve o launch do GPT-4 em Azure OpenAI em Microsoft Foundry Models e solicitado a nomear alguns de seus primeiros clientes.

Mensagem do sistema Usuário Assistente
Você é um assistente de IA que ajuda as pessoas a encontrar informações. Você fornecerá respostas exclusivamente do texto abaixo e responderá em 100 palavras ou menos:
"No Microsoft, estamos constantemente descobrindo novas maneiras de liberar criatividade, desbloquear a produtividade e habilidades de nível superior para que mais pessoas possam se beneficiar do uso da IA. Isso está permitindo que nossos clientes...

… reduzindo assim a probabilidade de que o modelo gere uma resposta prejudicial." 1

Responda em 100 palavras ou menos. Use listas com marcadores sempre que possível.
Quem são alguns dos primeiros clientes dos modelos Azure OpenAI GPT-4? Aqui estão alguns dos primeiros clientes dos modelos Azure OpenAI GPT-4:
- Epic Healthcare: eles planejam usar o GPT-4 para ajudar médicos e enfermeiros a gastar menos tempo em entrada e investigação de dados.
– Coursera: eles estão usando Azure OpenAI com GPT-4 para criar uma nova experiência de aprendizado com IA em sua plataforma.
- Coca-Cola: eles estão usando Azure OpenAI para criar um hub de conhecimento e planejar aproveitar as funcionalidades multimodal do GPT-4 para marketing, publicidade, relações públicas e relações com o cliente.
- Outras empresas de todos os tamanhos estão usando Azure IA para melhorar as experiências do cliente, resumir conteúdo de forma longa, 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áticas recomendadas

  • Seja específico. Deixe o mínimo possível de interpretação. Restrinja o espaço operacional.
  • Seja descritivo. Use analogias.
  • Double Down. Às vezes, será necessário repetir o modelo. Dê instruções antes e depois do conteúdo primário, use uma instrução e uma indicação, etc.
  • Order Matters. A ordem na qual você apresenta informações para o modelo pode afetar a saída. Se você colocar instruções antes do conteúdo ("resumir o seguinte...") ou depois ("resumir o acima...") pode fazer a diferença na saída. Até mesmo a ordem dos exemplos de poucas cenas pode importar. Isso é chamado de viés de recência.
  • Dê uma opção de saída ao modelo. Às vezes, pode ser útil dar ao modelo um caminho alternativo se não for possível concluir a tarefa atribuída. Por exemplo, ao fazer uma pergunta sobre um pedaço de texto, você pode incluir algo como "responder com "não encontrado" se a resposta não estiver presente." Isso pode ajudar o modelo a evitar a geração de respostas falsas.

Eficiência de espaço

Embora o tamanho de entrada aumente a cada nova geração de modelos GPT, continuará a haver cenários que fornecem mais dados do que o modelo pode manipular. Os modelos gpt dividem palavras em "tokens". Embora palavras com várias sílabas comuns geralmente sejam um único token, palavras menos comuns são quebradas em sílabas. Os tokens às vezes podem ser contra-intuitivos, conforme mostrado pelo exemplo abaixo, que demonstra limites de token para diferentes formatos de data. Nesse caso, a ortografia de todo o mês é mais eficiente em termos de espaço do que uma data totalmente numérica.

Captura de tela de uma cadeia de caracteres de texto com cores realçadas delineando limites de token.

Dado esse espaço limitado, é importante usá-lo da forma mais eficiente possível.

  • Tabelas – conforme mostrado nos exemplos da seção anterior, os modelos gpt podem entender dados formatados tabulares facilmente. Essa pode ser uma maneira eficiente de incluir dados, em vez de preceder cada campo com nome (como com JSON).
  • Espaço em branco – espaços em branco consecutivos são tratados como tokens separados, o que pode ser uma maneira fácil de desperdiçar espaço. Espaços anteriores a uma palavra, por outro lado, normalmente são tratados como parte do mesmo token que a palavra. Observe cuidadosamente o uso do espaço em branco e não utilize pontuação quando somente um espaço é o suficiente.