Skip to content

Commit e4101c8

Browse files
authored
Merge pull request #60 from anfredette/rename-to-neuralnav
Complete the rename from Compass to NeuralNav
2 parents 8743298 + de4c173 commit e4101c8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+381
-195
lines changed

.streamlit/config.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ gatherUsageStats = false
44
[server]
55
headless = true
66
port = 8501
7+
enableStaticServing = true
78

89
[theme]
910
primaryColor = "#1f77b4"

CLAUDE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
44

55
## Project Overview
66

7-
This repository contains the architecture design for **Compass**, an open-source system that guides users from concept to production-ready LLM deployments through a conversational AI and intelligent capacity planning.
7+
This repository contains the architecture design for **NeuralNav**, an open-source system that guides users from concept to production-ready LLM deployments through a conversational AI and intelligent capacity planning.
88

99
**Key Principle**: This is a **Phase 1 POC implementation** based on the architecture design. The core functionality is complete and working end-to-end.
1010

@@ -82,7 +82,7 @@ The system translates high-level user intent into technical specifications:
8282

8383
### Architecture Overview
8484

85-
Compass is structured as a layered architecture:
85+
NeuralNav is structured as a layered architecture:
8686

8787
**UI Layer** (Horizontal - Presentation):
8888
- **Conversational Interface, Specification Editor, Recommendation Visualizer, Monitoring Dashboard**
@@ -184,7 +184,7 @@ The recommendation engine uses **multi-criteria scoring** to rank configurations
184184

185185
### Terminology Consistency
186186

187-
- Use "**Compass**" as the project name
187+
- Use "**NeuralNav**" as the project name
188188
- Use "**TTFT**" for Time to First Token (not "time-to-first-token")
189189
- Use "**ITL**" for Inter-Token Latency (Phase 2 terminology, replaces TPOT)
190190
- Use "**SLO**" for Service Level Objective

CONTRIBUTING.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Contributing to Compass
1+
# Contributing to NeuralNav
22

3-
Thank you for your interest in contributing to Compass! This document provides guidelines for contributing to the project.
3+
Thank you for your interest in contributing to NeuralNav! This document provides guidelines for contributing to the project.
44

55
## Table of Contents
66

@@ -26,24 +26,24 @@ This section describes the complete workflow from setup to submitting a pull req
2626

2727
**2. Clone your fork locally:**
2828
```bash
29-
git clone https://github.com/YOUR_USERNAME/compass.git
30-
cd compass
29+
git clone https://github.com/YOUR_USERNAME/neuralnav.git
30+
cd neuralnav
3131
```
3232

3333
**3. Set up remotes:**
3434
```bash
3535
# Your fork is already set as 'origin' by the clone
3636
# Add the main repository as 'upstream'
37-
git remote add upstream https://github.com/redhat-et/compass.git
37+
git remote add upstream https://github.com/redhat-et/neuralnav.git
3838
```
3939

4040
Verify your remotes:
4141
```bash
4242
git remote -v
43-
# origin https://github.com/YOUR_USERNAME/compass.git (fetch)
44-
# origin https://github.com/YOUR_USERNAME/compass.git (push)
45-
# upstream https://github.com/redhat-et/compass.git (fetch)
46-
# upstream https://github.com/redhat-et/compass.git (push)
43+
# origin https://github.com/YOUR_USERNAME/neuralnav.git (fetch)
44+
# origin https://github.com/YOUR_USERNAME/neuralnav.git (push)
45+
# upstream https://github.com/redhat-et/neuralnav.git (fetch)
46+
# upstream https://github.com/redhat-et/neuralnav.git (push)
4747
```
4848

