Partilhar via


Técnicas de engenharia de pedidos

Os modelos GPT-3, GPT-3.5, GPT-4 e GPT-4o da OpenAI são baseados em prompts. Com os modelos baseados em pedidos, o utilizador interage com o modelo ao introduzir um pedido de texto, ao qual o modelo responde com uma conclusão de texto. Esta conclusão é o prolongamento do modelo do texto de entrada.

Embora estes modelos sejam extremamente eficientes, o respetivo comportamento é também muito sensível ao pedido. Isto faz da construção do pedido uma competência essencial a desenvolver.

A construção rápida pode ser difícil. Na prática, o prompt age para configurar os pesos do modelo para 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 é ajudá-lo a começar este processo de aprendizagem. Ele tenta capturar conceitos e padrões gerais que se aplicam a todos os modelos GPT. No entanto, é importante entender que cada modelo se comporta de forma diferente, então os aprendizados podem não se aplicar igualmente a todos os modelos.

Noções Básicas

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

Os prompts de texto são como os usuários interagem com os modelos GPT. Tal como acontece com todos os modelos de linguagem generativa, os modelos GPT tentam produzir a próxima série de palavras que são mais prováveis de seguir o texto anterior. É como se estivéssemos 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 com precisão o texto.

Pedido Conclusão
Quatro pontos e sete anos atrás o nosso os pais criaram neste continente, uma nova nação, concebida na Liberdade, e dedicada à proposição de que todos os homens são criados iguais. […]
"Chame-me Ismael." "Há alguns anos, não importa quanto tempo precisamente, com pouco ou nenhum dinheiro na bolsa, e nada de particular que me interessasse em terra, pensei que navegaria um pouco e veria 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 (dados seus dados de treinamento e metas de treinamento). Se você fizer uma pergunta em seu prompt, o modelo não está seguindo um caminho de código "P&R" separado, mas parece responder à pergunta porque uma resposta é o tipo mais provável de resposta para a pergunta dada como entrada.

Componentes de prompt

Ao usar a API de conclusão, embora não haja diferenciação entre as diferentes partes do prompt, ela ainda pode ser útil para aprendizado e discussão para identificar componentes subjacentes do prompt. Com a API de conclusão de bate-papo, 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. Esta orientação se concentra mais geralmente em como pensar na construção rápida, em vez de fornecer orientação prescritiva específica para uma API em detrimento de outra.

Também é importante entender que, embora possa haver outras maneiras válidas de dissecar prompts, o objetivo dessa análise é fornecer uma maneira relativamente simples de pensar sobre a construção imediata. 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, do mais para o menos.

Instruções

