How to run Atomic Agents with a self-hosted model on a cloud GPU

Rent a GPU on Deploy, then open a terminal in JupyterLab or over SSH. Install Atomic Agents with the pip install atomic-agents line the README prints, serve an ungated open-weight model on that machine, and pass the quickstart file’s Ollama client into AgentConfig. Copy response.chat_message before you destroy the instance, because destroying the instance deletes its disk.

An agent can rent the GPU and run this library against a model served on it. The agent pages are GPU compute for AI agents and the agent integration guide. Those pages are how an agent discovers a GPU and runs work on it. This page is the Atomic Agents install. A general vLLM install is How to serve an OpenAI-compatible API with vLLM on a cloud GPU. A general SGLang install is How to run SGLang on a cloud GPU. Ollama’s install and port 11434 are How to run Ollama on a cloud GPU. An OpenAI-compatible engine whose CUDA 12 container tag is localai/localai:latest-gpu-nvidia-cuda-12 is How to run LocalAI on a cloud GPU. A gateway whose README prints uv tool install 'litellm[proxy]' is How to run LiteLLM Proxy in front of a self-hosted model on a cloud GPU. CloudGPU’s hosted gateway is a different base URL: How do I use an OpenAI-compatible API for open models?. How published weight sizes are read: How much VRAM do I need to run an LLM?. An agent whose Ollama page sets llm to an ollama/ tag, and whose default base URL text is http://localhost:11434/v1, is How to run PraisonAI agents with a self-hosted model on a cloud GPU. An agent whose OllamaPromptDriver sets model to llama3.1, and whose OpenAiChatPromptDriver example sets base_url to http://127.0.0.1:1234/v1, is How to run Griptape agents with a self-hosted model on a cloud GPU. The tunnel is How to use SSH port forwarding on a cloud GPU. If the process runs out of memory: How to fix CUDA out of memory on a cloud GPU. If the process raises no kernel image on an RTX 5090: How to fix CUDA no kernel image on an RTX 5090.

The LICENSE file begins with “MIT License”, and its copyright line is “Copyright © 2024 Kenny Vaneetvelde”.

The commands below are copied from the README and from atomic-examples/quickstart/quickstart/4_basic_chatbot_different_providers.py at commit 6a5e19e4a09ac30f96d75c5937bb44d0643b9f2f, except the model tag marked as substituted and the pull line marked as added. They were not run on a CloudGPU instance for this page. That file also has other provider branches. This page does not copy them. The README quick example constructs a client with no base_url. This page does not use that constructor.

What the docs print about memory

The README and the quickstart file print no GPU GB figure. This page does not mark a catalog row as enough.

GET /v1/public/compute-capabilities does not list GPUs. It returns feature flags. The memory column is vram_gb from GET /v1/public/gpu-catalog (generated_at 2026-11-14T23:15:10.977Z). The catalog response also includes an availability field and a price field. This page does not copy them. Every catalog row below has min_gpu_count 1. Which listing you can start is on Deploy.

The catalog template list had no Atomic Agents template. It did have Ollama templates (jupyterlab-ollama, ollama-qwen3, ollama). Those templates are a different install. This page does not treat them as Atomic Agents.

Catalog name vram_gb
RTX 2080 8
RTX 3080 10
RTX 2080 Ti 11
RTX 3080 Ti 12
V100 16G 16
A30 24
RTX 3090 24
RTX 4090 24
RTX 4090D 24
RTX 4080 SUPER 32G 32
RTX 5090 32
RTX 5090D 32
V100 32G 32
A100 40G 40
A800 40G 40
A40 48
RTX 4090 48G 48
RTX 4090D 48G 48
RTX A6000 48
Ascend 910B 64
NVIDIA RTX PRO 5000 72G 72
RTX PRO 5000 72G 72
A100 80G 80
A800 80G 80
H800 80
RTX 6000D 83
H20 96G 96
RTX PRO 6000 96G 96
RTX PRO 6000 Max-Q 96
H20-3e 141G 141

Install

https://github.com/BrainBlend-AI/atomic-agents responded with HTTP 301 to https://github.com/Eigenwise/atomic-agents on 2026-11-14. The README install block at commit 6a5e19e4a09ac30f96d75c5937bb44d0643b9f2f (committed 2026-11-14T14:13:12Z), copied:

