Pular para o conteúdo principal
Casos de uso
  • Conectar modelos a dados em tempo real (bancos de dados, calendários, APIs internas) sem gambiarras no prompt.
  • Agentes que executam ações em nome dos usuários: criar tickets, enviar e-mails, executar consultas.
  • Fluxos de várias etapas em que o modelo decide quais ferramentas invocar e em que ordem.
  • Substituir a análise frágil com regex por chamadas de função estruturadas na extração de dados.

Início rápido

Permita que modelos de IA chamem funções externas com parâmetros estruturados.

Configuração

Definição da ferramenta

Responses API (/v3/router/responses): formato plano: Chat Completions (/v3/router/chat/completions): wrapper function aninhado:

Opções de escolha de ferramenta

Formato da mensagem de ferramenta

Este formato se aplica ao endpoint de Chat Completions (/v3/router/chat/completions). Na Responses API, os resultados das ferramentas usam type: "function_call_output", call_id e output.
Ao devolver os resultados das ferramentas ao modelo, use a role tool:
O tool_call_id pode ser null em determinados cenários, como quando os resultados das ferramentas são fornecidos sem uma chamada de ferramenta correspondente do modelo ou ao trabalhar com provedores que não exigem IDs de chamada de ferramenta.

Exemplos de código

Padrões de execução de funções

Handler básico de ferramentas

Um registro que mapeia nomes de ferramentas para funções handler, substituindo instruções switch por chamada por um único caminho de despacho.

Execução paralela de ferramentas

Quando o modelo retornar várias chamadas de ferramentas em um único turno, execute-as simultaneamente para reduzir a latência.

Casos de uso avançados

Integração com banco de dados

Exponha o acesso SQL como uma ferramenta para que o modelo possa consultar dados diretamente. Sempre sanitize as consultas antes da execução.

Integração com API

Exponha ações de serviços externos (e-mail, calendário, notificações) como ferramentas que o modelo pode invocar durante uma conversa.

Fluxos de várias etapas

Execute o modelo em loop até que ele produza uma resposta final em texto, permitindo um comportamento de agente em várias etapas sem streaming.

Tratamento de erros

Retorne objetos de erro estruturados nas saídas das ferramentas para que o modelo possa relatar falhas ou tentar novamente com argumentos corrigidos.

Boas práticas

Design de ferramentas

  • Use nomes de função claros e descritivos.
  • Forneça descrições detalhadas dos parâmetros.
  • Inclua exemplos nas descrições.
  • Torne as ferramentas idempotentes sempre que possível.

Design de schemas

Considerações de segurança

  • Nunca exponha operações destrutivas diretamente.
  • Valide todas as entradas minuciosamente.
  • Use listas de permissões para operações sensíveis.
  • Implemente uma autenticação adequada.
  • Registre em log todas as execuções de ferramentas.

Solução de problemas

A ferramenta não está sendo chamada
  • Verifique se as descrições das ferramentas estão claras.
  • Confirme se os schemas dos parâmetros estão corretos.
  • Garanta que tool_choice esteja definido adequadamente.
  • Experimente prompts mais explícitos.
Argumentos inválidos
  • Valide o JSON Schema minuciosamente.
  • Adicione exemplos de parâmetros.
  • Verifique se os campos obrigatórios estão marcados.
  • Simplifique estruturas de parâmetros complexas.
Falhas de execução
  • Implemente um tratamento de erros adequado.
  • Adicione proteção por timeout.
  • Valide as entradas antes da execução.
  • Retorne mensagens de erro estruturadas.

Limitações

Otimização de desempenho

Cache de ferramentas

Armazene em cache os resultados de ferramentas somente leitura para evitar chamadas externas redundantes em uma sessão.

Operações em lote

Aceite arrays de entradas em uma única ferramenta para reduzir o número de turnos do modelo necessários em operações em massa.