First time here? Complete the Setup guide first to install GAIA and its dependencies.
Prefer a desktop app? See GAIA Chat Desktop for the privacy-first GUI with drag-and-drop document Q&A.
Looking for the API? See the Agent SDK Reference for classes, methods, and code examples.
Quick Start
1
Install dependencies
Activate your virtual environment and install GAIA with RAG support:
2
Create a simple chat
simple_chat.py
3
Use the full SDK
full_chat.py
CLI Usage
Interactive Mode
Start a conversational chat session:Session Commands
Session Commands
/resume [id]- Resume a previous conversation (or list sessions if no id)/save- Save current conversation/sessions- List all saved sessions/reset- Clear conversation and start fresh/helpor/?- Show help message/quit- Exit the chat session
Single Query Mode
Document Q&A (RAG)
RAG (Retrieval-Augmented Generation) enables chatting with documents — including PDF, Word (.docx), PowerPoint (.pptx), and Excel (.xlsx) — using semantic search and context retrieval.
CLI with RAG
- Single Document
- Multiple Documents
- One-shot Query
- Watch Folder
- Voice Mode
Document Indexing Requirements: Processing PDFs and PPTX files with images requires a Vision Language Model (VLM). GAIA uses To see what models each agent requires:
Qwen3-VL-4B-Instruct-GGUF by default for extracting text from images in documents.To download all models needed for chat (including VLM):gaia download --listSee the CLI Reference for more download options.Interactive RAG Commands
When usinggaia chat with documents (via --index flag or /index command), additional commands become available:
Session Management
Session Management
Sessions preserve both your conversation history and indexed documents:
/resume [id]- Resume session with conversation and documents restored/save- Save session including indexed documents/sessions- List all saved sessions/reset- Clear conversation and start a new session (indexed documents are preserved)
Document Management
Document Management
/index <path>- Index a document or directory (enables RAG if needed)/watch <dir>- Watch directory for changes and auto-index new files/list- List all currently indexed documents/status- Show RAG system status (indexed files, chunks, memory usage)
Debug & Observability
Debug & Observability
/chunks <file>- View indexed chunks for a specific file/chunk <id>- View specific chunk by ID/test <query>- Test query retrieval with relevance scores/dump <file|#>- Export document and chunks to markdown/clear-cache- Clear RAG cache and force re-indexing/search-debug- Enable detailed search debugging output
RAG Debug Mode
Enable debug mode to see detailed retrieval information:Debug Information Includes
Debug Information Includes
- Search keys generated by the LLM
- Chunks found for each search
- Relevance scores
- Deduplication statistics
- Score distributions
Chunking Strategies
Structural Chunking
Default - Fast processing
LLM-Based Semantic
More accurate context
Troubleshooting
Missing Dependencies
Missing Dependencies
PDF Issues
PDF Issues
- Ensure PDF has extractable text (not scanned images)
- Check the PDF does not need a password to open — remove it with
qpdf --decrypt --password=YOUR_PASSWORD in.pdf out.pdf(PDFs with only permission restrictions index fine) - Verify file is not corrupted
Performance Tuning
Performance Tuning
Dynamic Tool Loading
Off by default,
doc profile only. This is the first stage of a phased
rollout (Dynamic Tool Loader plan); enable it explicitly to
try it.doc profile can load tools semantically per turn instead of showing the
LLM every registered tool on every turn. A small always-on CORE set is combined
with tools whose descriptions best match the conversation, which shrinks the
first-turn prompt and speeds up the first reply.
It activates only on the doc profile — the SDK with
ChatAgentConfig(prompt_profile="doc"), or gaia eval agent --agent-type doc,
an explicit override since the eval otherwise scores the flagship gaia agent.
The doc id is no longer offered in the agent picker, but it still resolves, so
the eval command is unchanged.
Turn it on with the config field, an environment variable, or the Agent UI
Settings → Dynamic Tools (Beta) toggle. The env var wins over both — when it
is set, the UI toggle reflects the effective value and disables itself — which is
handy for the eval harness:
Next Steps
GAIA Chat Desktop
Privacy-first desktop app with drag-and-drop document Q&A
Agent SDK Reference
Classes, methods, and code examples
Voice Interaction
Add speech recognition and text-to-speech
CLI Reference
Explore all command-line options
Agent UI SDK Reference
Python backend API for the desktop chat application
API Server
Integrate via OpenAI-compatible API