pip install atomic-agents

The README then prints provider extras for other clients. This page does not copy those extras. pyproject.toml on that commit says version = "2.16.0", license = "MIT", requires-python = ">=3.12", and instructor>=1.17.0,<2. The quickstart pyproject.toml depends on atomic-agents, openai>=2.0.0,<3.0.0, python-dotenv>=1.0.1,<2.0.0, and an instructor extra list this page does not copy. It sets requires-python = ">=3.12". PyPI atomic-agents info.version on 2026-11-14 was 2.16.0, requires_python >=3.12, uploaded 2026-11-14T14:14:09.208801Z. The PyPI license field was empty. PyPI instructor 1.17.0, the version named by the lower bound, lists openai in requires_dist and was uploaded 2026-09-09T02:25:54.888746Z. The GitHub license field on 2026-11-14 was MIT. pushed_at was 2026-11-14T14:14:22Z. This page did not install the package.

Point the Ollama branch at the GPU server

The file atomic-examples/quickstart/quickstart/4_basic_chatbot_different_providers.py imports OpenAI as OllamaClient in the Ollama branch. The constructor and the instructor call, copied:

import instructor
from openai import OpenAI as OllamaClient

client = instructor.from_openai(
    OllamaClient(base_url="http://localhost:11434/v1", api_key="ollama"),
    mode=instructor.Mode.JSON,
)

OllamaClient is the OpenAI class. base_url is http://localhost:11434/v1. api_key is the literal "ollama" that branch prints. The same branch sets model = "llama3", model_api_parameters = {"max_tokens": 2048}, and assistant_role = "assistant". llama3 is the tag in the file. This page substitutes llama3.1:8b. That tag is not printed in the file. Other guides on this site already use it, including the Agno guide’s Ollama example. The file does not name a Qwen tag. 2048 in max_tokens is the token parameter the file prints. It is not a GPU GB figure.

The file does not print ollama pull. The line below is added on this page so the substituted tag is present on the server. This page did not run it. How to run Ollama on a cloud GPU is the Ollama install. That server stays on the rented GPU.

# Added on this page. The quickstart file does not print a pull line.
ollama pull llama3.1:8b

The same base_url argument is how this client points at an OpenAI-compatible server. The file’s local branch prints http://localhost:11434/v1 and does not print a vLLM port. How to serve an OpenAI-compatible API with vLLM on a cloud GPU is a different server. The quickstart file does not print an SSH command. For a server you start on the instance, the tunnel is How to use SSH port forwarding on a cloud GPU.

AtomicAgent

The file builds AtomicAgent from AgentConfig. The history and the constructor, with the substituted model, copied from that file:

from atomic_agents import AtomicAgent, AgentConfig, BasicChatInputSchema, BasicChatOutputSchema
from atomic_agents.context import ChatHistory

history = ChatHistory()
model = "llama3.1:8b"
model_api_parameters = {"max_tokens": 2048}
assistant_role = "assistant"

initial_message = BasicChatOutputSchema(chat_message="Hello! How can I assist you today?")
history.add_message(assistant_role, initial_message)

agent = AtomicAgent[BasicChatInputSchema, BasicChatOutputSchema](
    config=AgentConfig(
        client=client,
        model=model,
        history=history,
        assistant_role=assistant_role,
        model_api_parameters=model_api_parameters,
    )
)

client is the instructor client from the Ollama branch. The file then calls agent.run with BasicChatInputSchema(chat_message=user_input) inside a loop that stops when the input is /exit or /quit. The call the file prints:

response = agent.run(BasicChatInputSchema(chat_message=user_input))

response.chat_message is the field the file prints. This page did not run agent.run. The file’s other branches are not copied.

When it fails

CUDA out of memory. The README and the quickstart file print no GPU GB figure. If the server process raises CUDA out of memory, use how to fix CUDA out of memory on a cloud GPU. This page does not pick a smaller model id for you.

“CUDA error: no kernel image is available for execution on the device” on an RTX 5090. The README and pyproject.toml do not name compute capability 12.0. The RTX 5090 guide says that card is compute capability 12.0 (sm_120) and that PyTorch 2.7 and later, on a build for CUDA 12.8 or newer, is the line that announced support. This page did not install a torch wheel and did not re-test this library on an RTX 5090. Catalog RTX 5090 and RTX 5090D are 32. That is the catalog number only.

