MCPcopy Index your code
hub / github.com/amd/gaia

github.com/amd/gaia @v0.21.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.21.2 ↗ · + Follow
18,417 symbols 66,932 edges 1,121 files 9,837 documented · 53%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

GAIA Logo GAIA: AI Agent Framework for AMD Ryzen AI

GAIA CLI Tests Latest Release PyPI GitHub downloads OS - Windows OS - Linux Python 3.10+ License: MIT Discord

GAIA is AMD's open-source framework for building intelligent AI agents that run 100% locally on AMD Ryzen AI hardware. Keep your data private, eliminate cloud costs, and deploy in air-gapped environments—all with hardware-accelerated performance.

Get Started →


Download

Download for Windows Download for macOS Download for Linux

See the installation guide for setup instructions.


Why GAIA?

Feature Description
100% Local All data stays on your machine—perfect for sensitive workloads and air-gapped deployments
Zero Cloud Costs No API fees, no usage limits, no subscriptions—unlimited AI at no extra cost
Privacy-First HIPAA-compliant, GDPR-friendly—ideal for healthcare, finance, and enterprise
Ryzen AI Optimized Hardware-accelerated inference using NPU + iGPU on AMD Ryzen AI processors

Build Your First Agent

from gaia.agents.base.agent import Agent
from gaia.agents.base.tools import tool

class MyAgent(Agent):
    """A simple agent with custom tools."""

    def _get_system_prompt(self) -> str:
        return "You are a helpful assistant."

    def _register_tools(self):
        @tool
        def get_weather(city: str) -> dict:
            """Get weather for a city."""
            return {"city": city, "temperature": 72, "conditions": "Sunny"}

agent = MyAgent()
result = agent.process_query("What's the weather in Austin?")
print(result)

See the full quickstart guide →


Key Capabilities

  • Agent Framework — Base class with tool orchestration, state management, and error recovery
  • Agent UI — Privacy-first desktop app with chat, file browser, document indexing, and tool execution
  • RAG System — Document indexing and semantic search for Q&A over 50+ file formats
  • Voice Integration — Whisper ASR + Kokoro TTS for speech interaction (P0 enabling technology)
  • Vision Models — Extract text from images with Qwen3-VL-4B
  • MCP Integration — Connect to any MCP server for external tool access
  • Plugin System — Distribute agents via PyPI with auto-discovery

C++ Framework

A C++17 port of the GAIA base agent framework is available under cpp/. It implements the same agent loop, tool registry, and MCP client interface without any Python dependency — suitable for embedding in native applications or resource-constrained environments.

#include <gaia/agent.h>

class MyAgent : public gaia::Agent {
protected:
    std::string getSystemPrompt() const override {
        return "You are a helpful assistant.";
    }
};

C++ build and usage instructions →


Quick Install

pip install amd-gaia

For complete setup instructions including Lemonade Server, see the Quickstart Guide.


System Requirements

Requirement Minimum Recommended
Processor AMD Ryzen AI 300-series AMD Ryzen AI Max+ 395
OS Windows 11, Linux -
RAM 16GB 64GB

Documentation

  • Quickstart — Build your first agent in 10 minutes
  • SDK Reference — Complete API documentation
  • Guides — Chat, Voice, RAG, and more
  • FAQ — Frequently asked questions

Releases

See the full Release Notes on the documentation site, or browse GitHub Releases.

Release Process

To publish a new release (e.g. v0.17.0), create a release PR that updates these 3 files:

# File What to change
1 src/gaia/version.py Set __version__ = "0.17.0"
2 docs/releases/v0.17.0.mdx Create release notes (see format guide)
3 docs/docs.json (a) Add "releases/v0.17.0" to the Releases tab pages array, (b) update the navbar label to "v0.17.0 · Lemonade X.Y.Z"

Then merge and tag:

git tag v0.17.0 && git push origin v0.17.0

CI validates all three files are consistent with the tag before publishing to GitHub Releases and PyPI.


Contributing

We welcome contributions! See our Contributing Guide for details.

  • Build agents in your own repository using GAIA as a dependency
  • Improve the framework — check GitHub Issues for open tasks
  • Add documentation — examples, tutorials, and guides

Contact


License

MIT License

Copyright(C) 2024-2026 Advanced Micro Devices, Inc. All rights reserved. SPDX-License-Identifier: MIT

Extension points exported contracts — how you extend this code

AgentClient (Interface)
AgentClient is the interface for communicating with an agent backend. Both subprocess (JSONL) and API (SSE) modes implem [1 …
tui/internal/client/client.go
IndexResult (Interface)
Result of indexing and attaching files to a session.
src/gaia/apps/webui/src/components/FileBrowser.tsx
StoredObject (Interface)
* An in-memory R2 bucket faithful to the subset of the R2Bucket API the Worker * uses (get/put/head/delete/list with pr
workers/agent-hub/test/fake-r2.ts
BinaryLockEntry (Interface)
(no doc)
hub/agents/npm/agent-email/src/platform.ts
OpenAIToolCall (Interface)
(no doc)
src/vscode/gaia/src/types.ts
AgentRequirements (Interface)
(no doc)
website/src/data/catalog.ts
Session (Interface)
(no doc)
src/gaia/apps/webui/src/types/index.ts
RawPublisher (Interface)
(no doc)
workers/agent-hub/src/auth.ts

Core symbols most depended-on inside this repo

get
called by 1315
src/gaia/web/client.py
get
called by 1084
hub/agents/npm/agent-email/src/client.ts
info
called by 801
hub/agents/npm/agent-email/src/logger.ts
debug
called by 717
hub/agents/npm/agent-email/src/logger.ts
error
called by 691
hub/agents/npm/agent-email/src/logger.ts
get
called by 653
src/gaia/agents/registry.py
exists
called by 611
cpp/src/session.cpp
post
called by 531
src/gaia/web/client.py

Shape

Method 10,719
Function 4,525
Class 2,465
Route 467
Interface 188
Struct 37
Enum 10
TypeAlias 6

Languages

Python87%
TypeScript8%
C++4%
Go1%

Modules by API surface

tests/unit/test_memory_store.py388 symbols
tests/unit/test_memory_mixin.py261 symbols
tests/unit/chat/ui/test_sse_handler.py245 symbols
tests/test_sdk.py226 symbols
tests/unit/test_filesystem_tools_mixin.py209 symbols
tests/test_eval.py176 symbols
tests/unit/chat/ui/test_server.py157 symbols
tests/unit/test_memory_router.py150 symbols
tests/integration/test_chat_ui_integration.py150 symbols
tests/unit/test_init_command.py147 symbols
src/gaia/agents/base/console.py142 symbols
tests/test_api.py128 symbols

For agents

$ claude mcp add gaia \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact