A production-ready multi-agent system for analyzing Request for Enhancement (RFE) descriptions using specialized AI personas with RAG-powered knowledge bases, built on LlamaDeploy and @llamaindex/server.
RHOAI uses 7 specialized AI agents working together to provide comprehensive feature analysis:
- UX Designer (UXD) - User experience, interface design, accessibility
- Product Manager (PM) - Business requirements, prioritization, stakeholder alignment
- Backend Engineer - System architecture, APIs, database design
- Frontend Engineer - React implementation, TypeScript, state management
- Architect - Overall system design, integration patterns, scalability
- Product Owner - Business value, acceptance criteria, stakeholder management
- SME/Researcher - Domain expertise, industry best practices, research
- π Production Python Backend: LlamaDeploy workflow orchestration with native Python LlamaIndex
- π¨ Modern TypeScript Frontend: Professional chat UI powered by @llamaindex/server
- π€ Multi-Agent Analysis: Each agent analyzes RFEs from their specialized perspective
- π RAG Knowledge Bases: Agents access domain-specific knowledge from configured data sources
- π Production Ready: Enterprise-grade deployment, monitoring, and scaling
- π API Access: Full REST API for programmatic integration
- π Real-time Progress: Streaming responses and workflow observability
βββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββ
β Python Backend β β TypeScript Frontend β
β (LlamaDeploy) β β (@llamaindex/server) β
β β β β
β β’ Multi-Agent Workflows ββββββ β’ Modern Chat Interface β
β β’ RAG Vector Retrieval β β β’ Real-time Updates β
β β’ Python LlamaIndex v0.12+ β β β’ API Integration β
β β’ Production Orchestration β β β’ Professional UI β
βββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββ
- RFE Input - User submits feature description via chat UI
- Multi-Agent Analysis - LlamaDeploy orchestrates all 7 agents simultaneously
- Knowledge Retrieval - RAG system provides domain-specific context for each agent
- Synthesis - Comprehensive analysis combining all agent perspectives
- Deliverables - Component teams, architecture diagrams, implementation timeline
If you haven't installed uv, you can follow the instructions here to install it.
You can configure LLM model and embedding model in src/settings.py.
You must also install pnpm globally
npm i -g pnpmPlease setup their API keys in the src/.env file.
Both the SDK and the CLI are part of the LlamaDeploy Python package. To install, just run:
uv syncGenerate the embeddings of the documents in the ./data directory:
uv run generateAt this point we have all we need to run this deployment. Ideally, we would have the API server already running somewhere in the cloud, but to get started let's start an instance locally. Run the following python script from a shell:
$ uv run -m llama_deploy.apiserver
INFO: Started server process [10842]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:4501 (Press CTRL+C to quit)
From another shell, use the CLI, llamactl, to create the deployment:
$ uv run llamactl deploy deployment.yml
Deployment successful: rhoai-ai-feature-sizing
LlamaDeploy will serve the UI through the apiserver. Point the browser to http://localhost:4501/deployments/rhoai-ai-feature-sizing/ui to interact with your deployment through a user-friendly interface.
You can find all the endpoints in the API documentation. To get started, you can try the following endpoints:
Create a new task:
curl -X POST 'http://localhost:4501/deployments/rhoai-ai-feature-sizing/tasks/create' \
-H 'Content-Type: application/json' \
-d '{
"input": "{\"user_msg\":\"Hello\",\"chat_history\":[]}",
"service_id": "rfe-builder-workflow"
}'Stream events:
curl 'http://localhost:4501/deployments/rhoai-ai-feature-sizing/tasks/0b411be6-005d-43f0-9b6b-6a0017f08002/events?session_id=dd36442c-45ca-4eaa-8d75-b4e6dad1a83e&raw_event=true' \
-H 'Content-Type: application/json'Note that the task_id and session_id are returned when creating a new task.
We have prepared a comprehensive RFE Builder workflow system that helps you interactively build RFEs with multi-agent collaboration, generate multiple artifacts, and edit them through chat.
The main workflow is in src/rfe_builder_workflow.py.
The UI is served by LlamaDeploy, you can configure the UI by modifying the uiConfig in the ui/index.ts file.
The following are the available options:
starterQuestions: Predefined questions for chat interfacecomponentsDir: Directory for custom event componentslayoutDir: Directory for custom layout componentsllamaDeploy: The LlamaDeploy configuration (deployment name and workflow name that defined in the deployment.yml file)
Agents are configured in YAML files in src/agents/. Each agent specifies:
- Persona & Role - Name and domain expertise
- Data Sources - Knowledge base directories or GitHub repositories
- Analysis Prompts - Structured prompts for consistent output
- Sample Knowledge - Fallback knowledge when no custom data available
Example agent configuration:
name: "Frontend Engineer"
persona: "FRONTEND_ENG"
expertise: ["react", "typescript", "ui-components"]
dataSources:
- "frontend-patterns"
- name: "react-docs"
type: "github"
source: "facebook/react"
options:
path: "docs/"Place documentation in data/ subdirectories matching agent data source names.
Configure in agent YAML files. Python pipeline handles cloning and indexing.
- Python indexes - Loaded first if available
- Local directories - TypeScript fallback for simple cases
- Sample knowledge - Built-in fallback for testing
- Python - Core workflow engine, agent coordination, LlamaDeploy orchestration
- TypeScript - Modern UI configuration and customization
- LlamaIndex - RAG system, vector stores, document processing, workflows
- LlamaDeploy - Production deployment and service orchestration
- OpenAI - Language model and embeddings
- YAML - Agent configuration with structured definitions
# Start with hot reload for development
uv run -m llama_deploy.apiserver
# In another terminal, deploy your changes
uv run llamactl deploy deployment.yml/
βββ src/agents/ # Agent YAML configurations
βββ src/ # Core Python workflow and settings
βββ ui/ # TypeScript UI configuration
βββ data/ # Local knowledge bases
βββ deployment.yml # LlamaDeploy configuration
- LlamaIndex Documentation - learn about LlamaIndex.
- Workflows Introduction - learn about LlamaIndex workflows.
- LlamaDeploy GitHub Repository
- Chat-UI Documentation
You can check out the LlamaIndex GitHub repository - your feedback and contributions are welcome!
This system provides a foundation for multi-agent RFE analysis with extensible agent configurations and flexible data source integration.