Resumo Técnico de Function Calling
Resumo Técnico de Function Calling
1. Definição
Function Calling é um mecanismo que permite aos desenvolvedores descrever ferramentas externas disponíveis (como APIs) para um modelo de linguagem grande (LLM) por meio de um JSON schema. Quando o modelo decide que precisa chamar uma ferramenta para responder à pergunta do usuário, ele gera dados JSON estruturados tool_calls, indicando o nome da função e os parâmetros a serem chamados. O programa hospedeiro analisa e executa essa chamada, retorna o resultado ao modelo, que então gera a resposta final.
2. Princípio Central e Problemas Resolvidos
- Essência: Um ciclo fechado de "duas rodadas de diálogo + execução intermediária". Na primeira rodada, o modelo decide e gera uma solicitação de chamada de ferramenta; o código intermediário executa a ferramenta; na segunda rodada, o modelo gera a resposta final com base no resultado da execução.
- Problemas resolvidos: Resolve o problema anterior de depender de análise de linguagem natural instável e propensa a erros (if/else) para fazer o modelo chamar ferramentas, alcançando padronização e melhoria de precisão por meio de saída estruturada.
3. Divisão de Responsabilidades (Analogia de Delegação de Tarefas)
- Desenvolvedor (RH): Define as ferramentas, escreve o JSON Schema descrevendo a funcionalidade, parâmetros, etc.
- Modelo LLM (Gerente): Entende a descrição da ferramenta, decide se precisa chamar, qual ferramenta chamar e quais parâmetros usar, e gera a solicitação de chamada estruturada (
tool_calls). O modelo apenas toma decisões e gera texto, não executa código pessoalmente. - Executor/Código Hospedeiro (Funcionário): Analisa a solicitação
tool_callsdo modelo, executa a função ou chamada de API correspondente e retorna o resultado.
4. Definição de Ferramenta (JSON Schema)
O Schema é o "manual de instruções" da ferramenta, com informações-chave:
- name: Identificador único da ferramenta.
- description: Crucial, o modelo depende totalmente desta descrição para decidir se deve chamar a ferramenta. Quanto mais clara e precisa a descrição, mais precisa a decisão do modelo.
- parameters: Define os parâmetros necessários para a ferramenta, seus tipos, descrições e restrições (como valores enumerados, obrigatoriedade, etc.).
5. Fluxo de Chamada Completo
O artigo, por meio de um exemplo de código para consultar o clima, demonstra o processo completo desde a pergunta do usuário, a primeira chamada ao modelo com a definição da ferramenta, o modelo retornando tool_calls, o código executando a função, inserindo o resultado como uma mensagem role: "tool" no histórico da conversa, até o modelo gerar a resposta final em linguagem natural.
6. Recurso Avançado - Chamada Paralela de Ferramentas
Quando a pergunta do usuário requer a colaboração de várias ferramentas (por exemplo, consultar o clima de várias cidades simultaneamente), o modelo pode gerar uma lista contendo múltiplos tool_calls em uma única resposta. O código hospedeiro pode executar essas chamadas em paralelo e, em seguida, retornar todos os resultados ao modelo para síntese, melhorando a eficiência.
评论
暂无已展示的评论。
发表评论(匿名)