Releases: amd/gaia
v0.15.3.2
What's Changed
- Fix missing packages, broken entry points, and add packaging CI tests (#309) (1d75142)
- Revert "Add stx-test to runner pool for testing new runners" (#307) (a5f653c)
- Add stx-test to runner pool for testing new runners (#306) (e4cb967)
- Added release notes for v0.15.3.1 patch (#304) (c734837)
Installation
Install GAIA using pip:
pip install amd-gaiaOr using uv:
uv pip install amd-gaiav0.15.3.1
GAIA v0.15.3.1 Release Notes
Patch release with Linux installation improvements and minimal profile optimization.
🎯 Key Changes
Minimal Profile Optimization
- Smaller, faster setup: Minimal profile now uses
Qwen3-0.6B-GGUF(400 MB) instead of 4B model (2.5 GB) - 6x smaller download for quick starts and testing
- Updated all documentation to reflect new size
Linux Installation Improvements
- Reliable apt install: Runs
apt updatebefore install to prevent 404 errors from stale package cache - Cleaner help output:
gaia init -hnow shows only relevant options (removed global parameters like--use-claude,--model,--trace) - Better error UX: Incomplete model downloads now suggest using
--force-modelsflag to redownload from scratch
Code Quality & Cleanup
- Simplified Linux version check function (34 lines vs 51 lines, -33%)
- Removed unnecessary PATH manipulation on Linux
- Removed debugging code from dpkg installation
- Fixed Pylint errors in lemonade_installer.py
📦 Installation
pip install --upgrade amd-gaiaLinux users (avoid large CUDA dependencies):
pip install --upgrade amd-gaia --extra-index-url https://download.pytorch.org/whl/cpu🐛 Bug Fixes
- Fixed apt 404 errors on Linux by updating package cache before install
- Fixed conditional logging level setup to support commands without parent_parser
📝 Full Changelog
See PR #302 for complete details.
v0.15.3
GAIA v0.15.3 Release Notes
Overview
This release introduces Stable Diffusion image generation with the new SD Agent, multi-step workflow parameter passing, and composable system prompts architecture. Includes Lemonade 9.2.0 support, comprehensive playbook, and enhanced agent reliability.
TL;DR:
- New: SD Agent - Multi-modal image generation + story creation
- New: SDToolsMixin & VLMToolsMixin - Add image/vision capabilities to any agent
- Fixed: Multi-step workflows - Agents pass results between steps automatically
- Improved: Agent reliability - Smarter loop detection, 16K context
What's New
SD Agent: Multi-Modal Image Generation
New agent demonstrating how to combine image generation with vision analysis for creative workflows. Shows developers how to build multi-modal applications using GAIA's mixin pattern.
gaia init --profile sd
gaia sd "create a robot exploring ancient ruins"
# LLM enhances prompt → SD generates image (17s) → VLM creates story (15s)What you get:
- 4 SD Models: SDXL-Base-1.0 (photorealistic), SDXL-Turbo (fast), SD-1.5, SD-Turbo
- LLM-Enhanced Prompts: Research-backed keyword strategies automatically applied
- Vision Analysis: Image descriptions and Q&A using Vision LLM
- Story Creation: Creative narratives generated from images
- Story Persistence: Stories saved as
.txtfiles alongside images - Random Seeds: Each generation unique by default (specify seed for reproducibility)
Performance (AMD Ryzen AI):
- Image generation: ~17s (SDXL-Turbo, 512x512)
- Story creation: ~15s (Qwen3-VL-4B)
- Total workflow: ~35s
Why this helps: Build creative AI applications (content generation, game assets, storyboarding) without cloud dependencies. Learn multi-modal agent composition in working code.
Example implementation:
from gaia.agents.base import Agent
from gaia.sd import SDToolsMixin
from gaia.vlm import VLMToolsMixin
class ImageStoryAgent(Agent, SDToolsMixin, VLMToolsMixin):
def __init__(self):
super().__init__(model_id="Qwen3-8B-GGUF")
self.init_sd(default_model="SDXL-Turbo") # 3 SD tools
self.init_vlm() # 2 VLM toolsSee SD Agent Playbook for complete tutorial, and SD User Guide for CLI reference.
SDToolsMixin: Stable Diffusion SDK
New mixin for adding image generation to any agent.
How it helps: Add professional image generation to any agent in 3 lines. Auto-configures optimal settings per model.
Features:
- 4 Models Supported: SDXL-Base-1.0, SDXL-Turbo, SD-1.5, SD-Turbo
- 3 Auto-registered Tools:
generate_image(),list_sd_models(),get_generation_history() - Model-Specific Defaults: Automatic size, steps, CFG scale per model (e.g., SDXL-Turbo: 512x512, 4 steps, CFG 1.0)
- Session Tracking: Generation history maintained in
self.sd_generationslist - Composable Prompts:
get_sd_system_prompt()provides research-backed prompt engineering per model
Usage:
class ImageAgent(Agent, SDToolsMixin):
def __init__(self):
super().__init__()
self.init_sd(default_model="SDXL-Turbo")
# 3 tools auto-registered, ready to useVLMToolsMixin: Vision Language Model SDK
New mixin for adding vision capabilities to any agent.
How it helps: Enable agents to understand and analyze images. Access vision client for building custom vision-based tools.
Features:
- 2 Auto-registered Tools:
analyze_image(),answer_question_about_image() - Multi-Model Support: Qwen3-VL-4B, Qwen2.5-VL-7B, and other vision models
- Client Access:
self.vlm_client.extract_from_image()for building custom tools - Composable Prompts:
get_vlm_system_prompt()provides usage guidelines
Usage:
class VisionAgent(Agent, VLMToolsMixin):
def __init__(self):
super().__init__()
self.init_vlm(model="Qwen3-VL-4B-Instruct-GGUF")
# 2 tools auto-registered: analyze_image, answer_question_about_imageDesign note: create_story_from_image implemented as custom tool in SDAgent (not in VLMToolsMixin) to demonstrate building specialized tools using self.vlm_client. Encourages custom tool development over bloating mixins with every use case.
Multi-Step Workflow Parameter Passing
Framework improvement enabling agents to pass results between steps automatically.
How it helps: Build complex workflows (data fetch → process → analyze → store) without manual result passing. Works for all agents, not just SD Agent.
Problem: Multi-step workflows failed because agents couldn't reference previous outputs. Resulted in "Image not found" errors when step 2 needed step 1's image_path.
Solution: Placeholder syntax automatically resolves to actual values:
{
"plan": [
{"tool": "generate_image", "tool_args": {"prompt": "robot"}},
{"tool": "create_story_from_image", "tool_args": {"image_path": "$PREV.image_path"}}
]
}
# System resolves: $PREV.image_path → "./generated/robot_123.png"Features:
$PREV.field- Reference previous step$STEP_N.field- Reference specific step (0-indexed)- Recursive resolution for nested structures
- Backward compatible (existing plans work unchanged)
Improvements
Composable System Prompts
Architectural pattern enabling automatic prompt composition across mixins.
How it helps: Build agents that inherit domain expertise automatically. No manual prompt assembly or knowledge duplication.
Implementation:
- Mixins own knowledge:
get_sd_system_prompt()provides SD prompt engineering,get_vlm_system_prompt()provides VLM usage - Auto-composition: Agent base class collects and merges mixin prompts
- Easy extension: Agents add custom prompts via
_get_system_prompt()
# Mixins provide domain-specific prompts
def get_sd_system_prompt(self) -> str:
return BASE_GUIDELINES + MODEL_SPECIFIC_PROMPTS[self.sd_default_model]
# Agent auto-composes: SD + VLM + custom promptsAgent Framework
- Loop Detection: Configurable
max_consecutive_repeats(default: 4) - Allows "create 3 designs" while preventing infinite loops - Default max_steps: Increased from 5 → 20 - Supports complex multi-step workflows without artificial limits
- State Management: Cleanup on error recovery - Prevents stale data contamination between plan attempts
- Console Warnings: Rich-formatted output - Better visibility than silent logger messages
Model Downloads
- CLI-based:
lemonade-server pullinstead of HTTP - More reliable with built-in retry logic - Interrupt Support: Graceful Ctrl+C - Cancel long downloads without breaking state
- Context Verification: Force unload/reload - Ensures 16K context persists correctly
Documentation
- Consolidated Playbook: 4 files → 1 guide - Faster learning without fragmentation
- GitHub Support Links: Issue reporting in troubleshooting - Clear path to get help
- Contributing Guide: Documentation guidelines - Easier for community contributions
- Example Code:
examples/sd_agent_example.py- Working reference implementation
Developer Experience
- uvx Fallback: Lint works without uvx - One less dependency to install
- Video Demo Scripts: Documentation tooling - Easier to create demos
- Better Console Output: Rich formatting - Clearer agent execution visibility
Infrastructure
- Lemonade 9.2.0: Required for SDXL models
- Merge Queue: Concurrency optimization - Faster CI/CD feedback
- Release Automation: Auto-triggered notes - Streamlined release process
Bug Fixes
- Multi-step workflows: Fixed "Image not found" when step 2 references step 1 output (e.g., passing image_path)
- Context exceeded: SD Agent completes without hitting token limits (16K context)
- Loop detection: Agents handle "create 3 designs" without false warnings (threshold: 4 consecutive)
- Context persistence: 16K settings saved correctly during
gaia initreruns - Missing exports: Fixed
gaia.agents.toolspackage in setup.py - Missing dependencies: Added
requeststo requirements
Breaking Changes
None - This release is 100% backward compatible.
Upgrade
# Install/upgrade GAIA
uv pip install --upgrade amd-gaia
# Setup SD profile (downloads ~15GB models)
gaia init --profile sd
# Test multi-modal workflow
gaia sd "create a robot exploring ancient ruins"Full Changelog
66 commits from multiple contributors
Key PRs:
- #287 - Add Stable Diffusion Image Generation Support
- #296 - SD Agent enhancements: multi-modal capabilities, composable prompts, parameter passing
- #291 - Use lemonade CLI for model downloads
- #288 - Standardize playbook installation
- #286 - Contributing guide for documentation
- #284 - Update Lemonade to v9.2.0
- #283 - Fix missing gaia.agents.tools package
- #256 - Optimize merge queue
Full Changelog: v0.15.2...v0.15.3
v0.15.2
Overview
This release focuses on streamlined setup experience with improvements to gaia init, Lemonade 9.1.4 compatibility, expanded MCP ecosystem roadmap, and numerous documentation fixes based on manual testing.
What's New
Improved gaia init Command
Enhanced one-stop setup command for reliability and user experience:
- Simplified Download Flow: Downloads all required models directly instead of pre-checking availability
- Download Speed Display: Progress bar now shows download speed (e.g.,
@ 75 MB/s) - Remote Server Support: New
--remoteflag for remote Lemonade server setups - Graceful Shutdown:
gaia kill --lemonadenow uses gracefullemonade-server stop - Removed Redundancy:
gaia pullcommand removed (uselemonade-server pullinstead)
# Quick setup with speed display
gaia init
# For remote Lemonade server setups
gaia init --remoteLemonade 9.1.4 Support
Full compatibility with Lemonade Server 9.1.4:
- Health Check Updates: Updated health check format handling
- Version Display: Docs navbar shows
v0.15.2 · Lemonade 9.1.4
Computer Use Agent (CUA) Documentation
New documentation and roadmap for the Computer Use Agent:
- Technical Specification: GUI automation capabilities
- Roadmap: Screen capture, element detection, action execution
- Integration Patterns: Works with existing agent framework
MCP Ecosystem Roadmap
Expanded Model Context Protocol plans for Q1 2026:
- MCP Client Mixin: Plan for client-side MCP integration
- Ecosystem Roadmap: Comprehensive Q1 2026 timeline
- Documentation: Enhanced MCP documentation coverage
Release Branch Automation
GitHub Action automatically updates the release branch on tag push:
- Mintlify Integration: Seamless docs deployment on releases
- Version Tracking: Navbar displays current version automatically
⚠️ Breaking Change: Thegaia pullcommand has been removed. Uselemonade-server pulldirectly instead.
Improvements
Developer Experience
- Lint Script Improvements: Enhanced
--fixmode for better auto-formatting (#229) - uvx Auto-Download: Lint utilities now use uvx for automatic tool installation (#218)
- Import Validation: Fixed import inconsistencies and enhanced validation (#204)
- Max-Steps Warning: Now appears after final step completes, not before (#249)
Documentation
Based on manual testing, several guides were corrected:
- Chat SDK Guide: Fixed examples and workflows (#194)
- Blender Agent Guide: Corrected setup and usage instructions (#195)
- Hardware Advisor Playbook: Fixed structure and renamed to index.mdx (#217)
- Hardware Advisor Agent: Fixed 'No Plan Found' warning for simple queries (#216)
UI/UX
- Navbar Improvements: Added bottom border and improved tab visibility (#212)
Infrastructure
- Legacy Installer Removed: NSIS Windows Installer removed in favor of Python packages (#192)
- Dependabot: Set to monitor-only mode to reduce PR noise
- GitHub Actions: Bumped action versions across the repository (#198)
Bug Fixes
- #249: Max-steps warning timing - now appears after final step completes
- #221: Related max-steps warning timing issue
- #250: Model download flow reliability in
gaia init - #216: Hardware Advisor Agent 'No Plan Found' warning for simple queries
Breaking Changes
| Change | Migration |
|---|---|
gaia pull removed |
Use lemonade-server pull directly |
| Legacy NSIS installer removed | Use Python package installation (pip install amd-gaia) |
Full Changelog
18 commits from multiple contributors
Key PRs:
- #249 - Fix max-steps warning timing to appear after final step completes
- #219 - Add
gaia initcommand for one-stop setup - #229 - Improve
--fixmode for lint scripts - #228 - Update and support Lemonade 9.1.4 health check format
- #225 - Add Computer Use Agent (CUA) Documentation and Roadmap
- #218 - Update lint utilities to use uvx for auto-downloading tools
- #217 - Fix Hardware Advisor Playbook structure
- #216 - Fix Hardware Advisor Agent 'No Plan Found' warning
- #212 - Add navbar bottom border and improve tab visibility
- #206 - MCP Client Mixin Plan and Roadmap
- #204 - Fix Import Inconsistencies and Enhance Validation
- #202 - Q1 2026 MCP Ecosystem Roadmap
- #198 - Bump the github-actions group
- #195 - Fix Blender Agent guide based on manual testing
- #194 - Fix Chat SDK guide based on manual testing
- #192 - Remove Legacy NSIS Windows Installer
Full Changelog: v0.15.1...v0.15.2
v0.15.1
GAIA v0.15.1 Release Notes
Overview
This release introduces the Summarization Agent with MCP integration, refactors the LLM Client Architecture to a provider-based pattern, adds Claude AI Assistant automation for GitHub issues and PRs, and significantly improves developer tooling with automated release notes, simplified CLI, and new evaluation benchmarks.
Installation
# Install uv (ultra-fast Python package manager)
# Windows: irm https://astral.sh/uv/install.ps1 | iex
# macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/amd/gaia.git
cd gaia
uv venv .venv --python 3.12
source .venv/bin/activate # Windows: .\.venv\Scripts\Activate.ps1
uv pip install -e .
gaia -vOr install from PyPI:
uv pip install amd-gaiaWhat's New
📝 Summarization Agent
New agent for document summarization with MCP bridge integration:
- MCP Bridge Integration: Data sent as
multipart/form-dataleveraging OCR capabilities - Streaming Responses: Summarization results streamed in real time
- Iterative Summarization: Produced iteratively to minimize time-to-first-token (TTFT)
- PDF Text Caching: Extracted text cached for improved performance
- KV Cache Optimization: Reduced TTFT by leveraging KV cache properly
gaia summarize document.pdf🔧 LLM Client Factory
Complete refactor of LLM client architecture for better maintainability:
- Provider Pattern: New
LemonadeProvider,OpenAIProvider,ClaudeProviderimplementations - Factory Function: Easy instantiation with
create_client("lemonade") - Base Interface: Abstract
LLMClientclass for consistent behavior - Auto-Loading: Models automatically load before requests in
LemonadeClient - Default Temperature: 0.1 for deterministic responses
from gaia.llm import LLMClient, create_client
# New pattern
client = create_client("lemonade") # or "openai", "claude"
response = client.chat("Hello!")🤖 Claude AI Assistant Workflow
Automated Claude assistance for GitHub issues and pull requests:
- PR Review: Automatic reviews on PR open/ready with security and AMD compliance checks
- Issue Handling: Intelligent triage and response to new issues
- @claude Mentions: Responds to mentions in PR comments and issues
- Documentation-Aware: References docs/docs.json for intelligent responses
- Cost-Optimized: Concurrency control and selective triggering
📋 Automated Release Notes Generation
Claude-powered release notes when GitHub releases are created:
- Dual Output:
RELEASE_NOTES.md(GitHub) +docs/releases/vX.Y.Z.mdx(website) - Iterative Diff Analysis: Splits diffs by component for large releases
- Auto Version Bump: Automatically bumps to next patch version after release
- MDX Validation: Validates frontmatter, required sections, and changelog links
- Self-Review: Claude verifies its generated output before committing
💻 GAIA Code CLI Simplification
Streamlined CLI by removing unnecessary subcommands:
- Direct Invocation:
gaia-code "Build me an app"works directly - Auto-Initialization: Models load automatically on first use
- 176 Lines Removed: Cleaner, simpler codebase
- Working Help:
gaia-code --helpnow shows ALL arguments
# These all work directly now:
gaia-code "Build me a todo app"
gaia-code "Build me an app" --path ~/projects/myapp
gaia-code --interactiveBreaking Change: The run subcommand has been removed:
- ❌
gaia-code run "Build me an app"(no longer works) - ✅
gaia-code "Build me an app"(new syntax)
🧪 Fix-Code Microbenchmark
New evaluation framework for automated code fixes:
- CLI Helper:
gaia eval fix-codecommand - Prompt Engineering: Experiment with prompt designs for code fixes
- Multi-Model Support: Test with local models or Claude
- Sample Fixtures: Python and TypeScript bug examples included
- Diff Output: Shows patched output with diffs
gaia eval fix-code --model claude examples/sum.py📊 Performance Analysis Plotter
New CLI tool for analyzing LLM server performance:
- Log Analysis: Ingests llama.cpp server logs
- Token Charts: Generates prompt/input/output token count charts
- Performance Metrics: TTFT and TPS plots
- Prefill vs Decode: Pie charts showing time distribution
gaia perf-analysis --show server.log🗺️ Public Roadmap
New documentation section with transparent development plans:
- Roadmap Page: Timeline and upcoming priorities at amd-gaia.ai
- Technical Plans: Detailed specs for Chat UI and Installer
- Q1 2026 Timeline: Visual Mermaid diagram showing planned features
- Community Engagement: Email contact (gaia@amd.com) for use cases
Improvements
Claude Framework Refresh
- Pruned Agents: 28 → 24 agents (removed redundant ones)
- Renamed Agents: Clearer naming (ai-engineer → gaia-agent-builder, etc.)
- New Agent:
sdk-architectfor SDK API design guidance - Pre-commit Hook: Auto-fixes code before commits
Documentation
- Mermaid Diagrams: Converted 56+ ASCII diagrams to Mermaid in specs
- Routing Agent: Updated diagram to Mermaid format
- CLAUDE.md: Comprehensive issue response guidelines
- Glossary: Updated with Claude Code integration guidance
Infrastructure
CI/CD Improvements
- Electron CI Tests: Validation for Dependabot PRs (#183)
- PyPI Wheel Uploads: Automated wheel publishing support (#93)
- uv Standardization: All workflows use uv for consistency (#179)
- Self-Hosted Runner Monitoring: New workflows to track CI runners (#178)
- GitHub Actions Updates: Bumped to latest versions across 15 files
Build & Dependencies
- Bumped
electronfrom 28.3.3 to 35.7.5 - Bumped
esbuildandvitein EMR dashboard frontend - Bumped
qsfrom 6.14.0 to 6.14.1 in docs - Bumped GitHub Actions group with 4 updates
Workflow Improvements
- Fork Support: Claude workflow now works correctly with forks
- Header Check Removal: Simplified workflows by removing header checks
- Outside Contributors: Skip copyright header check for external contributors
- Docs Validation: New workflow validates MDX syntax with Mintlify CLI
Bug Fixes
- #152: Summarization KV cache bypass causing high TTFT - now leverages cache properly
- #142: Security updates for esbuild and vite dependencies
- #143: Security update for qs dependency
- #144: Electron security update (28.3.3 → 35.7.5)
Breaking Changes
| Change | Migration |
|---|---|
gaia-code run removed |
Use gaia-code "prompt" directly |
| LLMClient import path | Use from gaia.llm import LLMClient, create_client |
Full Changelog
40 commits from 8 contributors
Key PRs:
- #170 - Summarization Agent with MCP bridge integration
- #150 - LLM Client Factory refactor with provider pattern
- #154 - Claude AI Assistant GitHub Actions Workflow
- #197 - Automated release notes generation with Claude
- #147 - GAIA Code CLI simplification
- #159 - Fix-Code Microbenchmark for evaluation
- #158 - Performance Analysis Plotter for LLM logs
- #166 - Public Roadmap and Technical Plans
- #149 - Claude framework refresh (24 agents)
- #152 - KV cache optimization for summarization
- #93 - PyPI wheel upload support
- #183 - Electron CI tests for Dependabot
- #179 - Standardize workflows to uv
Full Changelog: v0.15.0...v0.15.1
v0.15.0
GAIA v0.15.0 Release Notes
Overview
This release transforms GAIA into a full AI Agent Framework (SDK v1.0.0), introduces the Medical Intake Agent with Dashboard, adds the Database Module for SQLite-backed agents, and includes comprehensive documentation improvements with new playbooks.
Installation
# Install uv (ultra-fast Python package manager)
# Windows: irm https://astral.sh/uv/install.ps1 | iex
# macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/amd/gaia.git
cd gaia
uv venv .venv --python 3.12
source .venv/bin/activate # Windows: .\.venv\Scripts\Activate.ps1
uv pip install -e .
gaia -vOr install from PyPI:
uv pip install amd-gaiaWhat's New
🚀 SDK v1.0.0 - AI Agent Framework
GAIA is now positioned as a pure framework/SDK for building AI PC agents:
- 900+ line API reference with 20+ components
- 60+ MDX documentation files organized into tabs
- 55+ interface validation tests
- Mintlify-powered documentation site at amd-gaia.ai
from gaia import Agent, tool
class MyAgent(Agent):
def _get_system_prompt(self) -> str:
return "You are a helpful assistant."
def _register_tools(self):
@tool
def greet(name: str) -> str:
"""Greet someone by name."""
return f"Hello, {name}!"🏥 Medical Intake Agent with Dashboard
Complete patient intake form processing system:
- Automatic file watching for intake forms (.png, .jpg, .pdf)
- VLM-powered data extraction (Qwen2.5-VL on NPU)
- SQLite database with 17 patient fields
- Real-time React dashboard with SSE updates
- Natural language patient queries
gaia-emr watch # Auto-process forms
gaia-emr dashboard # Launch web dashboard
gaia-emr query "Find patient John Smith"🗄️ Database Module
New gaia.database module with two usage patterns:
DatabaseAgent (prototyping):
from gaia import DatabaseAgent
class MyAgent(DatabaseAgent):
def __init__(self, **kwargs):
super().__init__(db_path="data/app.db", **kwargs)DatabaseMixin (production):
from gaia import Agent, DatabaseMixin, tool
class MyAgent(Agent, DatabaseMixin):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.init_db("data/app.db")🧪 Testing Utilities Module
New gaia.testing module for testing agents without real LLM/VLM services:
MockLLMProvider,MockVLMClient,MockToolExecutortemp_directory,temp_file,create_test_agentfixturesassert_llm_called,assert_tool_calledassertions- 51 unit tests with full coverage
from gaia.testing import MockLLMProvider, assert_llm_called
def test_my_agent():
mock_llm = MockLLMProvider(responses=["I found the data"])
agent = MyAgent(skip_lemonade=True)
agent.chat = mock_llm
result = agent.process_query("Find data")
assert_llm_called(mock_llm)💻 Hardware Advisor Agent
New example agent with LemonadeClient APIs for dynamic model recommendations:
python examples/hardware_advisor_agent.py📚 GAIA Code Playbook
Complete 3-part playbook for the Code Agent:
- Part 1: Introduction and fundamentals
- Part 2: Application creation and development
- Part 3: Validation and building workflows
Improvements
Agent UX Enhancements
- Rich Panel Final Answers: Agent responses now appear with green-bordered panels and "✅ Final Answer" title
- Better Completion Messages: Removed confusing step counters, now shows clean "Processing complete!" message
- Enhanced Error Display: Shows execution trace with Query → Plan Step → Tool → Error, plus code context with line pointers
Code Agent
- Limited router to TypeScript only (other languages report helpful error)
- Fixed default path issue where
create-next-appwould fail on non-empty directories - Added dynamic timer scaffolding and artifact-aware planning
Lemonade Server Integration
- Centralized initialization in
LemonadeManagersingleton - Changed context size check from error to warning (agents continue running)
- Fixed VLM image processing breaking embeddings endpoint
Documentation
- New
setup.mdxwith step-by-step installation guide - New
glossary.mdxwith 50+ GAIA terms - Streamlined learning path: Quickstart → Hardware Advisor → Playbooks/Guides
- Applied
<CodeGroup>component across multiple docs for compact command examples - Standardized license headers across 90+ files
- Added source code links throughout documentation
PyPI Package
- Renamed from
gaiatoamd-gaia(import name remainsgaia) - Enhanced PyTorch CPU-only build support
Bug Fixes
- #1092: Agent receives empty response after tool execution - fixed duplicate message insertion
- #1088: Confusing agent completion messages showing incomplete steps
- #1087: Context size error now shows as warning instead of blocking
- #134: Blender MCP 'Namespace' object has no attribute 'stats'
- #1075: VLM image processing breaks embeddings endpoint
- #1083: Agent tool calling fixed with JSON format instructions in base class
- #1095: Windows npx command can't find TypeScript compiler
- #1137: Code agent default path fails on non-empty directories
- #1079: Authentication flow for documentation sub-pages
- #940: Empty LLM response when last message has
role==tool
Infrastructure
CI/CD
- All workflows now skip tests on draft PRs (unless
ready_for_cilabel added) - New
test_unit.ymlworkflow for fast unit/integration tests - Updated GitHub Actions:
actions/checkoutv5,actions/setup-pythonv6
Documentation Site
- Access code protection via Express.js proxy server
- Railway deployment with cookie-based authentication
- Open redirect and XSS vulnerability fixes
Breaking Changes
None. All changes are additive.
Full Changelog
40 commits from 8 contributors
Key PRs:
- #1063 - Transform GAIA into AI Agent Framework (SDK v1.0.0)
- #1101 - Medical Intake Agent with Dashboard
- #1093 - Add Database Module with DatabaseMixin and DatabaseAgent
- #1098 - Add Testing Utilities Module
- #1131 - GAIA Code Playbook
- #1113 - Hardware Advisor agent
- #1112 - Fix agent empty response after tool execution
- #1085 - Rename PyPI package to
amd-gaia - #1067 - Centralize Lemonade Server Initialization
Full Changelog: v0.14.2...v0.15.0
v0.14.1
GAIA v0.14.1 Release Notes
Overview
This release enhances the Code Agent with checklist-based orchestration for web development, upgrades to Lemonade Server v9.1.0, and fixes chat history persistence.
Installation
# Install uv (ultra-fast Python package manager)
# Windows: irm https://astral.sh/uv/install.ps1 | iex
# macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/amd/gaia.git
cd gaia
uv venv .venv --python 3.12
source .venv/bin/activate # Windows: .\.venv\Scripts\Activate.ps1
uv pip install -e .
gaia -vNote: As GAIA is upgraded, the above flow is the recommended one. A new installer is coming in a future.
What's New
🛠️ Code Agent Enhancements
New orchestration framework for building web applications:
- Checklist-driven workflows that break complex tasks into structured steps
- Automatic project type detection (Next.js, Python) with appropriate tooling
- Conversation history summarization for faster debugging cycles
- Validation tools for build, lint, and type-checking
gaia code "Create a task management app with user authentication"🍋 Lemonade Server v9.1.0
- Upgraded to Lemonade Server v9.1.0
- Health check verifies Lemonade installation with clear error messages if missing
- Context size validation ensures sufficient tokens before agent execution
💬 Chat Improvements
- History persistence fix: Conversation history now properly saves with
/saveand restores with/resume - Better no-document behavior: Chat agent uses general knowledge instead of failing when no documents are indexed
Improvements
- Linting: Cross-platform linting script (
util/lint.py) for Windows/macOS/Linux - CI/CD: New chat agent test workflow
What's Changed
- GAIA Code Enhancements by @itomek
- Implement cross-platform linting script by @kovtcharov
- Add health check for Lemonade server installation by @kovtcharov
- Add context size validation for Lemonade server by @kovtcharov
- Fix Chat History Persistence by @kovtcharov
- Enhance chat agent behavior when no documents indexed by @kovtcharov
- Faster Web Dev Agent Iterations by @eddierichter-amd
- Update Lemonade version to 9.1.0 by @kovtcharov
Full Changelog: v0.14.0...v0.14.1
v0.14.0
GAIA v0.14.0 Release Notes
Overview
This release introduces the Knowledge Assistant for document Q&A with agentic RAG, transitions to a streamlined cross-platform developer workflow using uv, and includes Lemonade Server v9.0.8 with auto-start capabilities.
Installation
# Install uv (ultra-fast Python package manager)
# Windows: irm https://astral.sh/uv/install.ps1 | iex
# macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/amd/gaia.git
cd gaia
uv venv .venv --python 3.12
source .venv/bin/activate # Windows: .\.venv\Scripts\Activate.ps1
uv pip install -e .
gaia -vWhy uv? 10-100x faster installs, automatic Python management, cross-platform support (Windows/macOS/Linux), and editable installs.
Note: As GAIA is upgraded, the above flow is the recommended one. A new installer is coming in a future.
What's New
📚 Knowledge Assistant - Document Q&A
Chat with your documents using agentic RAG:
- Index PDFs, markdown, text, CSV, JSON, and 30+ code file types
- Semantic search with hybrid keyword boosting
- VLM image extraction from PDFs
- Auto-discovery: agent searches, indexes, and answers automatically
gaia chat --index manual.pdf
gaia rag quick report.pdf "What are the key findings?"
gaia talk --index document.pdf🍎 Cross-Platform Support
- Native macOS and Linux support
- Removed Conda dependency, migrated to Python venv
- macOS testing in CI/CD
🍋 Lemonade Server v9.0.8 Auto-Start
- GAIA automatically starts Lemonade Server if not running
- Version compatibility checks
--base-urlsupport for custom endpoints
⬇️ Model Pull with Streaming Progress
gaia model pull Qwen2.5-3B-Instruct-GGUFDownload models with real-time progress updates and resume support.
🛠️ Code Agent Improvements
- Enhanced debugging capabilities
- Structured tool role messages
- Bug fixes and deprecated tool cleanup
🔗 Unified --base-url CLI Support
Use custom Lemonade Server URLs across all commands:
gaia chat --base-url http://custom-server:8000Improvements
- Evaluation: Transcript validation, extended timeouts, resume/retry for groundtruth
- Security: Path traversal prevention with PathValidator
- Infrastructure: Constants refactoring, localhost reference updates
- Developer Experience: API documentation, Lemonade MSI installer, Node.js v20 VSCode prereq
- CI/CD: Workflow updates
Full Changelog: v0.13.0...v0.14.0
v0.13.0
GAIA v0.13.0 Release Notes
Overview
This major release introduces GAIA Code, a proof-of-concept AI coding agent with VSCode integration, and a Docker Agent for containerized workflows. Most significantly, this release establishes a new architecture that allows GAIA agents to be easily built, and to be exposed via API, MCP, and CLI, opening up extensive possibilities for agent composition and integration. The release also includes improvements to the evaluation framework and enhanced documentation for building custom agents.
What's New
🚀 GAIA Code Agent with VSCode Integration (#774, #864)
Introduced a proof-of-concept AI-powered coding agent with Visual Studio Code integration:
- In-Editor Development: Trigger GAIA Code Agent from VSCode via extension coupled with GitHub Copilot
- Automated Code Generation: Generate Python code from natural language descriptions
- Test-Driven Development: Automatic test generation and execution
- Iterative Refinement: Multi-iteration approach to code quality
- File Context Awareness: Automatic workspace file monitoring and context
Note: GAIA Code is currently a proof-of-concept focused on Python development workflows.
Files Changed: src/gaia/agents/code/, VSCode extension files
🐳 Docker Agent (#811, #833)
New proof-of-concept Docker agent for containerized application development:
- Container Management: Create, start, stop, and manage Docker containers
- Image Building: Automated Dockerfile generation and image builds
- Docker Compose Support: Multi-container orchestration capabilities
- Isolated Environments: Containerized development environments for projects
Note: The Docker Agent is currently a proof-of-concept demonstrating containerized workflow automation.
🏗️ Agent Architecture: Multi-Protocol Exposure (#846)
Major architectural enhancement enabling GAIA agents to be exposed through multiple interfaces:
- API Exposure: RESTful API endpoints for agent interactions
- MCP (Model Context Protocol): Native MCP server support for agent communication
- CLI Interface: Command-line access to agent capabilities
- Unified Pattern: Class inheritance-based design pattern for building new agents
This architecture opens up powerful possibilities:
- Integrate agents into existing tools and workflows
- Build custom agents using established patterns
- Mix and match communication protocols based on needs
Improvements
🔧 Evaluation Framework Improvements
Fix: Remove Silent Fallback in Transcript Matching (#843)
Improved error handling in evaluation transcript matching:
- Fail-Fast Approach: Clear failures instead of silent fallbacks
- Better Debugging: Improved error messages for mismatches
- Data Integrity: Ensures evaluation data consistency
Restore Python Execution Tools (#839)
Re-added essential Python execution capabilities:
- Restored
run_testtool for test execution - Restored
execute_python_filetool for script running - Better integration with code agent workflows
Getting Started with Custom Agents
With the new agent architecture, building custom agents is straightforward. Agents can inherit from base classes and automatically gain API, MCP, and CLI exposure. See the updated documentation for examples and best practices.
v0.12.1
GAIA v0.12.1 Release Notes
Overview
This patch release focuses on bug fixes and improvements to the evaluation framework, particularly addressing issues with the visualization and reporting tools. All changes improve the reliability and usability of the gaia eval, gaia visualize, and gaia report commands.
What's Changed
Bug Fixes
🔧 Fix Evaluation Visualizer Model Count and Path Issues (#823)
Fixed multiple critical issues in the gaia visualize and gaia report commands:
-
Incorrect Model Count in Consolidated Report: Fixed model count calculation in the webapp to show the correct number of models (was showing only 4 instead of 8)
- Now calculates unique models directly from
metadata.evaluation_filesinstead of filtered/grouped data
- Now calculates unique models directly from
-
Windows Path Separator Bug: Fixed cross-platform compatibility issue in
isMainEvaluationEntry()function- Now handles both Unix (
/) and Windows (\) path separators correctly
- Now handles both Unix (
-
Incorrect Default Directory Paths: Updated default paths to match actual evaluation output locations
- Changed from
workspace/evaluationtoworkspace/output/evaluations - Changed from
workspace/experimentstoworkspace/output/experiments
- Changed from
-
Outdated Report Filename: Updated default report filename from
LLM_RAG_Evaluation_Report.mdtoLLM_Evaluation_Report.md- Better reflects support for multiple evaluation types (RAG, summarization, etc.)
Files Changed: src/gaia/cli.py, src/gaia/eval/eval.py, src/gaia/eval/webapp/public/app.js
Improvements
📊 Standardize Evaluation Workflow Default Directories (#820)
Implemented consistent default parameters across all evaluation commands with a unified directory structure:
./output/
├── test_data/ # gaia generate
├── groundtruth/ # gaia groundtruth
├── experiments/ # gaia batch-experiment
└── evaluations/ # gaia eval
Key Changes:
- Added centralized directory constants in
cli.py - Added
GAIA_WORKSPACEenvironment variable support for flexible workspace management - Updated all command defaults to use the new structure
- Updated documentation in
docs/eval.mdanddocs/cli.md
Benefits:
- Consistency: All evaluation artifacts organized in one location
- Maintainability: Centralized constants eliminate duplication
- Flexibility: Workspace environment variable for managing multiple projects
- Cleanup: Single directory to clean or ignore
Files Changed: Multiple files including CLI, evaluation modules, webapp components, and documentation
🏷️ Improve Reporting for Cloud Model Identifiers (#834)
Enhanced model counting logic in the Evaluation Visualizer to support additional cloud model identifiers:
- Added support for 'gpt-4' and 'gemini' model identifiers
- Improved accuracy of model classification in reports
Files Changed: src/gaia/eval/webapp/public/app.js
Contributors
- Kalin Ovtcharov (@kalin-ovtcharov)
Upgrade Notes
If you have existing evaluation workflows, note the following directory changes:
./evaluation→./output/evaluations./experiments→./output/experiments
You can set the GAIA_WORKSPACE environment variable to use a custom workspace location if needed.
Full Changelog: v0.12.0...v0.12.1