> ## Documentation Index
> Fetch the complete documentation index at: https://docs.radium.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Agno

> Lightweight agents with OpenAILike

<Error>
  This page contains an unverified test date marked in <span style="color:red">red</span>. Needs verification (Vijay, Adam, Alex, Product/Legal).
</Error>

# Agno

Agno's `OpenAILike` model is designed for OpenAI-compatible APIs. Configure it with Radium's endpoint and use it with normal Agno agents.

## Before you start

You need Python 3.10 or newer, a Radium API key, and a terminal or PowerShell window.

## 1. Create a project and install Agno

<CodeGroup>
  ```bash macOS or Linux theme={null}
  mkdir radium-agno && cd radium-agno
  python3 -m venv .venv
  source .venv/bin/activate
  python -m pip install agno openai
  ```

  ```powershell Windows PowerShell theme={null}
  mkdir radium-agno; cd radium-agno
  py -m venv .venv
  .venv\Scripts\Activate.ps1
  python -m pip install agno openai
  ```
</CodeGroup>

## 2. Set your Radium credentials

<CodeGroup>
  ```bash macOS or Linux theme={null}
  export RADIUM_API_KEY="your-radium-api-key"
  export RADIUM_MODEL="hal-1.0"
  ```

  ```powershell Windows PowerShell theme={null}
  $env:RADIUM_API_KEY = "your-radium-api-key"
  $env:RADIUM_MODEL = "hal-1.0"
  ```
</CodeGroup>

## 3. Create main.py

```python theme={null}
import os
from agno.agent import Agent
from agno.models.openai.like import OpenAILike

api_key = os.getenv("RADIUM_API_KEY")
if not api_key:
    raise SystemExit("Set RADIUM_API_KEY before running this program.")

agent = Agent(
    model=OpenAILike(
        id=os.getenv("RADIUM_MODEL", "hal-1.0"),
        api_key=api_key,
        base_url="https://api.radium.cloud/v1",
        max_tokens=512,
        temperature=0,
        timeout=90,
    ),
    instructions="Follow the user's instruction exactly.",
)

result = agent.run("Reply with exactly: Radium connected.", stream=False)
if not result.content or not str(result.content).strip():
    raise RuntimeError("Radium returned no visible text.")
print(f"RADIUM_RESPONSE: {str(result.content).strip()}")
```

## 4. Run it

```bash theme={null}
python main.py
```

Expected output:

```
RADIUM_RESPONSE: Radium connected.
```

## Choose a model

```bash theme={null}
export RADIUM_MODEL="clarke-1.0"  # or hal-1.0 or tycho-1.0
python main.py
```

## Migrate an existing Agno agent

Replace its current model:

```python theme={null}
model = OpenAILike(
    id="hal-1.0",
    api_key=os.environ["RADIUM_API_KEY"],
    base_url="https://api.radium.cloud/v1",
    max_tokens=512,
)
agent = Agent(model=model)
```

Your agent instructions, knowledge sources, storage, and tools can remain unchanged. External tools keep their own dependencies and credentials.

## Troubleshooting

| Problem | Fix |
| - | - |
| Authentication errors | Verify the key in the active terminal |
| `404` | Check the endpoint and exact model ID |
| Import errors | Install both pinned packages inside the active virtual environment |
| Tool errors | Validate each tool's own credentials separately from the Radium connection |

## Validation

<Check>
  These instructions were verified with Python 3.12.7, `agno==2.9.0`, and `openai==2.54.0` on <span style="color:red">August 20, 2026</span>. You do not need those exact package versions.
</Check>

Text generation and callable-tool execution passed with `hal-1.0`, `clarke-1.0`, and `tycho-1.0`.

## Next steps

<CardGroup cols={2}>
  <Card title="API quickstart" icon="bolt" href="/quickstart">Call Radium directly</Card>
  <Card title="Tool calling" icon="wrench" href="/core-concepts/tool-calling">The tool\_use and tool\_result contract</Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.