Unsloth e Llama 3: como ensinar o modelo a chamar APIs de forma estável via JSON
A Machine Learning Mastery publicou um guia de ajuste fino do Llama 3 para tool calling próprio, usando a biblioteca Unsloth. O problema é que o modelo genérico não mantém um JSON estrito para uma API específica: acrescenta texto extra, confunde tipos e inventa campos. A solução é um ajuste fino com QLoRA em exemplos do seu próprio schema. Segundo o projeto, o Unsloth acelera o treinamento em até 2 vezes e reduz o consumo de memória em até 70%, o que permite ajustar um modelo de 8B em uma única GPU da classe T4. • Objetivo: JSON válido e argumentos de função corretos • Método: QLoRA, pesos base em 4 bits e pequenos adaptadores • Hardware: uma placa de vídeo de 16 GB
Processado por IA de Machine Learning Mastery; editado por Hamidun News
A Machine Learning Mastery lançou um guia de ajuste fino do Llama 3 para tool calling próprio, usando a biblioteca Unsloth em Python. O problema aparece logo na primeira linha: o Llama 3 se sai bem em uma ampla gama de tarefas, mas um agente que precisa devolver, de forma confiável, um JSON estruturado para uma API específica não se contenta com essa amplitude. Basta um argumento omitido ou uma frase a mais antes da chave de abertura para a chamada da função falhar. Do trecho disponível, só se conhece a formulação do problema; por isso, abaixo analisamos a abordagem padrão para resolvê-lo, em vez de recontar o artigo linha por linha.
Por que o modelo genérico quebra as chamadas
Quando um agente trabalha com uma API, um erro de formato sai caro. O validador de schema rejeita a resposta inteira, e uma nova requisição custa dinheiro e tempo. Um modelo sem ajuste costuma falhar sempre do mesmo jeito: texto antes e depois do JSON, campos inventados, string no lugar de número, nome de função inexistente. Um prompt com exemplos reduz a taxa desses erros, mas não os elimina, sobretudo quando o schema tem dezenas de funções com parâmetros aninhados.
O ajuste fino resolve o problema de outra forma. O modelo recebe centenas ou milhares de pares "pedido do usuário → chamada correta" exatamente no seu schema e deixa de adivinhar o formato. Ele passa a ser a forma habitual de responder.
O que o Unsloth oferece
O Unsloth é uma biblioteca de código aberto para acelerar o ajuste fino de LLMs. Os autores afirmam que ela acelera o treinamento em até 2 vezes e reduz o consumo de memória de vídeo em até 70% em relação à pilha padrão. Esses números são do próprio projeto, não de medições independentes, e podem ser diferentes no seu hardware. O valor prático está em outro ponto: combinada com QLoRA, a biblioteca permite manter os pesos base em 4 bits e treinar apenas pequenos adaptadores LoRA. Nesse modo, um modelo de 8 bilhões de parâmetros cabe em uma única placa de vídeo de 16 GB, como a T4 do Colab gratuito.
Conjunto típico para essa tarefa:
- Base: Llama 3 8B Instruct
- Método: LoRA ou QLoRA com quantização de 4 bits dos pesos base
- Dados: pares "pedido → chamada de função" em JSON, seguindo estritamente o schema da sua API
- Stack: Python, Unsloth, Hugging Face Datasets, TRL (SFTTrainer)
- Hardware: uma GPU com 16 GB de memória ou mais
- Saída: um adaptador que pesa uma fração pequena do modelo completo; se necessário, ele é mesclado à base e exportado em GGUF para llama.cpp ou Ollama
Onde estão as armadilhas
O principal risco está nos dados. Se os exemplos de treinamento forem escritos de forma descuidada, o modelo aprende esse descuido com a mesma confiança. O template de chat usado no treinamento precisa ser o mesmo da inferência, incluindo os tokens especiais do Llama 3. Uma divergência aí é a causa mais comum do clássico "no notebook funcionava, em produção não".
A segunda armadilha é a falta de exemplos negativos. O agente precisa saber não chamar a função quando a pergunta não tem relação com ela, ou pedir esclarecimento quando falta um argumento. Sem esses casos, o modelo ajustado passa a chamar ferramentas a qualquer pretexto.
O terceiro problema é a avaliação. O loss de treinamento diz pouco sobre a qualidade do agente. É preciso um conjunto de validação separado e três métricas: proporção de JSON sintaticamente válido, precisão na escolha da função e precisão nos valores dos argumentos.
Na prática
Comece pequeno. Reúna de 300–500 exemplos de qualidade a partir de logs reais, anote-os conforme o schema e reserve obrigatoriamente 10–20% para validação. Rode o QLoRA no modelo de 8B e compare o resultado com o Llama 3 base, que recebe no prompt os mesmos schemas de função. Se o ganho em validade do JSON e em precisão dos argumentos for visível, amplie o dataset. Se não for, verifique o template de chat e a qualidade da anotação.
O ajuste fino não substitui o constrained decoding. A geração guiada por gramática ou por schema JSON garante a sintaxe, enquanto o ajuste fino cuida do sentido: qual função escolher e o que colocar nos argumentos. Juntas, as duas abordagens entregam o resultado mais previsível. Vale lembrar também que o Llama 3 já não é novidade em 2026, mas a receita em si se aplica a outros modelos compatíveis com o Unsloth.
- 23 de out. de 2026Universidade de Zhejiang publica a primeira revisão de IA egocêntrica para óculos inteligentes
- 23 de out. de 2026Meta vai usar o Muse Spark 1.3 em pesquisas médicas e promete ganho de eficiência de 10 vezes
- 23 de out. de 2026Groq lança Meta Muse Spark Open: 816B de parâmetros e 350+ tokens/s
- 23 de out. de 2026Agente Muse, da Meta, chega a 5 milhões de downloads nos EUA em 22 dias, mais rápido que o ChatGPT
Perguntas frequentes sobre a notícia
Por que o modelo genérico quebra as chamadas?
Quando um agente trabalha com uma API, um erro de formato sai caro. O validador de schema rejeita a resposta inteira, e uma nova requisição custa dinheiro e tempo. Um modelo sem ajuste costuma falhar sempre do mesmo jeito: texto antes e depois do JSON, campos inventados, string no lugar de número, nome de função inexistente. Um prompt com exemplos reduz a taxa desses erros, mas não os elimina, sobretudo quando o schema tem dezenas de funções com parâmetros aninhados. O ajuste fino resolve o problema de outra forma. O modelo recebe centenas ou milhares de pares "pedido do us
O que o Unsloth oferece?
O Unsloth é uma biblioteca de código aberto para acelerar o ajuste fino de LLMs. Os autores afirmam que ela acelera o treinamento em até 2 vezes e reduz o consumo de memória de vídeo em até 70% em relação à pilha padrão. Esses números são do próprio projeto, não de medições independentes, e podem ser diferentes no seu hardware. O valor prático está em outro ponto: combinada com QLoRA, a biblioteca permite manter os pesos base em 4 bits e treinar apenas pequenos adaptadores LoRA. Nesse modo, um modelo de 8 bilhões de parâmetros cabe em uma única placa de vídeo de 16 GB, como
Onde estão as armadilhas?
O principal risco está nos dados. Se os exemplos de treinamento forem escritos de forma descuidada, o modelo aprende esse descuido com a mesma confiança. O template de chat usado no treinamento precisa ser o mesmo da inferência, incluindo os tokens especiais do Llama 3. Uma divergência aí é a causa mais comum do clássico "no notebook funcionava, em produção não". A segunda armadilha é a falta de exemplos negativos. O agente precisa saber não chamar a função quando a pergunta não tem relação com ela, ou pedir esclarecimento quando falta um argumento. Sem esses casos, o model
Access Frontier LLMs & Multimodal AI in One Workspace
Discover NomadNet AI (nomadnet.ai) — unified access to frontier language models, research synthesis, and multimodal workflows.
O essencial da IA — uma vez por semana
Sete histórias que realmente importaram, escolhidas a dedo. Sem ruído nem releases.
Pronto! Verifique seu e-mail para a confirmação.