Skip to content

Groq with Empryo

Groq runs open-weight models on its own LPU chips, which are built for fast responses. Groq is built into Empryo. Use it for the parts of the agent's work where speed matters most, such as search, summaries and cleanup. Save one key and all of Groq's models are available.

How you connect
API key
How you pay
Groq's own API prices

What you get

Example models

  • openai/gpt-oss-120b
  • openai/gpt-oss-20b
  • llama-3.3-70b-versatile
  • llama-3.1-8b-instant
  • qwen/qwen3-32b
  • groq/compound
  • groq/compound-mini
  • whisper-large-v3-turbo

When to use it

Groq's main strength is speed. That makes it a good fit for task-router slots that run often, such as research, web search, compaction and Genome summaries (short descriptions of symbols in Empryo's map of your repo), where you want the answer back quickly. Its lineup includes OpenAI's gpt-oss models, Llama and Qwen, and the groq/compound systems add built-in web search and code execution. The trade-off: Groq does not host closed models such as Claude, GPT or Gemini, so for the code-writing slot you will usually pair it with Anthropic, OpenAI or Google. Preview models can be removed, so use production model IDs for work you depend on.

Set it up

Groq is built into Empryo, so you don't need to write a custom provider block. Get a key at console.groq.com (keys start with gsk_), then save it:

bash
empryo --set-key groq gsk_...

The key goes to your OS keychain when one is available, with a 0600 file fallback otherwise. Confirm it landed:

bash
empryo --list-providers
empryo --list-models groq

Pick a Groq model interactively by launching Empryo and pressing Ctrl+L, or set one as the default in ~/.empryo/config.json:

json
{
  "defaultModel": "groq/openai/gpt-oss-120b"
}

Run a one-off from the terminal with --model:

bash
empryo --headless --model groq/llama-3.3-70b-versatile "summarize the auth module"

Where Groq shines: the task routerLink to this section

Empryo lets you assign a different model to each slot of the agent loop. Groq's speed is most valuable on the high-frequency background slots, so you can keep a frontier model for code writing and hand the fast, cheap work to Groq:

json
{
  "defaultModel": "anthropic/claude-sonnet-4-5",
  "taskRouter": {
    "spark":     "groq/llama-3.3-70b-versatile",
    "webSearch": "groq/llama-3.1-8b-instant",
    "compact":   "groq/openai/gpt-oss-20b",
    "semantic":  "groq/llama-3.1-8b-instant",
    "verify":    "groq/openai/gpt-oss-120b"
  }
}

spark runs read-only research agents, webSearch powers the search agent, compact handles context compaction, semantic writes the Genome's one-line summaries, and verify runs the adversarial review pass. These fire constantly, and Groq's throughput keeps them from being the bottleneck. Tune the rest with /router inside the TUI.

Per-launch keyLink to this section

For CI or one-off sessions, pass the key as an env var instead of storing it:

bash
GROQ_API_KEY=gsk_... empryo

Nothing is persisted. If a shell-exported key keeps shadowing a stored one, set "keyPriority": "app" in config to prefer the keychain.

Keys or subscriptions

Groq connects the way marked below. You can mix ways across task-router slots.

  • API keyGroqPaste a key once. Empryo keeps it in your system keychain, and you pay the provider for what you use.
  • Sign inApprove Empryo in your browser and use a plan or credits you already have. There is no key to copy.
  • On your machineRun open models on your own computer. No key, no per-token bill, and nothing has to leave your machine.
  • Any compatible APIOne block of JSON config turns any OpenAI-compatible endpoint into a provider, including your own server.