groq.md•1.77 kB
# Groq
## Install
To use `GroqModel`, you need to either install `pydantic-ai`, or install `pydantic-ai-slim` with the `groq` optional group:
```bash
pip/uv-add "pydantic-ai-slim[groq]"
```
## Configuration
To use [Groq](https://groq.com/) through their API, go to [console.groq.com/keys](https://console.groq.com/keys) and follow your nose until you find the place to generate an API key.
`GroqModelName` contains a list of available Groq models.
## Environment variable
Once you have the API key, you can set it as an environment variable:
```bash
export GROQ_API_KEY='your-api-key'
```
You can then use `GroqModel` by name:
```python
from pydantic_ai import Agent
agent = Agent('groq:llama-3.3-70b-versatile')
...
```
Or initialise the model directly with just the model name:
```python
from pydantic_ai import Agent
from pydantic_ai.models.groq import GroqModel
model = GroqModel('llama-3.3-70b-versatile')
agent = Agent(model)
...
```
## `provider` argument
You can provide a custom `Provider` via the `provider` argument:
```python
from pydantic_ai import Agent
from pydantic_ai.models.groq import GroqModel
from pydantic_ai.providers.groq import GroqProvider
model = GroqModel(
'llama-3.3-70b-versatile', provider=GroqProvider(api_key='your-api-key')
)
agent = Agent(model)
...
```
You can also customize the `GroqProvider` with a custom `httpx.AsyncHTTPClient`:
```python
from httpx import AsyncClient
from pydantic_ai import Agent
from pydantic_ai.models.groq import GroqModel
from pydantic_ai.providers.groq import GroqProvider
custom_http_client = AsyncClient(timeout=30)
model = GroqModel(
'llama-3.3-70b-versatile',
provider=GroqProvider(api_key='your-api-key', http_client=custom_http_client),
)
agent = Agent(model)
...
```