Função chamada

A chamada de função permite que modelos de linguagem usem ferramentas externas, gerando saídas estruturadas que especificam chamadas de função, permitindo que elas interajam com APIs e outros sistemas.

A chamada de função é uma técnica que permite que grandes modelos de linguagem (LLMs) interajam com ferramentas externas e APIs. Em vez de simplesmente gerar texto, o LLM é treinado para gerar dados estruturados, como JSON, que especificam uma função a ser chamada e seus argumentos. Isso permite que o LLM delegue tarefas, recupere informações e execute ações além de suas capacidades inerentes de geração de texto. O processo normalmente envolve a definição de um conjunto de funções com descrições e esquemas de entrada/saída, que o LLM pode então usar para gerar chamadas apropriadas. Isso expande a utilidade dos LLMs, permitindo que sejam integrados em fluxos de trabalho e aplicativos que exigem dados ou ações externas.

        graph LR
  Center["Função chamada"]:::main
  Pre_logic["logic"]:::pre --> Center
  click Pre_logic "/terms/logic"
  Rel_api["api"]:::related -.-> Center
  click Rel_api "/terms/api"
  Rel_chain_of_thought["chain-of-thought"]:::related -.-> Center
  click Rel_chain_of_thought "/terms/chain-of-thought"
  Rel_function["function"]:::related -.-> Center
  click Rel_function "/terms/function"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Teste de conhecimento

1 / 3

🧒 Explique como se eu tivesse 5 anos

É como pedir a um assistente superinteligente para procurar algo num livro específico (a função) e dizer-lhe a resposta, em vez de apenas adivinhar.

🤓 Expert Deep Dive

Chamada de função, no contexto de LLMs, representa uma mudança de paradigma da geração pura de texto para o comportamento de agente, permitindo que LLMs atuem como orquestradores de recursos computacionais externos. Arquiteturalmente, baseia-se na capacidade do LLM de realizar predição estruturada, emitindo um esquema predefinido que representa assinaturas de função e argumentos. Este esquema é tipicamente definido pelo desenvolvedor, fornecendo ao LLM um "conjunto de ferramentas" que ele pode utilizar. O processo envolve o LLM analisando a consulta em linguagem natural do usuário, identificando a intenção e mapeando-a para as funções disponíveis. Em seguida, ele gera um objeto JSON aderindo ao esquema, especificando o nome da função e os argumentos, frequentemente derivados através de extração de entidades e preenchimento de slots do prompt. Uma camada de execução separada (o "executador de ferramentas" ou "framework de agente") intercepta este JSON, valida-o e invoca a API externa ou código correspondente. O valor de retorno da ferramenta é então realimentado no contexto do LLM, permitindo que ele sintetize uma resposta final ou encadeie chamadas de função adicionais. Este mecanismo aprimora significativamente a utilidade dos LLMs ao fundamentar suas respostas em dados em tempo real e permitir operações complexas e de múltiplos passos. As desvantagens incluem o potencial para ataques de injeção de prompt visando o mecanismo de chamada de função, a complexidade de gerenciar definições de ferramentas e tratamento de erros, e a sobrecarga computacional do loop de execução. Garantir que o LLM mapeie com precisão a intenção para a função e os argumentos corretos, especialmente com ferramentas numerosas ou com nomes ambíguos, é um desafio crítico. Técnicas como aprendizado few-shot e fine-tuning são empregadas para melhorar essa precisão de mapeamento.

🔗 Termos relacionados

Pré-requisitos:

📚 Fontes