1
resposta

GROQ

Não consigo executar o código embora tenha seguido as orientações da aula, segue:
Código:
os.environ["GROQ_API_KEY"] = userdata.get('Groq_API_Key')
from groq import Groq

client_groq = Groq()

completion = client_groq.chat.completions.create(
model="openai/gpt-oss-20b",
messages=[
{
"role": "user",
"content": "Sol?"
}
],
temperature=1, #0 - o menos criativo possível; 2 - o mais criativo possível
max_completion_tokens=8192,
reasoning_effort="medium",
stream=True,
stop=None
)

for chunk in completion:
print(chunk.choices[0].delta.content or "", end="")

Erro:

APIStatusError                            Traceback (most recent call last)

/tmp/ipykernel_12939/2985880680.py in <cell line: 0>()
4 client_groq = Groq()
5
----> 6 completion = client_groq.chat.completions.create(
7 model="openai/gpt-oss-20b",
8 messages=[

2 frames
/usr/local/lib/python3.12/dist-packages/groq/_base_client.py in request(self, cast_to, options, stream, stream_cls)
1065
1066 log.debug("Re-raising status error")
-> 1067 raise self._make_status_error_from_response(err.response) from None
1068
1069 break

APIStatusError: Error code: 413 - {'error': {'message': 'Request too large for model openai/gpt-oss-20b in organization org_01kpb3ys7we478zmn93974zd49 service tier on_demand on tokens per minute (TPM): Limit 8000, Requested 8265, please reduce your message size and try again. Need more tokens? Upgrade to Dev Tier today at https://console.groq.com/settings/billing', 'type': 'tokens', 'code': 'rate_limit_exceeded'}}

1 resposta

Olá! Tudo bem?

O erro que você recebeu foi o:

APIStatusError: Error code: 413 Mensagem: Request too large for model ... on tokens per minute (TPM): Limit 8000, Requested 8265

Por que isso aconteceu?

A Groq permite 8.000 tokens por minuto para esse modelo (openai/gpt-oss-20b), mas a sua requisição solicitou 8.265. O culpado principal é o parâmetro max_completion_tokens=8192. Quando você define esse valor, o sistema "reserva" essa capacidade para a sua resposta, o que já estoura o seu limite de 8.000 antes mesmo de começar.

É possível que no momento da gravação esse limite era maior.

Como ajustar o código:

Para resolver e manter o código o mais próximo possível da aula, basta reduzir o valor de max_completion_tokens para um número abaixo do seu limite de 8.000.

No código abaixo utilizei 7000:

Python
os.environ["GROQ_API_KEY"] = userdata.get('Groq_API_Key')
from groq import Groq

client_groq = Groq()

completion = client_groq.chat.completions.create(
    model="openai/gpt-oss-20b",
    messages=[
        {
            "role": "user",
            "content": "Sol?"
        }
    ],
    temperature=1,
    # Ajustado de 8192 para 7000 para não estourar o limite de 8000 da conta
    max_completion_tokens=7000, 
    stream=True,
    stop=None
)

for chunk in completion:
    print(chunk.choices[0].delta.content or "", end="")

Dica alternativa:

Você pode também testar outros modelos, como o llama-3.3-70b-versatile, que possui um limite maior (12.000). Neste caso, você não precisaria ajustar o max_completion_tokens.

Abaixo deixo um link com outros possíveis modelos e seus respectivos limites.

Para saber mais:
DOCUMENTAÇÃO
Rate Limits

O link está em inglês, mas você poderá utilizar a tradução automática do navegador

Me conta: após fazer uma das soluções acima, você conseguiu prosseguir com o projeto?

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!