Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Sugestão] Quando Não se pode pagar por uma API de um modelo de IA

Talvez, assim como eu, você não dispõe de recursos para pagar um modelo de IA como os da OpenAI, Gemini etc.
Eu passei por isso, recebendo mensagens de erro de quota excedida no uso da API. O que eu fiz?
USEI UM MODELO LOCAL

Na trilha anterior, fomos ensinados a instalar modelos locais de IA através do LM Studio. Com essa ferramenta, eu consegui usar um modelo pequeno, localmente, sem ter problemas com limites de quota.

O menor modelo é o google/gemma-3-1b (com um Bilhão de Parâmetros). Não é a melhor escolha (óbvio), mas é bom para praticar.

Por diversas tentativas (e muitos erros), consegui acessá-la no n8n através de um nó HTTP Request (devido o n8n que estou usando estar em um container e não conseguir puxar diretamente do localhost).

Passos que eu segui:

  1. Baixe e instale o LM Studio
  2. Clique em "model search" (um ícone de robozinho na aba lateral, na sua parte superior), busque pelo modelo desejado e baixe-o
  3. Clique em "Developer" (um ícone típico de código/terminal na aba lateral, na sua parte superior)
  4. Na aba "Developer", clique em "Load Model" (Carregar modelo) e escolha o modelo baixado
  5. Na parte acima, onde está escrito "Researchable at" vai estar o endereço de IP e a respectiva porta, copie-o.
  6. No n8n, após esolher o email Trigger de sua preferência, adicione um nó HTTP Request
    6.1. Vai para o método e escolha POST
    6.2. Na URL, cole o endereço de ip com a porta copiada, adicionando /api/v1/chat/ (exemplo: http://192.168.0.178:1234/api/v1/chat/)
    6.3. Marque a opção Send Headers e escolha Using Fields Below, em Name digite: Content-Type e em Value digite: application/json
    6.4. Marque a opção Send Body e no campo Body Content Type escolha: JSON, em Specify Body escolha: Using JSON e no campo JSON coloque os dados do body (vai conter dados do modelo, o prompt e o input):
    {
  "model": "google/gemma-3-1b",
  "system_prompt": "Você é um classificador de e-mails corporativos.\n\nSua tarefa é analisar PRIMEIRO o assunto do e-mail. Se o assunto for suficiente para classificar o setor, utilize-o. Caso contrário, utilize o conteúdo.\n\nEscolha apenas um setor:\nRH\nFINANCEIRO\nSUPORTE\nCOMPRAS\nCOMERCIAL\nOUTROS\n\nCritérios:\n\nRH\nPalavras-chave:\nLinkedIn, Glassdoor, Gupy, currículo, curriculo, vaga, emprego, hiring, career, recruiter, recrutamento, seleção, entrevista, candidato, developer.\n\nFINANCEIRO\nPalavras-chave:\nboleto, cobrança, pagamento, pix, nota fiscal, imposto, reembolso, fatura.\n\nSUPORTE\nPalavras-chave:\nerro, bug, falha, problema, sistema, acesso, chamado, suporte, manutenção.\n\nCOMPRAS\nPalavras-chave:\nfornecedor, cotação, compra, pedido, estoque, orçamento de fornecedor.\n\nCOMERCIAL\nPalavras-chave:\ncliente, proposta, contrato, venda, orçamento, negociação.\n\nOUTROS\nQualquer assunto que não pertença às categorias anteriores.\n\nPrioridade:\nALTA = pagamento urgente, cobrança, sistema parado, problema crítico.\nMEDIA = propostas, compras, orçamentos, fornecedores.\nBAIXA = vagas de emprego, newsletters, divulgação, marketing.\n\nResumo:\nEscreva no máximo 20 palavras.\n\nMotivo:\nExplique em uma frase curta qual informação levou à classificação.\n\nConfiança:\nRetorne um número inteiro de 0 a 100.\n\nRetorne SOMENTE um JSON válido exatamente neste formato:\n{\"setor\":\"\",\"prioridade\":\"\",\"confianca\":0,\"palavras_encontradas\":[],\"resumo\":\"\",\"motivo\":\"\"}\n\nNunca utilize markdown.\nNunca utilize ```.\nNunca escreva comentários.\nNunca escreva texto antes ou depois do JSON.",
  "input": "Remetente: {{$json.From}}\n\nAssunto: {{$json.Subject}}\n\nConteúdo:\n{{$json.snippet}}"
}
  1. Aí, é só clicar em Execute Step.

Os dados do output sairão crus (raw), então é importante tratá-los. Eu os tratei usando um bloco de código em javaScript, mas você pode escolher python se sentir-se mais confortável com ele. Depois desse bloco, pode-se mandar para o google sheets ou enviar email direto.

1 resposta

Olá, Paulo! Como vai?

Obrigado por trazer essas sugestões!

Vi que você apresentou uma solução prática ao explorar o uso de modelos locais para contornar limitações de quota, explicou com clareza os passos de configuração no LM Studio e ainda demonstrou como integrar o modelo ao n8n para classificação de e-mails. Essa abordagem mostra criatividade, resiliência diante de restrições e domínio técnico para adaptar ferramentas ao seu contexto.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Tratamento de saída: criar rotinas robustas para validar e formatar o JSON retornado.
  • Escalabilidade: testar modelos maiores conforme disponibilidade de hardware para melhorar resultados.
  • Automação de fluxo: integrar diretamente com planilhas ou sistemas internos para reduzir etapas manuais.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Ah uma pergunta: O que você considera mais vantajoso para evoluir esse projeto, investir em modelos locais maiores para melhorar a precisão ou focar em otimizar fluxos de integração para ganhar agilidade?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!