Saídas estruturadas
20 minLição 8 de 14
Function calling
Permita que LLMs interajam com sistemas externos
Objetivos de aprendizagem
- •Entender function calling e uso de ferramentas
- •Aprender a definir schemas de funções
- •Implementar execução de funções segura e eficaz
O que é function calling?
Function calling permite que LLMs:
- Reconheçam quando uma função deve ser chamada
- Extraiam os parâmetros corretos da linguagem natural
- Retornem uma chamada de função estruturada para seu código executar
O modelo não executa funções — ele diz ao seu código o que chamar.
Definindo funções
Funções são definidas com JSON Schema:
const functions = [{
name: "get_weather",
description: "Obtenha o clima atual de um local",
parameters: {
type: "object",
properties: {
location: {
type: "string",
description: "Cidade e estado, ex.: 'São Paulo, SP'"
},
unit: {
type: "string",
enum: ["celsius", "fahrenheit"],
description: "Unidade de temperatura"
}
},
required: ["location"]
}
}];Descrições claras ajudam o modelo a escolher corretamente.
O loop de function calling
O padrão típico:
- Usuário envia uma mensagem
- Modelo decide chamar uma função
- Seu código executa a função
- Envie o resultado de volta ao modelo
- Modelo gera a resposta final
Usuário: "Como está o tempo em Tóquio?"
↓
Modelo: {function: "get_weather", arguments: {location: "Tóquio, Japão"}}
↓
Seu código: busca API do tempo → {temp: 22, condition: "ensolarado"}
↓
Modelo: "Está 22°C e ensolarado em Tóquio."Erros comuns
×Descrições ruins das funções — o modelo depende delas para escolher
×Faltando descrições dos parâmetros — leva a extração incorreta
×Não tratar erros de função — tenha sempre comportamento de fallback para chamadas que falham
×Confiar cegamente nas chamadas — valide parâmetros antes de executar
Principais pontos
+Function calling une linguagem natural e chamadas de API estruturadas
+Descrições claras de funções e parâmetros são críticas para precisão
+Sempre valide parâmetros antes de executar funções
+O modelo sugere chamadas — seu código as executa com segurança