← 返回列表

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_calls do 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.

评论

暂无已展示的评论。

发表评论(匿名)