Skip to content

r4huldeveloper/Signalboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Signalboard - RAG Intelligence Copilot

Local-first MVP for ingesting project knowledge (meeting notes, CSV trackers, manual uploads), processing it asynchronously, and answering PM/TPM questions with citations.

Architecture

  • Frontend: React + Vite
  • Backend: FastAPI
  • Database: Postgres + pgvector
  • Queue: Redis + RQ
  • Worker: Python RQ worker
  • Embeddings: Ollama nomic-embed-text (768 dimensions)
  • LLM: Ollama qwen2.5:7b (fallback: qwen2.5:3b on low-RAM machines)
  • Packaging: Docker Compose

Prerequisites

  1. Docker Desktop (with Compose)
  2. Ollama running on the host machine

Pull required models on the host:

ollama pull nomic-embed-text
ollama pull qwen2.5:7b

For machines with 8 GB RAM or less, use qwen2.5:3b instead and set OLLAMA_LLM_MODEL=qwen2.5:3b in .env.

Quick Start

cd rag_intelligence_copilot/deccan-ai-copilot
cp .env.example .env
docker compose up --build

Services:

Service URL
Frontend http://localhost:5173
Backend http://localhost:8000
Postgres localhost:5432
Redis localhost:6379

API docs: http://localhost:8000/docs

Smoke Test

Recommended: use the dummy data pack at ../dummy_data/ — 5 PM-themed text files with full upload and chat test instructions. No manual metadata required.

Quick test:

  1. Open http://localhost:5173
  2. Upload tab → select all 5 files from ../dummy_data/ (bulk upload)
  3. Click Upload & Process and wait for all jobs completed
  4. Chat: ask Why is Project Phoenix delayed? with project filter Phoenix
  5. Confirm answer includes citations (see dummy_data/README.md for more questions)
  6. Dashboard shows document/chunk/job counts

Supported upload formats: .txt, .md, .csv, .pdf, .docx (max 10 MB per file).

API Endpoints

Method Path Description
GET /health Health check
POST /documents/upload Upload document (JSON)
POST /documents/upload/bulk Upload files (multipart)
GET /documents List documents
GET /jobs/{job_id} Job status
POST /chat/query Ask question
GET /dashboard/summary Stats

Environment Variables

See [.env.example](.env.example). Key settings:

  • OLLAMA_BASE_URL — default http://host.docker.internal:11434 for Docker → host Ollama
  • EMBEDDING_DIMENSION — must match model (768 for nomic-embed-text)
  • CHUNK_SIZE_CHARS / CHUNK_OVERLAP_CHARS — default 3500 / 500
  • UPLOAD_MAX_BYTES — max file size (default 10 MB)
  • ALLOWED_UPLOAD_EXTENSIONS.txt,.md,.csv,.pdf,.docx

Project Structure

main/
  backend/app/          # FastAPI, services, workers
  frontend/src/         # React UI
  docker-compose.yml

About

Delivery intelligence layer for TPM/PMs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors