Controlando o formato de saída do LLM e analisando os resultados
De Wikiprompt, a enciclopédia livre de prompts
Controlando o formato de saída do LLM e analisando os resultados Um guia sobre como controlar o formato de saída de LLMs usando Function Calling e exemplos few-shot, com trechos de código práticos para parsing estável de JSON.
Conteúdo do PromptSalvar
🌐
Método 1: Usando Function Calling
Function Calling é um recurso da OpenAI para a API do GPT que permite ao LLM decidir se deve chamar uma função específica antes de gerar o resultado final. Por exemplo, se um usuário pergunta sobre o clima de hoje, o LLM primeiro gera um resultado intermediário dizendo para você chamar uma função relacionada ao clima com o parâmetro 'today'. Você pode então chamar a função do clima, obter o resultado e dizer ao LLM para gerar o resultado final para o usuário.
Esse recurso não foi originalmente criado para controlar o formato de saída, mas ele nos fornece um formato JSON padrão ao nos dizer qual função chamar, mesmo com GPT-3.5, proporcionando uma saída JSON bastante estável. Podemos aproveitar isso para controlar o formato de saída do LLM.
Podemos definir o conteúdo que queremos que o ChatGPT gere como uma função, mas não precisamos realmente executar a função, apenas obter o resultado de saída do LLM.
Por exemplo, se eu quiser que o ChatGPT gere um Objeto:
{
"name": "John",
"age": 30,
"city": "New York"
}
Ao chamar o GPT, defina uma função com parâmetros que correspondam ao formato JSON desejado:
{
"name": "getUserInfo",
"description": "Obter informações do usuário",
"parameters": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Nome completo do usuário"
},
"age": {
"type": "number",
"description": "Idade do usuário"
},
"city": {
"type": "string",
"description": "Cidade do usuário"
}
},
"required": ["name", "age", "city"]
}
}
Então, ao chamar o GPT, você pode obter uma saída JSON estável. A limitação é que a API deve suportar Function Calling.
Método 2: Usando few-shot com exemplos de formato de saída
Se a API não suportar Function Calling, podemos usar few-shot fornecendo um ou mais exemplos de formato de saída para o LLM seguir.
Por exemplo, ao traduzir, eu posso fazer o LLM traduzir duas vezes - uma literal e uma livre - e depois usar a tradução livre. Nesse caso, não preciso de formato JSON; posso simplesmente usar caracteres especiais para separar os dois resultados e dividir por esses caracteres para obter a tradução livre.
Para formato JSON, few-shot também pode ser usado, mas com GPT-3.5, a estabilidade não é grande e às vezes o formato não é seguido.
Garanta que sua resposta possa ser analisada por Python json, use o seguinte formato como exemplo:
{
"name": "John",
"age": 30,
"city": "New York"
}
Entre para ver o prompt completo
Continuar com:
Ao entrar, você concorda com nossos Termos de uso e Política de privacidade
Uso
Este prompt foi projetado para uso com coding. Copie o conteúdo acima e cole na sua ferramenta de IA preferida.
Para melhores resultados, personalize os marcadores (indicados por colchetes ou maiúsculas) com seus requisitos específicos.
Referências
- Categoria: Prompts de coding
- Fonte: https://x.com/dotey/status/1720566358050590773
Discussão
0 comentários