Entender a engenharia de prompt

Concluído

A qualidade dos prompts de entrada que enviamos a um modelo de IA, como aqueles disponíveis no Azure OpenAI, influencia diretamente a qualidade do que recebemos de volta. Ao construir cuidadosamente os prompts que enviamos ao modelo, o modelo pode fornecer respostas melhores e mais interessantes.

O que é a engenharia de prompts

Engenharia de prompt é o processo de criação e otimização de prompts para utilizar melhor os modelos de IA. A criação de prompts eficazes é fundamental para o sucesso da engenharia de prompt e pode aprimorar significativamente o desempenho do modelo de IA em tarefas específicas. Fornecer prompts relevantes, específicos, inequívocos e bem estruturados pode ajudar o modelo a entender melhor o contexto e gerar respostas mais precisas.

Por exemplo, se quisermos que um modelo de OpenAI gere descrições de produto, poderemos fornecer uma descrição detalhada que descreve os recursos e os benefícios do produto. Quando esse contexto é fornecido, o modelo pode gerar descrições de produto mais precisas e relevantes.

A engenharia de prompt também pode ajudar a reduzir o viés e a aumentar a imparcialidade em modelos de IA. Ao criar prompts diversos e inclusivos, podemos garantir que o modelo não seja tendencioso em relação a um determinado grupo ou perspectiva.

Importante

Não importa o quão bom seja um prompt que você projetar, as respostas dos modelos de IA nunca deverão ser tomadas como fato ou completamente livres de viés. Sempre use a IA com responsabilidade. Para obter mais informações, consulte a nota sobre transparência da Microsoft sobre o Azure OpenAI e os princípios de IA da Microsoft.

Além disso, a engenharia de prompt pode nos ajudar a entender quais referências o modelo usa para gerar sua resposta. Os modelos de IA generativa têm inúmeros parâmetros e a lógica que seguem é amplamente desconhecida para os usuários, portanto, pode ser confuso como eles chegam às respostas que fornecem. Ao criar prompts fáceis de entender e interpretar, podemos ajudar as pessoas a entender melhor como o modelo está gerando suas respostas. Isso pode ser particularmente importante em domínios como a área da saúde, em que é fundamental entender como o modelo está tomando decisões.

Diferentes métodos podem ser usados ao projetar seus prompts, muitos dos quais são abordados em unidades futuras deste módulo. Isso inclui fornecer instruções, conteúdo contextual, pistas ou exemplos de poucas tentativas e ordenar o conteúdo corretamente no prompt. Os métodos abordados aqui não são exaustivos, pois essa área fluida e cheia de nuances.

Considerações sobre pontos de extremidade de API

Os exemplos no restante deste módulo serão focados em ChatCompletion. Vale a pena observar que ChatCompletion também pode ser usado para cenários que não são de chat, em que as instruções são incluídas na mensagem do sistema e o conteúdo do usuário é fornecido na mensagem de função do usuário. A maioria desses exemplos pode ser alterada para usar o ponto de extremidade Completion, se desejado.

Em termos de disponibilidade do modelo, o ponto de extremidade Completion pode ser usado com gpt-3 e versões anteriores, e ChatCompletion pode ser usado com modelos gpt-35-turbo e versões posteriores.

Ajustando parâmetros de modelo

Além das técnicas discutidas neste módulo, ajustar os parâmetros do modelo pode ter um impacto significativo sobre a resposta. Em particular, temperature e top_p (top_probability) são os mais propensos a afetar a resposta de um modelo, pois ambos controlam a aleatoriedade no modelo, mas de maneiras diferentes.

Valores mais altos produzem respostas mais criativas e aleatórias, mas provavelmente serão menos uniformes ou focados. Respostas que deveriam ser fictícias ou únicas se beneficiam de valores mais altos para esses parâmetros, enquanto conteúdo que deve ser mais uniforme e concreto deve usar valores mais baixos.

Tente ajustar esses parâmetros com o mesmo prompt para ver como eles afetam a resposta. É recomendável alterar temperature ou top_p por vez, mas não ambos.