Frodex

Frodex

Beta
EnglishPortuguês (BR)
Fundamentos
1Introdução2Tokens3Controlando o modelo
Comunicando com LLMs
4Anatomia de um bom prompt5System prompts e personas6Few-shot learning
Saídas estruturadas
7Modo JSON e saída estruturada8Function calling
Técnicas avançadas
9Raciocínio em cadeia de pensamento10Gerenciando a janela de contexto11Embeddings e busca semântica
Sistemas em produção
12Retrieval-Augmented Generation (RAG)13Respostas em streaming14Avaliação e otimização de custo
Frodex

Frodex

Beta
EnglishPortuguês (BR)
Fundamentos
1Introdução2Tokens3Controlando o modelo
Comunicando com LLMs
4Anatomia de um bom prompt5System prompts e personas6Few-shot learning
Saídas estruturadas
7Modo JSON e saída estruturada8Function calling
Técnicas avançadas
9Raciocínio em cadeia de pensamento10Gerenciando a janela de contexto11Embeddings e busca semântica
Sistemas em produção
12Retrieval-Augmented Generation (RAG)13Respostas em streaming14Avaliação e otimização de custo
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:

  1. Reconheçam quando uma função deve ser chamada
  2. Extraiam os parâmetros corretos da linguagem natural
  3. 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:

  1. Usuário envia uma mensagem
  2. Modelo decide chamar uma função
  3. Seu código executa a função
  4. Envie o resultado de volta ao modelo
  5. 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

Playground

Experimente estes prompts

Prompt

Por que este experimento?

Veja como function calling extrai parâmetros estruturados da linguagem natural.

Resposta
Nenhuma resposta ainda
Escolha um experimento acima ou digite seu prompt e clique em Executar para ver a resposta do modelo aqui.

O modelo extrai parâmetros da linguagem natural: query='tênis de corrida', max_price=500.