Community Edition CLI agent for building RAG pipelines
Project description
RagOps Agent CE (Community Edition)
An LLM-powered CLI agent that automates the creation and maintenance of Retrieval-Augmented Generation (RAG) pipelines. The agent orchestrates built-in tools and Model Context Protocol (MCP) servers to plan, chunk, and load documents into vector stores.
Built by Donkit AI - Open Source RAG Infrastructure.
Key Features
- Interactive REPL — Start an interactive session with readline history and autocompletion
- Checklist-driven workflow — The agent creates project checklists, asks for approval before each step, and tracks progress
- Multi-language support — Automatically detects and responds in the user's language
- Session-scoped checklists — Only current session checklists appear in the UI
- Integrated MCP servers — Built-in support for planning, chunking, and vector loading
- Docker Compose orchestration — Automated deployment of RAG infrastructure (Qdrant, RAG service)
- Multiple LLM providers — Supports Vertex AI, OpenAI, Azure OpenAI, Anthropic Claude, Ollama
Installation
Option A: Using pip
pip install donkit-ragops-ce
Option B: Using Poetry (Recommended for Python 3.12+)
# Create a new project directory
mkdir ~/ragops-workspace
cd ~/ragops-workspace
# Initialize Poetry project
poetry init --no-interaction --python="^3.12"
# Add donkit-ragops-ce
poetry add donkit-ragops-ce
# Activate the virtual environment
poetry shell
After activation, you can run the agent with:
donkit-ragops-ce
Or run directly without activating the shell:
poetry run donkit-ragops-ce
Quick Start
Prerequisites
- Python 3.12+ installed
- Docker Desktop installed and running (required for vector database)
- API key for your chosen LLM provider (Vertex AI, OpenAI, or Anthropic)
Step 1: Install the package
pip install donkit-ragops-ce
Step 2: Create a working directory
Create a directory where you'll run the agent. This is where project files and configurations will be stored.
mkdir ~/ragops-workspace
cd ~/ragops-workspace
Step 3: Configure your LLM provider
Create a .env file in the current directory (~/ragops-workspace/.env):
Option A: Vertex AI (Google Cloud)
RAGOPS_LLM_PROVIDER=vertexai
RAGOPS_VERTEX_CREDENTIALS=/Users/yourname/Downloads/your-service-account-key.json
Option B: OpenAI
RAGOPS_LLM_PROVIDER=openai
RAGOPS_OPENAI_API_KEY=sk-proj-abc123...
Option C: Anthropic Claude
RAGOPS_LLM_PROVIDER=anthropic
RAGOPS_ANTHROPIC_API_KEY=sk-ant-abc123...
Tip: Use
nano .envorvim .envto create the file from terminal, or create it with any text editor.
Step 4: Start the agent
From the same directory where you created .env:
donkit-ragops-ce
Step 5: Tell the agent what to do
Example:
you> Create a RAG pipeline for my documents in /Users/myname/Documents/work_docs
The agent will:
- ✅ Create a
projects/<project_id>/directory - ✅ Plan RAG configuration
- ✅ Process and chunk your documents
- ✅ Start Qdrant vector database (via Docker)
- ✅ Load data into the vector store
- ✅ Deploy RAG query service
Directory structure after running
~/ragops-workspace/
├── .env # Your configuration
└── projects/
└── my-project-abc123/ # Auto-created by agent
├── compose/ # Docker Compose files
│ ├── docker-compose.yml
│ └── .env
├── chunks/ # Processed document chunks
└── rag_config.json # RAG configuration
Troubleshooting
"Docker is not running"
- Start Docker Desktop and wait until it's fully running
- Try:
docker psto verify Docker is working
"API key not found"
- Make sure
.envfile is in the directory where you rundonkit-ragops-ce - Check that variable names are correct (no spaces around
=)
"Module not found"
- Reinstall:
pip install --upgrade donkit-ragops-ce
Usage
Note: The command
ragops-agentis also available as an alias for backward compatibility.The agent starts in interactive REPL mode by default. Use subcommands like
pingfor specific actions.
Interactive Mode (REPL)
# Start interactive session
donkit-ragops-ce
# With specific provider
donkit-ragops-ce -p vertexai
# With custom model
donkit-ragops-ce -p openai -m gpt-4
Command-line Options
-p, --provider— Override LLM provider from settings-m, --model— Specify model name-s, --system— Custom system prompt--show-checklist/--no-checklist— Toggle checklist panel (default: shown)--mcp-command— Add custom MCP server (can be used multiple times)
Subcommands
# Health check
donkit-ragops-ce ping
Environment Variables
RAGOPS_LLM_PROVIDER— LLM provider nameRAGOPS_LOG_LEVEL— Logging level (default: INFO)RAGOPS_MCP_COMMANDS— Comma-separated list of MCP commandsRAGOPS_VERTEX_CREDENTIALS— Path to Vertex AI service account JSONRAGOPS_OPENAI_API_KEY— OpenAI API keyRAGOPS_ANTHROPIC_API_KEY— Anthropic API keyRAGOPS_OLLAMA_BASE_URL— Ollama server URL
Agent Workflow
The agent follows a structured workflow:
- Language Detection — Detects user's language from first message
- Project Creation — Creates project directory structure
- Checklist Creation — Generates task checklist in user's language
- Step-by-Step Execution:
- Asks for permission before each step
- Marks item as
in_progress - Executes the task using appropriate MCP tool
- Reports results
- Marks item as
completed
- Deployment — Sets up Docker Compose infrastructure
- Data Loading — Loads documents into vector store
MCP Servers
RagOps Agent CE includes built-in MCP servers:
ragops-rag-planner
Plans RAG pipeline configuration based on requirements.
# Example usage
donkit-ragops-ce --mcp-command "ragops-rag-planner"
Tools:
plan_rag_config— Generate RAG configuration from requirements
ragops-chunker
Chunks documents for vector storage.
# Example usage
donkit-ragops-ce --mcp-command "ragops-chunker"
Tools:
chunk_documents— Split documents into chunks with configurable strategieslist_chunked_files— List processed chunk files
ragops-vectorstore-loader
Loads chunks into vector databases.
# Example usage
donkit-ragops-ce --mcp-command "ragops-vectorstore-loader"
Tools:
vectorstore_load— Load documents into Qdrant, Chroma, or Milvusdelete_from_vectorstore— Remove documents from vector store
ragops-compose-manager
Manages Docker Compose infrastructure.
# Example usage
donkit-ragops-ce --mcp-command "ragops-compose-manager"
Tools:
init_project_compose— Initialize Docker Compose for projectcompose_up— Start servicescompose_down— Stop servicescompose_status— Check service statuscompose_logs— View service logs
ragops-checklist
Manages project checklists and progress tracking.
Tools:
create_checklist— Create new checklistget_checklist— Get current checklistupdate_checklist_item— Update item status
Examples
Basic RAG Pipeline
donkit-ragops-ce
you> Create a RAG pipeline for customer support docs in ./docs folder
The agent will:
- Create project structure
- Plan RAG configuration
- Chunk documents from
./docs - Set up Qdrant + RAG service
- Load data into vector store
Custom Configuration
donkit-ragops-ce -p vertexai -m gemini-1.5-pro
you> Build RAG for legal documents with 1000 token chunks and reranking
Multiple Projects
Each project gets its own:
- Project directory (
projects/<project_id>) - Docker Compose setup
- Vector store collection
- Configuration
Development
Project Structure
donkit-ragops-ce/
├── src/ragops_agent_ce/
│ ├── agent/ # LLM agent core
│ ├── llm/ # LLM provider integrations
│ ├── mcp/ # MCP servers and client
│ │ └── servers/ # Built-in MCP servers
│ ├── cli.py # CLI commands
│ └── config.py # Configuration
├── tests/
└── pyproject.toml
Running Tests
poetry run pytest
Code Quality
# Format code
poetry run ruff format .
# Lint code
poetry run ruff check .
Docker Compose Services
The agent can deploy these services:
Qdrant (Vector Database)
services:
qdrant:
image: qdrant/qdrant:latest
ports:
- "6333:6333"
- "6334:6334"
RAG Service
services:
rag-service:
image: donkit/rag-service:latest
ports:
- "8000:8000"
environment:
- DATABASE_URI=http://qdrant:6333
- CONFIG=<base64-encoded-config>
Architecture
┌─────────────────┐
│ RagOps Agent │
│ (CLI) │
└────────┬────────┘
│
├── MCP Servers ───────────────┐
│ ├── ragops-rag-planner │
│ ├── ragops-chunker │
│ ├── ragops-vectorstore │
│ └── ragops-compose │
│ │
└── LLM Providers ─────────────┤
├── Vertex AI │
├── OpenAI │
├── Anthropic │
└── Ollama │
│
▼
┌──────────────────┐
│ Docker Compose │
├──────────────────┤
│ • Qdrant │
│ • RAG Service │
└──────────────────┘
Troubleshooting
MCP Server Connection Issues
If MCP servers fail to start:
# Check MCP server logs
RAGOPS_LOG_LEVEL=DEBUG donkit-ragops-ce
Vector Store Connection
Ensure Docker services are running:
cd projects/<project_id>
docker-compose ps
docker-compose logs qdrant
Credentials Issues
Verify your credentials:
# Vertex AI
gcloud auth application-default print-access-token
# OpenAI
echo $RAGOPS_OPENAI_API_KEY
License
This project is licensed under the MIT License - see the LICENSE file for details.
Related Projects
- donkit-chunker — Document chunking library
- donkit-vectorstore-loader — Vector store loading utilities
- donkit-read-engine — Document parsing engine
Built with ❤️ by Donkit AI
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file donkit_ragops_ce-0.2.1.tar.gz.
File metadata
- Download URL: donkit_ragops_ce-0.2.1.tar.gz
- Upload date:
- Size: 47.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.12.12 Linux/6.14.0-1014-gcp
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c72cebcc27c8ba5bae40afd4f4b43ab25b38b401c6fa00c8d864110aad8e0d48
|
|
| MD5 |
8cd345d143d7011a715f1647911bed57
|
|
| BLAKE2b-256 |
d3e64aef0b9fe193e4fd35012373afbe5c76d68940797a8cc44cd1b8ab859dd9
|
File details
Details for the file donkit_ragops_ce-0.2.1-py3-none-any.whl.
File metadata
- Download URL: donkit_ragops_ce-0.2.1-py3-none-any.whl
- Upload date:
- Size: 59.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.12.12 Linux/6.14.0-1014-gcp
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbfe03a62475d0c2765e4f9cbec1007c726e20782f697c0544455eadf7195d03
|
|
| MD5 |
0d6fc79d3947520b7d27f09c5c6e9b7d
|
|
| BLAKE2b-256 |
99d722025a72590b9438030a14143a492f249ef5ac843d92ed752b79a8c4f571
|