Jangada AIJangada AI

Groq

Provider groq. Adapter sobre o SDK groq, que fala o mesmo dialeto chat.completions da OpenAI — por isso herda de _OpenAICompatible.

pip install "jangada-ai[groq]"
  • provider=: "groq"
  • Variável de ambiente: GROQ_API_KEY
  • Diferença para a OpenAI: supports_parse_helper = False (não tem .parse() nativo).
from jangada_ai import LLM
llm = LLM("groq", "llama-3.3-70b-versatile")

O que faz

  • Texto e streaming — foco em latência muito baixa.
  • Structured output (parse): como não há helper .parse, usa response_format={"type":"json_schema",...} e valida com model_validate_json.
  • Vision (images=): suportado apenas em modelos com visão (ex.: família Llama vision). Modelos de texto puro recusam imagem.
  • Documentos (files=): extração de texto local.
  • Transcrição de áudio (transcribe): endpoint dedicado (compatível com o da OpenAI). Modelos: whisper-large-v3, whisper-large-v3-turbo (rápido).

Estrutura e quirks

  • Parâmetros: temperature, max_tokens, top_p, stop, seed. Sem top_k.
  • Mesma base da OpenAI: a tradução de mensagens, structured e áudio reaproveitam _OpenAICompatible; só mudam sdk_module/sync_class/ async_class/supports_parse_helper.
  • Resposta (Completion): igual à OpenAI (text, usage, raw).

Quando escolher Groq

Velocidade e custo de inferência baixos — ótimo para transcrição em lote (whisper-large-v3-turbo) e respostas de baixa latência. Combine como fallback ou primário com OpenAI (mesmo dialeto). Veja Transcrição de áudio e Retry e fallback.

O que mudou na 1.9.0

  • Tools nativas: nos modelos groq/compound*, web_search(), web_fetch() e code_execution() ligam as tools embutidas (compound_custom); nos openai/gpt-oss-*, web_search() vira browser_search e code_execution() vira code_interpreter. O compound não aceita function tools do usuário na mesma chamada. Veja Tools nativas.
  • Structured output: campos com default passam a constar em required no modo strict (o Groq recusava o schema), e o fallback para JSON Object mode dispara em mais mensagens de erro.

On this page