What to copy off, then destroy

response.chat_message is the field the quickstart file prints. Copy it before you destroy the instance. Save your work before you destroy a cloud GPU is the checklist. The terms say data on local instance storage is permanently deleted when the instance is destroyed.

The pricing page FAQ states the billing rule in these words:

Per-minute options have a 1-minute minimum; unused prepaid minutes are refunded when you destroy the instance. Some configurations use whole-hour billing with a 1-hour minimum; unused time within a charged hour is not refunded on voluntary stop. The billing period, minimum charge and initial prepayment are shown before confirmation. No subscription.

Prices are not copied here.

Frequently asked questions

What memory figure do the Atomic Agents docs print?

The README and the quickstart file print no GPU GB figure. This page does not mark a catalog row as enough. Which listing you can start is on https://cloudgpu.app/deploy.

Which install line does the README print?

The README prints pip install atomic-agents. pyproject.toml on commit 6a5e19e4a09ac30f96d75c5937bb44d0643b9f2f says version 2.16.0, license MIT, and requires-python 3.12 or newer. The quickstart pyproject depends on openai 2.0.0 or newer and below 3.0.0. PyPI info.version on 2026-11-14 was 2.16.0, requires_python 3.12 or newer, uploaded 2026-11-14T14:14:09.208801Z. The PyPI license field was empty. This page did not install the package.

How does the Ollama branch point at a server on the GPU?

The quickstart file imports OpenAI as OllamaClient and calls instructor.from_openai with base_url http://localhost:11434/v1, api_key set to the literal ollama, and mode instructor.Mode.JSON. That client is passed to AgentConfig. The file sets model to llama3. This page substitutes llama3.1:8b. The file does not print that tag, and it does not print a Qwen tag. max_tokens in that branch is 2048. The file does not print an SSH command. This page does not copy the other provider branches in that file.

What license does the file print?

The LICENSE file begins with MIT License, and its copyright line names Kenny Vaneetvelde, 2024. The GitHub license field on 2026-11-14 was MIT. pyproject.toml sets license to MIT. The PyPI license field for atomic-agents 2.16.0 was empty.

Sources (read 2026-11-14)

  • atomic-examples/quickstart/quickstart/4_basic_chatbot_different_providers.py at commit 6a5e19e4a09ac30f96d75c5937bb44d0643b9f2f: https://github.com/BrainBlend-AI/atomic-agents/blob/6a5e19e4a09ac30f96d75c5937bb44d0643b9f2f/atomic-examples/quickstart/quickstart/4_basic_chatbot_different_providers.py . Ollama branch from openai import OpenAI as OllamaClient, instructor.from_openai(OllamaClient(base_url="http://localhost:11434/v1", api_key="ollama"), mode=instructor.Mode.JSON), model = "llama3", max_tokens 2048, AtomicAgent and AgentConfig, agent.run(BasicChatInputSchema(chat_message=user_input)). This page substitutes llama3.1:8b. The other provider branches are not copied. ollama pull is added on this page and was not run
  • BrainBlend-AI/atomic-agents README at that commit. pip install atomic-agents. The provider-extra lines and the quick example that constructs a client with no base_url are not copied. HTTP 301 from https://github.com/BrainBlend-AI/atomic-agents to https://github.com/Eigenwise/atomic-agents on 2026-11-14. Commit committed 2026-11-14T14:13:12Z. pyproject.toml version 2.16.0, license MIT, requires-python >=3.12, instructor>=1.17.0,<2. Quickstart pyproject.toml depends on openai>=2.0.0,<3.0.0. GitHub license field MIT. pushed_at 2026-11-14T14:14:22Z. PyPI atomic-agents 2.16.0, uploaded 2026-11-14T14:14:09.208801Z, requires_python >=3.12, license field empty. PyPI instructor 1.17.0 uploaded 2026-09-09T02:25:54.888746Z
  • Public GPU memory: https://cloudgpu.app/v1/public/gpu-catalog (generated_at 2026-11-14T23:15:10.977Z). GET /v1/public/compute-capabilities returned feature flags and no GPU list. The catalog had no Atomic Agents template

Cards you can start are on the Deploy page. Prices are on https://cloudgpu.app/pricing and are not repeated here.

Last updated: 2026-11-14.