This is the official frontend user interface component for NeMo Agent Toolkit, an open-source library for building AI agents and workflows.
This project builds upon the work of:
- chatbot-ui by Mckay Wrigley
- chatbot-ollama by Ivan Fioravanti
- π¨ Modern and responsive user interface
- π Real-time streaming responses
- π€ Human-in-the-loop workflow support
- π Light/Dark theme
- π WebSocket and HTTP API integration
- π³ Docker support
- NeMo Agent Toolkit installed and configured
- Git
- Node.js (v18 or higher)
- npm or Docker
Clone the repository:
git clone [email protected]:NVIDIA/NeMo-Agent-Toolkit-UI.git
cd NeMo-Agent-Toolkit-UI
Install dependencies:
npm ci
npm run dev
The application will be available at http://localhost:3000
# Build the Docker image
docker build -t nemo-agent-toolkit-ui .
# Run the container with environment variables from .env
# Ensure the .env file is present before running this command.
# Skip --env-file .env if no overrides are needed.
docker run --env-file .env -p 3000:3000 nemo-agent-toolkit-ui
Settings can be configured by selecting the Settings
icon located on the bottom left corner of the home page.
NOTE: Most of the time, you will want to select /chat/stream for intermediate results streaming.
Theme
: Light or Dark ThemeHTTP URL for Chat Completion
: REST API endpoint- /generate - Single response generation
- /generate/stream - Streaming response generation
- /chat - Single response chat completion
- /chat/stream - Streaming chat completion
WebSocket URL for Completion
: WebSocket URL to connect to running NeMo Agent Toolkit serverWebSocket Schema
: Workflow schema type over WebSocket connection
- Set up NeMo Agent Toolkit following the getting started guide
- Start workflow by following the Getting Started Examples
nat serve --config_file=examples/getting_started/simple_calculator/configs/config.yml
Interact with the chat interface by prompting the agent with the message:
Is 4 + 4 greater than the current hour of the day?
- Set up NeMo Agent Toolkit following the getting started guide
- Start workflow by following the HITL Example
nat serve --config_file=examples/HITL/simple_calculator_hitl/configs/config-hitl.yml
Enable WebSocket mode in the settings panel for bidirectional real-time communication between the client and server.
- Send the following prompt:
Can you process my input and display the result for the given prompt: How are you today?
- Enter your response when prompted:
- Monitor the result:
The UI supports both HTTP requests (OpenAI Chat compatible) and WebSocket connections for server communication. For detailed information about WebSocket messaging integration, please refer to the WebSocket Documentation in the NeMo Agent Toolkit documentation.
This project is licensed under the MIT License - see the LICENSE file for details. The project includes code from chatbot-ui and chatbot-ollama, which are also MIT licensed.