LiveKit docs › Partner spotlight › Groq › Groq LLM

---

# Groq LLM plugin guide

> How to use the Groq LLM plugin for LiveKit Agents.

Available in:
- [x] Node.js
- [x] Python

- **[Try out Groq Talk](https://groq.livekit.io/)**: See our voice assistant playground using Groq STT, LLM, and TTS

## Overview

This plugin allows you to use [Groq](https://groq.com/) as an LLM provider for your voice agents. Groq compatibility for Node.js is provided by the OpenAI plugin using the Groq Chat Completions API.

> 💡 **LiveKit Inference**
> 
> Some Groq models are also available in LiveKit Inference, with billing and integration handled automatically. See [the docs](https://docs.livekit.io/agents/models/llm.md) for more information.

### Installation

Install the plugin:

**Python**:

```shell
uv add "livekit-agents[groq]~=1.5"

```

---

**Node.js**:

```shell
pnpm add @livekit/agents-plugin-openai@1.x

```

### Authentication

The Groq plugin requires a [Groq API key](https://console.groq.com/keys).

Set `GROQ_API_KEY` in your `.env` file.

### Usage

Use a Groq LLM in your `AgentSession` or as a standalone LLM service. For example, you can use this LLM in the [Voice AI quickstart](https://docs.livekit.io/agents/start/voice-ai.md).

**Python**:

```python
from livekit.plugins import groq

session = AgentSession(
    llm=groq.LLM(
        model="llama3-8b-8192"
    ),
    # ... tts, stt, vad, turn_handling, etc.
)

```

---

**Node.js**:

```typescript
import * as openai from '@livekit/agents-plugin-openai';

const session = new voice.AgentSession({
    llm: openai.LLM.withGroq({
        model: "llama3-8b-8192"
    }),
    // ... tts, stt, vad, turnHandling, etc.
});

```

### Parameters

This section describes some of the available parameters. For a complete reference of all available parameters, see the [plugin reference](https://docs.livekit.io/reference/python/livekit/plugins/groq/services.html.md#livekit.plugins.groq.services.LLM).

- **`model`** _(string)_ (optional) - Default: `llama-3.3-70b-versatile`: Name of the LLM model to use. For all options, see the [Groq model list](https://console.groq.com/docs/models).

- **`temperature`** _(float)_ (optional) - Default: `1.0`: Sampling temperature that controls the randomness of the model's output. Higher values make the output more random, while lower values make it more focused and deterministic. Range of valid values can vary by model.

- **`parallel_tool_calls`** _(bool)_ (optional): Controls whether the model can make multiple tool calls in parallel. When enabled, the model can make multiple tool calls simultaneously, which can improve performance for complex tasks.

- **`tool_choice`** _(ToolChoice | Literal['auto', 'required', 'none'])_ (optional) - Default: `auto`: Controls how the model uses tools. String options are as follows:

- `'auto'`: Let the model decide.
- `'required'`: Force tool usage.
- `'none'`: Disable tool usage.

## Additional resources

The following resources provide more information about using Groq with LiveKit Agents.

- **[Groq docs](https://console.groq.com/docs/overview)**: Groq's official API documentation.

- **[Voice AI quickstart](https://docs.livekit.io/agents/start/voice-ai.md)**: Get started with LiveKit Agents and Groq.

- **[Groq ecosystem overview](https://docs.livekit.io/agents/integrations/groq.md)**: Overview of the entire Groq and LiveKit Agents integration.

---

This document was rendered at 2026-06-07T11:35:48.629Z.
For the latest version of this document, see [https://docs.livekit.io/agents/models/llm/groq.md](https://docs.livekit.io/agents/models/llm/groq.md).

To explore all LiveKit documentation, see [llms.txt](https://docs.livekit.io/llms.txt).