Function Calling
Capacidade de um modelo de IA identificar que precisa de uma ferramenta externa para realizar uma tarefa e gerar o comando necessário para a executar com dados estruturados.
O que é
O Function Calling (chamada de funções) é a funcionalidade que permite aos modelos de linguagem (LLMs) deixarem de ser apenas geradores de texto para se tornarem motores de ação. Na sua essência, é a ponte entre o raciocínio da IA e os sistemas informáticos tradicionais da sua empresa.
Embora um modelo como o GPT-4 ou o Claude seja incrivelmente capaz de escrever e analisar, ele vive num vácuo: não sabe que horas são, não tem acesso ao saldo do seu banco, nem consegue consultar o stock no seu armazém por conta própria. O Function Calling permite que o programador descreva as ferramentas disponíveis (APIs, bases de dados, calculadoras) para a IA. Quando o utilizador faz uma pergunta que exige dados externos, a IA avalia que ferramenta usar e devolve um formato de dados estruturado (normalmente JSON) com os parâmetros necessários para executar essa função.
Como funciona
Apesar do nome, a IA não executa o código diretamente nos seus servidores. O processo é um diálogo em quatro passos:
- Apresentação: Ao enviar uma mensagem à IA, o sistema anexa uma 'lista de ferramentas' descritas em código. Por exemplo: 'Tenho uma função chamada
consultar_stockque aceita o parâmetroreferencia_produto'. - Decisão: O modelo analisa o pedido do utilizador. Se o cliente perguntar 'Temos sapatilhas azuis tamanho 42?', a IA percebe que não sabe a resposta, mas vê que tem uma ferramenta de stock disponível.
- Pedido de Chamada: A IA responde, não com texto para o cliente, mas com um pedido técnico: 'Por favor, executa
consultar_stockpara o itemsap-azul-42'. - Execução e Resposta: O seu sistema informático executa o comando na base de dados, obtém o resultado ('Sim, 5 unidades') e envia-o de volta à IA. Só então a IA escreve para o utilizador: 'Sim, temos 5 pares em stock. Deseja encomendar?'.
Este ciclo transforma a IA num agente que interage com a realidade do negócio em tempo real.
Quando usar
Deve implementar Function Calling sempre que precisar que a IA interaja com dados dinâmicos ou sistemas de terceiros. Para uma PME, isto é crítico para evitar alucinações. Se perguntar à IA 'Qual foi a faturação de ontem?', sem Function Calling ela poderá inventar um número. Com Function Calling, ela consulta o software de faturação.
Os casos de uso ideais incluem:
- Consulta de dados em tempo real: Preços, meteorologia, disponibilidade de calendários ou níveis de inventário.
- Ações em sistemas externos: Criar um ticket de suporte no Zendesk, enviar um email de confirmação ou agendar uma reunião no Google Calendar.
- Extração de dados estruturados: Transformar um email desordenado de um cliente num formulário de encomenda pronto a inserir no ERP.
- Cálculos complexos: Delegar matemática financeira a uma calculadora precisa em vez de confiar na aritmética probabilística do modelo.
Erros comuns
O erro mais frequente é dar nomes genéricos ou descrições vagas às funções. A IA decide qual ferramenta usar baseando-se na descrição que lhe fornece. Se a descrição for ambígua, ela escolherá a ferramenta errada ou tentará adivinhar os parâmetros.
Outro erro crítico é a falta de validação. Nunca deve permitir que a IA execute funções sensíveis (como 'Eliminar Utilizador' ou 'Fazer Transferência Bancária') sem uma camada de verificação humana ou regras de negócio rígidas. A IA gera o comando, mas o seu sistema deve validar se aquele utilizador tem permissão para o executar.
Por fim, muitos programadores esquecem-se de lidar com erros de rede. Se a API do seu fornecedor demorar a responder, a IA ficará sem contexto ou entrará em loop. É necessário prever respostas de erro para que a IA possa informar o utilizador de forma educada.
Exemplo prático para uma PME
Imagine uma empresa portuguesa de distribuição de vinhos. Eles têm um chatbot para os seus clientes profissionais (restaurantes e garrafeiras).
Sem Function Calling, o bot apenas explica as castas dos vinhos. Com Function Calling, o bot tem acesso a três ferramentas: verificar_preço_revenda(id_cliente, id_produto), consultar_data_entrega(codigo_postal) e registar_encomenda().
Quando o dono de um restaurante no Porto pergunta: 'A quanto me fica uma caixa de Pêra-Manca e quando chega?', o fluxo é este:
- A IA deteta que precisa de consultar o preço específico para aquele cliente e os tempos logísticos para o Porto.
- Chama as funções em milissegundos.
- Recebe os dados: 450€ + IVA e entrega na próxima terça-feira.
- Responde: 'Para o seu perfil de revenda, a caixa fica por 450€ + IVA. Se encomendar agora, entregamos no Porto já na terça-feira.'.
Aqui, o valor para a PME é a automação de uma venda que anteriormente exigiria uma chamada telefónica ou troca de emails, mantendo a precisão total dos dados.
Perguntas frequentes
Q: O Function Calling é seguro? R: Sim, desde que o programador controle o que a função faz. A IA apenas sugere a chamada; é o seu código que a executa. Nunca dê acesso direto e sem restrições à base de dados.
Q: Preciso de saber programar para usar isto? R: Para configurar a infraestrutura técnica, sim. No entanto, ferramentas de 'no-code' para agentes de IA já começam a integrar estas capacidades de forma visual.
Q: Qual a diferença entre Function Calling e um Plugin? R: O Function Calling é o mecanismo técnico subjacente. Um Plugin (como os do ChatGPT) é uma implementação específica de interface que usa esse mecanismo para ligar o chatbot a serviços externos.
Q: Consome muitos tokens? R: Sim, as definições das funções ocupam espaço na janela de contexto (Context Window). Se tiver dezenas de funções complexas, o custo por mensagem será mais elevado.
Exemplos práticos
- 01Um chatbot de imobiliária que consulta a base de dados para listar apartamentos com tipologia T2 em Braga.
- 02Um assistente virtual que agenda reuniões verificando a disponibilidade real no Outlook da equipa.
- 03Uma ferramenta de suporte que cancela subscrições automaticamente após validar o pedido do cliente no Stripe.
- 04Um sistema de análise de compras que converte faturas em PDF em entradas estruturadas no software primavera.
Termos relacionados
Queres usar Function Calling na tua empresa?
Diagnóstico e proposta sem custo. Só pagas quando avançamos para a implementação.
Agendar diagnóstico IA gratuito