As instruções são provavelmente o componente de prompt mais comumente usado. As 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 Pedido Conclusão
Instruções simples Escreva uma introdução para um boletim informativo semanal. Bem-vindo à nossa newsletter semanal. Esta semana temos um foco especial na produtividade. Vamos partilhar dicas e truques sobre como ser produtivo em todas as áreas da sua vida. Esperamos que goste e por favor partilhe com os seus amigos!
Instruções complexas Escreva uma introdução para um boletim informativo semanal para minha empresa chamada Contoso. Deve mencionar a grande reunião de todas as mãos que tivemos na semana passada e agradecer à equipe por todo o seu trabalho árduo ao longo dos últimos meses difíceis. Bem-vindo ao boletim informativo semanal da Contoso! Tivemos uma grande reunião a todas as mãos na semana passada e quero agradecer à equipa por todo o seu trabalho árduo ao longo dos últimos meses difíceis. Estamos ansiosos por um futuro brilhante e estou confiante de que, com a dedicação e o compromisso da nossa equipa, conseguiremos grandes coisas. Obrigado por fazer parte da nossa equipa e estou ansioso por trabalhar com todos vós nas próximas semanas e meses. Atenciosamente, [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
- Agradecer à equipa pelo seu trabalho árduo ao longo de alguns meses difíceis
- Perspetivas positivas para o próximo trimestre
- Assinado pelo SLT
Olá equipe Contoso! Queria reservar um momento para vos agradecer todo o vosso trabalho árduo ao longo dos últimos meses. Foram alguns 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. O conteúdo principal é normalmente usado em conjunto com instruções. Um exemplo simples seria a tradução linguística. No exemplo abaixo, o texto em inglês seria considerado o conteúdo principal, enquanto "Traduzir para francês:" é uma instrução.

Pedido Conclusão
Você pode por favor 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 principal também pode ser muito mais longo. No exemplo a seguir, o conteúdo principal é a seção de introdução do verbete da Wikipédia sobre complexidade de tempo, que tem quase 300 palavras. Este conteúdo foi abreviado na nossa tabela para facilitar a exibição.

Pedido Conclusão
Em ciência da computação, a complexidade de tempo é a complexidade computacional que descreve a quantidade de tempo de computador que leva para executar um algoritmo. A complexidade do tempo é comumente estimada por [...]
Resuma o texto anterior em algumas frases:
A complexidade de tempo é uma medida de quanto tempo um algoritmo leva para ser executado. Normalmente é expresso em função do tamanho da entrada. A medida mais comum é a complexidade de tempo do pior caso, que é a quantidade máxima de tempo necessária para entradas de um determinado tamanho.
Em ciência da computação, a complexidade de tempo é a complexidade computacional que descreve a quantidade de tempo de computador que leva para executar um algoritmo. A complexidade do tempo é comumente estimada por [...]
TL;DR (Muito tempo não lido)
A complexidade de tempo de um algoritmo é a quantidade de tempo que leva para executar um algoritmo. A complexidade do tempo é comumente estimada pela contagem do número de operações elementares realizadas pelo algoritmo, supondo que cada operação elementar leva uma quantidade fixa de tempo para ser executada. A complexidade do tempo é geralmente expressa em função do tamanho da entrada.

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

Pedido 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 têm menos de 6% ABV?
Há 10 cervejas na tabela que são menos de 6% ABV.

Exemplos

Prompts bem-sucedidos geralmente dependem da prática de aprendizagem "one-shot" ou "few-shot". 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 é aprender no sentido de que o modelo é permanentemente alterado, mas sim que os exemplos condicionam melhor o modelo a responder como desejado apenas para a inferência atual. O uso de prompts sem exemplos é por vezes referido como aprendizagem "zero-shot". Observe que, com a API de conclusão do bate-papo, alguns exemplos de aprendizado são normalmente adicionados à matriz de mensagens na forma de exemplos de interações do usuário/assistente após a mensagem inicial do sistema.

Tipo de Aprendizagem Pedido Conclusão
Tiro zero Manchete: Treinador confiante de que lesão não vai atrapalhar Warriors
Tópico:
O treinador está confiante de que a lesão não vai atrapalhar a temporada dos Warriors. A equipa continua focada nos seus objetivos e que vai continuar a trabalhar arduamente para os alcançar.
Poucos tiros Manchete: Correa, dos gêmeos, vai usar opt-out, testar agência livre
Tópico: Beisebol
Manchete: Copa do Mundo do Catar terá zonas para ficar sóbrio
Tema: Futebol
Manchete: Yates: Informações sobre futebol fantástico para a Semana 6
Tema: Futebol
Manchete: Treinador confiante de que lesão não vai atrapalhar Warriors
Tópico:
Basquetebol

O exemplo acima ilustra a utilidade da aprendizagem de poucos tiros. Sem os exemplos, o modelo parece estar adivinhando o comportamento desejado, enquanto os exemplos mostram claramente o modelo como operar. Isso também demonstra o poder do modelo, ele pode inferir a categoria de rótulo que é desejado, mesmo sem um rótulo de "basquete" nos exemplos.

Deixa

As pistas atuam como o "jumpstart" para a saída do modelo, ajudando a direcionar o modelo para a saída desejada. Muitas vezes, é um prefixo no qual o modelo pode se basear. No exemplo abaixo, mostramos a deixa direcionando a história para incluir elementos-chave. As dicas são frequentemente usadas juntamente com instruções, mas nem sempre. Nos exemplos abaixo, o modelo está sendo usado para resumir um longo e-mail de anúncio. Uma pista é usada em um caso para ajudar a focar a saída do modelo e sugerir um formato de saída específico (bullet points) no outro.

No contexto da API de conclusão do bate-papo, as instruções assumem a forma da mensagem do sistema, e alguns exemplos são indicados fornecendo uma série de exemplos de interações usuário/assistente para ajudar a preparar o modelo.

Número de pistas Pedido Conclusão
0 As avaliações de desempenho são um componente central da nossa abordagem de Desempenho e Desenvolvimento na Contoso. […]
Resuma a mensagem de e-mail acima:
O objetivo deste email é informar os funcionários sobre as alterações recentes na experiência de análise de desempenho, que faz parte da abordagem de Desempenho e Desenvolvimento da Contoso. As mudanças 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 Iniciadores de Conversa para que os funcionários sinalizem tópicos que gostariam de discutir com seus gerentes.
1 As avaliações de desempenho são um componente central da nossa abordagem de Desempenho e Desenvolvimento na Contoso. […]
Resuma a mensagem de e-mail acima:
A principal conclusão da mensagem é
que a Contoso está melhorando a experiência de análise de desempenho, tornando-a mais focada nas principais prioridades, expectativas e impacto. Além disso, eles estão atualizando a experiência do usuário na ferramenta com dicas, recursos e orientações. Por último, estão a acrescentar orientações sobre como ativar as principais prioridades de toda a empresa.
2 As avaliações de desempenho são um componente central da nossa abordagem de Desempenho e Desenvolvimento na Contoso. […]
Resuma a mensagem de e-mail acima:
Pontos Principais:
A Contoso está introduzindo alterações na experiência de análise de desempenho, com base nos comentários dos funcionários.
• As mudanças incluem um novo foco nas principais prioridades, expectativas e impacto; uma experiência de utilizador melhorada; e novas orientações sobre as principais prioridades de toda a empresa.
• As avaliações de desempenho são um momento para refletir sobre o desempenho e a aprendizagem passados, bem como para planear prioridades futuras e oportunidades de crescimento.
• Funcionários e gerentes devem escrever comentários antes da reunião de avaliação de desempenho.
• Deve haver pelo menos duas avaliações de desempenho por ano.
• O investimento de tempo para cada revisão deve permanecer praticamente o mesmo.

Conteúdo de suporte

O conteúdo de suporte é uma informação que o modelo pode utilizar para influenciar a saída de alguma forma. Ele difere do conteúdo primário porque não é o alvo principal 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, preferências do usuário e assim por diante. O exemplo abaixo usa conteúdo de suporte para ajudar a organizar um conjunto de workshops planejados para o usuário. Sem o suporte (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 com precisão as reuniões.

Conteúdo de suporte Pedido Conclusão
Sem Lista de oficinas:
Descrição do título
Workshop de Planeamento Kickoff Junte-se a nós para iniciar o nosso workshop! Ouça nossos líderes sobre as prioridades e aprendizados entre grupos para o próximo ano. O convite para este evento já foi enviado a todos em [...]
Resuma os workshops acima, agrupados por tema:
Lista de oficinas:
Início do Workshop de Planeamento
-Conclusão do Workshop de Planeamento
- Núcleo MeetUp
- Perspetivas orientadas para o cliente
-Impacto e Principais Áreas de Foco
-Melhores práticas
-Acelerando a adoção do aplicativo [...]
With Lista de oficinas:
Descrição do título
Workshop de Planeamento Kickoff Junte-se a nós para iniciar o nosso workshop! Ouça nossos líderes sobre as prioridades e aprendizados entre grupos para o próximo ano. O convite para este evento já foi enviado a todos em [...]
Meus tópicos importantes: engenharia de prompt, pesquisa, modelos GPT
Resumir os workshops acima, agrupados pelos meus tópicos importantes:
1. Engenharia Imediata:
- Novas dicas rápidas de engenharia
- A arte da engenharia rápida
2. Pesquisar:
-Introdução à pesquisa vetorial com incorporação
3. Modelos GPT:
- Introdução ao GPT-4
- GPT-35-Turbo em profundidade.

Orientações específicas do cenário

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 nesta seção 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.

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"
Saída:

{
"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.

Melhores práticas

  • Seja específico. Seja o mais direto possível. Restrinja o espaço operacional.
  • Seja descritivo. Utilize analogias.
  • Duplique. Às vezes, você pode precisar se repetir para o modelo. Dê instruções antes e depois do seu conteúdo principal, utilize uma instrução e uma pista, entre outros.
  • A ordem importa. A ordem em que você apresenta informações ao modelo pode afetar a saída. Se você colocar instruções antes do seu conteúdo ("resumir o seguinte...") ou depois ("resumir o acima...") pode fazer a diferença na saída. Até a ordem de alguns exemplos pode ser importante. Isto é denominado desvio de recência.
  • Dê ao modelo um "out". Às vezes, pode ser útil dar ao modelo um caminho alternativo se ele não conseguir concluir a tarefa atribuída. Por exemplo, ao fazer uma pergunta sobre um pedaço de texto, você pode incluir algo como "responda com "não encontrado" se a resposta não estiver presente". Isso pode ajudar o modelo a evitar gerar respostas falsas.

Eficiência do espaço

Embora o tamanho da entrada aumente a cada nova geração de modelos GPT, irá continuar a haver cenários que fornecem mais dados do que o modelo consegue processar. Os modelos GPT dividem as palavras em "tokens". Enquanto palavras comuns de várias sílabas são muitas vezes um único token, palavras menos comuns são quebradas em sílabas. Às vezes, os tokens podem ser contraintuitivos, como mostra o exemplo abaixo, que demonstra os limites do token para diferentes formatos de data. Neste caso, escrever o mês inteiro é mais eficiente em termos de espaço do que uma data totalmente numérica. A gama atual de suporte a tokens vai de 2.000 tokens com modelos GPT-3 anteriores para até 32.768 tokens com a versão 32k do modelo GPT-4 mais recente.

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

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

  • Tabelas – Como mostrado nos exemplos na seção anterior, os modelos GPT podem entender dados formatados tabulares com bastante facilidade. Essa pode ser uma maneira eficiente de incluir dados, em vez de preceder todos os campos com nome (como 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. Os espaços que precedem uma palavra, por outro lado, são normalmente tratados como parte do mesmo símbolo que a palavra. Observe cuidadosamente o uso do espaço em branco e não use pontuação quando um espaço sozinho o fará.