4949
**4. Set up your development environment** by following the [Quick Start guide](README.md#quick-start).
@@ -334,7 +334,7 @@ make format
334334

335335
## License
336336

337-
By contributing to Compass, you agree that your contributions will be licensed under the same license as the project (see [LICENSE](LICENSE)).
337+
By contributing to NeuralNav, you agree that your contributions will be licensed under the same license as the project (see [LICENSE](LICENSE)).
338338

339339
## Questions?
340340

@@ -343,4 +343,4 @@ If you have questions not covered here, please:
343343
2. Open a new issue with the "question" label
344344
3. Reach out to maintainers
345345

346-
Thank you for contributing to Compass!
346+
Thank you for contributing to NeuralNav!

DOCKER.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# Docker Deployment Guide for Compass
1+
# Docker Deployment Guide for NeuralNav
22

3-
This guide explains how to run Compass using Docker and Docker Compose.
3+
This guide explains how to run NeuralNav using Docker and Docker Compose.
44

55
## Overview
66

7-
Compass is containerized into the following services:
7+
NeuralNav is containerized into the following services:
88

99
- **postgres**: PostgreSQL database for benchmarks and deployment outcomes
1010
- **ollama**: Ollama LLM service for intent extraction (qwen2.5:7b model)
@@ -70,7 +70,7 @@ This repository includes a **Makefile** that provides convenient shortcuts for a
7070
| **Clean everything** | `docker-compose down -v --remove-orphans` | `make docker-clean` |
7171
| **Backend shell** | `docker-compose exec backend /bin/bash` | `make docker-shell-backend` |
7272
| **UI shell** | `docker-compose exec ui /bin/bash` | `make docker-shell-ui` |
73-
| **PostgreSQL shell** | `docker-compose exec postgres psql -U compass -d compass` | `make docker-shell-postgres` |
73+
| **PostgreSQL shell** | `docker-compose exec postgres psql -U neuralnav -d neuralnav` | `make docker-shell-postgres` |
7474

7575
### Examples
7676

@@ -179,20 +179,20 @@ make docker-ps
179179

180180
```bash
181181
# Access PostgreSQL CLI
182-
docker-compose exec postgres psql -U compass -d compass
182+
docker-compose exec postgres psql -U neuralnav -d neuralnav
183183
make docker-shell-postgres
184184

185185
# Run database migrations/scripts
186-
docker-compose exec postgres psql -U compass -d compass -f /scripts/schema.sql
186+
docker-compose exec postgres psql -U neuralnav -d neuralnav -f /scripts/schema.sql
187187

188188
# Load benchmark data
189189
docker-compose exec backend python scripts/load_benchmarks.py
190190

191191
# Backup database
192-
docker-compose exec postgres pg_dump -U compass compass > backup.sql
192+
docker-compose exec postgres pg_dump -U neuralnav neuralnav > backup.sql
193193

194194
# Restore database
195-
docker-compose exec -T postgres psql -U compass compass < backup.sql
195+
docker-compose exec -T postgres psql -U neuralnav neuralnav < backup.sql
196196
```
197197

198198
### Ollama Operations
@@ -216,8 +216,8 @@ Create a `.env` file in the project root to customize configuration:
216216

217217
```env
218218
# Database Configuration
219-
POSTGRES_DB=compass
220-
POSTGRES_USER=compass
219+
POSTGRES_DB=neuralnav
220+
POSTGRES_USER=neuralnav
221221
POSTGRES_PASSWORD=your_secure_password
222222
223223
# Ollama Configuration
@@ -324,11 +324,11 @@ curl http://localhost:11434/ # Ollama
324324

325325
### Network Topology
326326

327-
All services communicate via a bridge network (`compass-network`):
327+
All services communicate via a bridge network (`neuralnav-network`):
328328

329329
```
330330
┌─────────────────────────────────────────────┐
331-
compass-network (bridge) │
331+
neuralnav-network (bridge) │
332332
│ │
333333
│ ┌─────────┐ ┌─────────┐ ┌────────┐ │
334334
│ │ UI │───▶│ Backend │───▶│Postgres│ │
@@ -382,7 +382,7 @@ docker-compose logs postgres # Use docker-compose for PostgreSQL
382382
docker-compose exec ollama ollama list
383383
384384
# Verify database schema
385-
docker-compose exec postgres psql -U compass -c "\dt"
385+
docker-compose exec postgres psql -U neuralnav -c "\dt"
386386
```
387387

388388
### Database Connection Errors
@@ -397,7 +397,7 @@ docker-compose logs postgres
397397

398398
**Test database connection:**
399399
```bash
400-
docker-compose exec postgres pg_isready -U compass
400+
docker-compose exec postgres pg_isready -U neuralnav
401401
```
402402

403403
**Reset database (WARNING: deletes all data):**
@@ -474,7 +474,7 @@ Example nginx configuration:
474474
```nginx
475475
server {
476476
listen 80;
477-
server_name compass.example.com;
477+
server_name neuralnav.example.com;
478478
479479
location / {
480480
proxy_pass http://localhost:8501;
@@ -513,6 +513,6 @@ server {
513513
## Support
514514

515515
For issues and questions:
516-
- Check [GitHub Issues](https://github.com/yourusername/compass/issues)
516+
- Check [GitHub Issues](https://github.com/yourusername/neuralnav/issues)
517517
- Review Docker logs: `docker-compose logs -f`
518518
- Verify service health: `docker-compose ps`

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright 2025 The authors of Compass
189+
Copyright 2025 The authors of NeuralNav
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.

Makefile

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Compass - Makefile
1+
# NeuralNav - Makefile
22
#
3-
# This Makefile provides common development tasks for Compass.
3+
# This Makefile provides common development tasks for NeuralNav.
44
# Supports macOS and Linux.
55

66
.PHONY: help
@@ -40,13 +40,13 @@ CONTAINER_TOOL ?= $(shell \
4040

4141
# Configuration
4242
REGISTRY ?= quay.io
43-
REGISTRY_ORG ?= vllm-assistant
43+
REGISTRY_ORG ?= neuralnav
4444
SIMULATOR_IMAGE ?= vllm-simulator
4545
SIMULATOR_TAG ?= latest
4646
SIMULATOR_FULL_IMAGE := $(REGISTRY)/$(REGISTRY_ORG)/$(SIMULATOR_IMAGE):$(SIMULATOR_TAG)
4747

4848
OLLAMA_MODEL ?= qwen2.5:7b
49-
KIND_CLUSTER_NAME ?= compass-poc
49+
KIND_CLUSTER_NAME ?= neuralnav
5050

5151
PGDUMP_INPUT ?= data/integ-oct-29.sql
5252
PGDUMP_OUTPUT ?= data/benchmarks_GuideLLM.json
@@ -213,15 +213,15 @@ stop: ## Stop all services
213213
kill $$(cat $(BACKEND_PID)) 2>/dev/null || true; \
214214
rm -f $(BACKEND_PID); \
215215
fi
216-
@# Kill any remaining Compass processes by pattern matching
216+
@# Kill any remaining NeuralNav processes by pattern matching
217217
@pkill -f "streamlit run ui/app.py" 2>/dev/null || true
218218
@pkill -f "uvicorn src.api.routes:app" 2>/dev/null || true
219219
@# Give processes time to exit gracefully
220220
@sleep 1
221221
@# Force kill if still running
222222
@pkill -9 -f "streamlit run ui/app.py" 2>/dev/null || true
223223
@pkill -9 -f "uvicorn src.api.routes:app" 2>/dev/null || true
224-
@printf "$(GREEN)✓ All Compass services stopped$(NC)\n"
224+
@printf "$(GREEN)✓ All NeuralNav services stopped$(NC)\n"
225225
@# Don't stop Ollama as it might be used by other apps
226226
@printf "$(YELLOW)Note: Ollama left running (use 'pkill ollama' to stop manually)$(NC)\n"
227227

@@ -255,7 +255,7 @@ open-backend: ## Open backend API docs in browser
255255

256256
build-simulator: ## Build vLLM simulator Docker image
257257
@printf "$(BLUE)Building simulator image...$(NC)\n"
258-
cd $(SIMULATOR_DIR) && $(CONTAINER_TOOL) build -t vllm-simulator:latest -t $(SIMULATOR_FULL_IMAGE) .
258+
$(CONTAINER_TOOL) build -f $(SIMULATOR_DIR)/Dockerfile -t vllm-simulator:latest -t $(SIMULATOR_FULL_IMAGE) .
259259
@printf "$(GREEN)✓ Simulator image built:$(NC)\n"
260260
@printf " - vllm-simulator:latest\n"
261261
@printf " - $(SIMULATOR_FULL_IMAGE)\n"
@@ -347,7 +347,7 @@ docker-shell-ui: ## Open shell in UI container
347347
@docker-compose exec ui /bin/bash
348348

349349
docker-shell-postgres: ## Open PostgreSQL shell in container
350-
@docker-compose exec postgres psql -U compass -d compass
350+
@docker-compose exec postgres psql -U neuralnav -d neuralnav
351351

352352
##@ Kubernetes Cluster
353353

@@ -383,38 +383,38 @@ clean-deployments: ## Delete all InferenceServices from cluster
383383

384384
db-start: ## Start PostgreSQL container for benchmark data
385385
@printf "$(BLUE)Starting PostgreSQL...$(NC)\n"
386-
@if $(CONTAINER_TOOL) ps -a --format '{{.Names}}' | grep -q '^compass-postgres$$'; then \
387-
if $(CONTAINER_TOOL) ps --format '{{.Names}}' | grep -q '^compass-postgres$$'; then \
386+
@if $(CONTAINER_TOOL) ps -a --format '{{.Names}}' | grep -q '^neuralnav-postgres$$'; then \
387+
if $(CONTAINER_TOOL) ps --format '{{.Names}}' | grep -q '^neuralnav-postgres$$'; then \
388388
printf "$(YELLOW)PostgreSQL already running$(NC)\n"; \
389389
else \
390-
$(CONTAINER_TOOL) start compass-postgres; \
390+
$(CONTAINER_TOOL) start neuralnav-postgres; \
391391
printf "$(GREEN)✓ PostgreSQL started$(NC)\n"; \
392392
fi \
393393
else \
394-
$(CONTAINER_TOOL) run --name compass-postgres -d \
395-
-e POSTGRES_PASSWORD=compass \
396-
-e POSTGRES_DB=compass \
394+
$(CONTAINER_TOOL) run --name neuralnav-postgres -d \
395+
-e POSTGRES_PASSWORD=neuralnav \
396+
-e POSTGRES_DB=neuralnav \
397397
-p 5432:5432 \
398398
postgres:16; \
399399
sleep 3; \
400400
printf "$(GREEN)✓ PostgreSQL started on port 5432$(NC)\n"; \
401401
fi
402-
@printf "$(BLUE)Database URL:$(NC) postgresql://postgres:compass@localhost:5432/compass\n"
402+
@printf "$(BLUE)Database URL:$(NC) postgresql://postgres:neuralnav@localhost:5432/neuralnav\n"
403403

404404
db-stop: ## Stop PostgreSQL container
405405
@printf "$(BLUE)Stopping PostgreSQL...$(NC)\n"
406-
@$(CONTAINER_TOOL) stop compass-postgres 2>/dev/null || true
406+
@$(CONTAINER_TOOL) stop neuralnav-postgres 2>/dev/null || true
407407
@printf "$(GREEN)✓ PostgreSQL stopped$(NC)\n"
408408

409409
db-remove: db-stop ## Stop and remove PostgreSQL container
410410
@printf "$(BLUE)Removing PostgreSQL container...$(NC)\n"
411-
@$(CONTAINER_TOOL) rm compass-postgres 2>/dev/null || true
411+
@$(CONTAINER_TOOL) rm neuralnav-postgres 2>/dev/null || true
412412
@printf "$(GREEN)✓ PostgreSQL container removed$(NC)\n"
413413

414414
db-init: db-start ## Initialize PostgreSQL schema
415415
@printf "$(BLUE)Initializing PostgreSQL schema...$(NC)\n"
416416
@sleep 2
417-
@$(CONTAINER_TOOL) exec -i compass-postgres psql -U postgres -d compass < scripts/schema.sql
417+
@$(CONTAINER_TOOL) exec -i neuralnav-postgres psql -U postgres -d neuralnav < scripts/schema.sql
418418
@printf "$(GREEN)✓ Schema initialized$(NC)\n"
419419

420420
db-load-synthetic: db-start ## Load synthetic benchmark data (appends)
@@ -457,19 +457,19 @@ db-convert-pgdump: db-start ## Convert PostgreSQL dump to JSON format
457457
@printf "$(GREEN)✓ Created $(PGDUMP_OUTPUT)$(NC)\n"
458458

459459
db-shell: ## Open PostgreSQL shell
460-
@$(CONTAINER_TOOL) exec -it compass-postgres psql -U postgres -d compass
460+
@$(CONTAINER_TOOL) exec -it neuralnav-postgres psql -U postgres -d neuralnav
461461

462462
db-query-traffic: ## Query unique traffic patterns from database
463463
@printf "$(BLUE)Querying unique traffic patterns...$(NC)\n"
464-
@$(CONTAINER_TOOL) exec -i compass-postgres psql -U postgres -d compass -c \
464+
@$(CONTAINER_TOOL) exec -i neuralnav-postgres psql -U postgres -d neuralnav -c \
465465
"SELECT DISTINCT mean_input_tokens, mean_output_tokens, COUNT(*) as num_benchmarks \
466466
FROM exported_summaries \
467467
GROUP BY prompt_tokens, output_tokens \
468468
ORDER BY prompt_tokens, output_tokens;"
469469

470470
db-query-models: ## Query available models in database
471471
@printf "$(BLUE)Querying available models...$(NC)\n"
472-
@$(CONTAINER_TOOL) exec -i compass-postgres psql -U postgres -d compass -c \
472+
@$(CONTAINER_TOOL) exec -i neuralnav-postgres psql -U postgres -d neuralnav -c \
473473
"SELECT DISTINCT model_hf_repo, hardware, hardware_count, COUNT(*) as num_benchmarks \
474474
FROM exported_summaries \
475475
GROUP BY model_hf_repo, hardware, hardware_count \

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# <img src="docs/compass-logo.ico" alt="Compass" width="32" style="vertical-align: middle;"/> Compass
1+
# <img src="docs/neuralnav-logo.ico" alt="NeuralNav" width="32" style="vertical-align: middle;"/> NeuralNav
22

33
**Confidently navigate LLM deployments from concept to production.**
44

@@ -8,9 +8,9 @@
88

99
The system addresses a critical challenge: **how do you translate business requirements into the right model and infrastructure choices without expensive trial-and-error?**
1010

11-
Compass guides you from concept to production LLM deployments through SLO-driven capacity planning. Conversationally define your requirements—Compass translates them into traffic profiles, performance targets, and cost constraints. Get intelligent model and GPU recommendations based on real benchmarks. Explore alternatives, compare tradeoffs, deploy with one click, and monitor actual performance—staying on course as your needs evolve.
11+
NeuralNav guides you from concept to production LLM deployments through SLO-driven capacity planning. Conversationally define your requirements—NeuralNav translates them into traffic profiles, performance targets, and cost constraints. Get intelligent model and GPU recommendations based on real benchmarks. Explore alternatives, compare tradeoffs, deploy with one click, and monitor actual performance—staying on course as your needs evolve.
1212

13-
The code in this repository implements the **Compass Phase 2 MVP** with production-grade data management. Phase 1 (POC) demonstrated the end-to-end workflow with synthetic data. Phase 2 adds PostgreSQL for benchmark storage, a traffic profile framework aligned with GuideLLM standards, experience-driven SLO mapping, and p95 percentile targets for conservative guarantees.
13+
The code in this repository implements the **NeuralNav Phase 2 MVP** with production-grade data management. Phase 1 (POC) demonstrated the end-to-end workflow with synthetic data. Phase 2 adds PostgreSQL for benchmark storage, a traffic profile framework aligned with GuideLLM standards, experience-driven SLO mapping, and p95 percentile targets for conservative guarantees.
1414

1515
### Key Features
1616

@@ -59,15 +59,15 @@ make cluster-start # Optional: Create local KIND cluster with vLLM simulator fo
5959

6060
Then open [http://localhost:8501](http://localhost:8501) in your browser.
6161

62-
**Note**: PostgreSQL runs as a Docker container (`compass-postgres`) with benchmark data. All `db-load-*` commands append to existing data. Use `make db-reset` first for a clean database.
62+
**Note**: PostgreSQL runs as a Docker container (`neuralnav-postgres`) with benchmark data. All `db-load-*` commands append to existing data. Use `make db-reset` first for a clean database.
6363

6464
**Stop everything:**
6565
```bash
6666
make stop # Stop services
6767
make cluster-stop # Delete cluster (optional)
6868
```
6969

70-
### Using Compass
70+
### Using NeuralNav
7171

7272
1. **Describe your use case** in the chat interface
7373
- Example: "I need a customer service chatbot for 5000 users with low latency"
@@ -93,7 +93,7 @@ The POC includes 3 pre-configured scenarios (see [data/demo_scenarios.json](data
9393

9494
## Architecture Highlights
9595

96-
Compass implements an **8-component architecture** with:
96+
NeuralNav implements an **8-component architecture** with:
9797

9898
- **Conversational Interface** (Streamlit) - Chat-based requirement gathering with interactive exploration
9999
- **Context & Intent Engine** - LLM-powered extraction of deployment specs
@@ -169,7 +169,7 @@ make clean # Remove generated files
169169

170170
## vLLM Simulator Mode
171171

172-
Compass includes a **GPU-free simulator** for local development:
172+
NeuralNav includes a **GPU-free simulator** for local development:
173173

174174
- **No GPU required** - Run deployments on any laptop
175175
- **OpenAI-compatible API** - `/v1/completions` and `/v1/chat/completions`

0 commit comments

Comments
 (0)