5
respostas

[Sugestão] Cansado de pagar API? Solução para a função LABS.GENERATIVEAI com custo zero

Pessoal, dica rápida: para quem usa a função LABS.GENERATIVEAI no Excel e quer zerar os custos da API do ChatGPT, recomendo testar o Groq. Fiz uma pesquisa e ele funciona perfeitamente como uma alternativa gratuita e de alta performance.

Compartilho abaixo o código VBA para quem quiser implementar.

⚠️ Atenção à configuração: No código, deixei apenas o início da Chave de API (API Key) como exemplo. Para funcionar, vocês precisam gerar a própria chave no site do Groq e completar essa parte no código.

Se usarem depois me contem se ajudou no dia a dia.

CÓDIGO V.B.A

*Function GROQ(prompt As String) As String
Dim http As Object
Dim url As String
Dim apiKey As String
Dim body As String
Dim response As String
Dim startPos As Long, endPos As Long

' ==========================================
' COLE SUA CHAVE AQUI EMBAIXO (DENTRO DAS ASPAS)
' ==========================================
apiKey = "gsk Adicione Aqui sua API KEY"
' ==========================================

' Trava de segurança para evitar erro de espaço
If InStr(apiKey, " ") > 0 Then
    GROQ = "Erro: A chave contem espaços. Apague os espaços no código VBA."
    Exit Function
End If

url = "https://api.groq.com/openai/v1/chat/completions"

Set http = CreateObject("MSXML2.XMLHTTP")

' ATUALIZADO: Usando o modelo Llama 3.3 (Mais inteligente e ATIVO)
' Se ficar lento, você pode trocar por "llama-3.1-8b-instant"
body = "{""model"": ""llama-3.3-70b-versatile"", ""messages"": [{""role"": ""user"", ""content"": """ & Replace(prompt, """", "\""") & """}]}"

On Error GoTo ErroHandler

With http
    .Open "POST", url, False
    .setRequestHeader "Content-Type", "application/json"
    .setRequestHeader "Authorization", "Bearer " & apiKey
    .send body
    response = .responseText
End With

' Verifica se a Groq devolveu erro (ex: chave errada ou modelo inexistente)
If InStr(response, "error") > 0 Then
    GROQ = "Erro da API: " & response
    Exit Function
End If

' Extrai apenas o texto da resposta (Limpeza do JSON)
startPos = InStr(response, """content"":""") + 11
If startPos > 11 Then
    endPos = InStr(startPos, response, """}")
    GROQ = Mid(response, startPos, endPos - startPos)
    
    ' Limpa caracteres especiais de formatação
    GROQ = Replace(GROQ, "\n", vbCrLf) ' Quebra de linha
    GROQ = Replace(GROQ, "\"" ", """") ' Aspas
    GROQ = Replace(GROQ, "\t", " ")    ' Tabulação
Else
    GROQ = "Erro ao ler resposta."
End If
Exit Function

ErroHandler:
GROQ = "Erro de Conexão com a Internet ou VBA."
End Function
*

5 respostas

Olá Dorival! Tudo bem?

Que dica incrível você compartilhou sobre o uso do Groq como uma alternativa gratuita para a função LABS.GENERATIVEAI no Excel!
Parabéns pela proatividade e iniciativa de ajudar outros estudantes. Continue assim :)

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

Dorival, mas precisa desse código VBA para conectar ou pelo adicionar o suplemento tbm é possível ?

Caio Santos Rosa

Para integrar o Groq no Excel, sim, geralmente requer código VBA personalizado, pois não existe um suplemento oficial pronto do Groq para substituir diretamente a função LABS.GENERATIVEAI do Excel Labs. O VBA faz chamadas à API do Groq (gratuita com limite de 30 requests/minuto), permitindo prompts semelhantes aos do ChatGPT sem custos extras.

É super simples de usar: Após colar o código VBA , salve o arquivo Excel como .xlsm e digite na célula que quiser (ex: A1): =GROQ ("referencie a volumetria de imigrantes italianos que chegaram no Brasil e em São Paulo em 1900”) – só colocar entre aspas o que você quer perguntar à IA Groq e apertar Enter! O resultado aparece na hora.

Esclarecido a duvida?

Rafaela Petelin Silvério

Olá Rafaela, tudo bem? Muito obrigado pelo retorno tão gentil e motivador!

Assim que encontrei essa alternativa na minha pesquisa, fiquei feliz com o resultado e tive imediatamente o impulso de compartilhar o conhecimento com outras pessoas, para que mais estudantes pudessem se beneficiar dessa possibilidade sem custos.

Apesar de ainda ser um iniciante nesse mundo de automação, literalmente engatinhando, acredito que mesmo pequenos aprendizados já podem fazer diferença quando são distribuídos.

Vejo essa troca como uma forma poderosa de fortalecer a comunidade e acelerar o aprendizado de todos nós

[]s.

Dorival

Muito bom dia Dorival!
Passando pra agradecer a dica, de verdade.

Guardei o código para usar mais tarde, ainda estou na fase 1 de aprendizado, mas é importante coletar as boas práticas e as dicas valiosas como essa.

Forte abraço.