πŸ“š Docs / πŸ“š Documentation β€” Lawyer Assistant

πŸ“š Documentation β€” Lawyer Assistant

Everything you need to build, debug, or understand the app β€” organized so you find answers fast. Official repository: github.com/haal-lab/Lawyer-Assistant Β· issues & PRs welcome.

πŸ”₯ Start here

I want to...Read this
Use the appQUICKSTART.md β€” from clone to first query
Fix something brokenTROUBLESHOOTING.md β€” 12 failure scenarios with exact fixes
Understand the architectureARCHITECTURE.md β€” system diagram, ports, runtime modes

πŸ“– Full index

DocumentWhat's insideWho it's for
πŸš€ QUICKSTART.mdClone β†’ install β†’ run β†’ first query β†’ verifyNew developers
🩺 TROUBLESHOOTING.mdBackend down, Ollama missing, stale ports, empty results, GPU OOM, slow first queryAnyone debugging
πŸ“‹ CHANGELOG.mdRecent feature history β€” answers "what changed recently?"Everyone tracking progress
πŸ—οΈ ARCHITECTURE.mdSystem overview, Electron/Vite/FastAPI components, ports, runtime modesHigh-level understanding
🐍 BACKEND.mdFastAPI endpoints, AI routers, tools, retrieval pipeline, compliance scan, configAPI & backend questions
βš›οΈ FRONTEND.mdReact layout, chat flow, Zustand stores, streaming events, theming, API layerUI/UX & state management
🎨 PIPELINE_EDITOR.mdVisual canvas: sub-nodes, toggles, bypass edges, persistence, export/importPipeline feature
πŸ“ PIPELINE_JSON.mdExact JSON schema β€” write a valid layout from scratchAI models & hand-editors
πŸ–₯️ GPU_MANAGEMENT.mdSmart VRAM sharing, RAM-first residency, priority, batch auto-tuning, per-project profilesGPU tuning & low-end hardware
πŸ€– AGENT_KNOWLEDGE_BASE.mdQuick Q&A β€” the fastest path to a correct answerAI agents answering questions
πŸ“– GLOSSARY.mdOne-line definitions for every term (RAG, HNSW, BM25, SSE, HITL, …)Terminology lookup
πŸ” CHATBOT_FLOW.mdStep-by-step: user types message β†’ intent β†’ tools β†’ rerank β†’ LLM β†’ answerDeep-dive: chat request end-to-end
πŸ“Š DATA_FLOW.mdDocument ingestion: parse β†’ chunk β†’ embed β†’ ChromaDB + BM25Deep-dive: data pipeline
πŸ—ΊοΈ PIPELINE_ROADMAP.mdPlanned improvements to the RAG pipelineRoadmap
🎨 API_PROVIDER.mdCloud mode: providers, env vars, mixing providers, rerank modes, extended thinkingAPI mode setup
πŸš€ LAUNCHER.mdSetup page internals: install steps, provider picker, Ollama automationLauncher development

πŸ—ΊοΈ Quick topic map

How do I run it?              β†’ QUICKSTART.md
Something broken?             β†’ TROUBLESHOOTING.md
What changed recently?        β†’ CHANGELOG.md
What is this app?             β†’ ARCHITECTURE.md
What ports does it use?       β†’ ARCHITECTURE.md Β§2
How does a chat flow work?    β†’ BACKEND.md Β§3 / CHATBOT_FLOW.md
What API endpoints exist?     β†’ BACKEND.md Β§2
How does retrieval work?      β†’ BACKEND.md Β§5
How does compliance scan?     β†’ BACKEND.md Β§6
How does the GPU manager?     β†’ GPU_MANAGEMENT.md
How is the UI structured?     β†’ FRONTEND.md
Where is state stored?        β†’ FRONTEND.md Β§3
What is the pipeline editor?  β†’ PIPELINE_EDITOR.md
How do I write a layout JSON? β†’ PIPELINE_JSON.md
How do I set up API mode?     β†’ API_PROVIDER.md
How does the launcher work?   β†’ LAUNCHER.md
What does a term mean?        β†’ GLOSSARY.md
Quick answers to questions?   β†’ AGENT_KNOWLEDGE_BASE.md

πŸ€– For AI agents

  1. Start with AGENT_KNOWLEDGE_BASE.md for the fastest correct answer.
  2. Follow cross-references to ARCHITECTURE.md, BACKEND.md, FRONTEND.md for depth.
  3. Verify facts against source code: backend/main.py, backend/legal_retrieval/*.py, frontend/src/**.

πŸ“ Project layout

Lawyer-Assistant/
β”œβ”€β”€ backend/               # Python β€” FastAPI + RAG engine + AI agents
β”‚   β”œβ”€β”€ main.py            #   Server entry point (port 8765)
β”‚   β”œβ”€β”€ legal_retrieval/   #   Core engine (embedder, reranker, router, tools)
β”‚   β”œβ”€β”€ scripts/           #   CLI helpers (ingest_all.py, query.py)
β”‚   β”œβ”€β”€ tests/             #   Phase-based test suites
β”‚   └── requirements.txt   #   Single dependency file
β”œβ”€β”€ frontend/              # React + TypeScript + Tailwind
β”‚   β”œβ”€β”€ src/               #   App.tsx, components/, store/, services/
β”‚   └── electron/          #   Electron shell (main process, python bridge)
β”œβ”€β”€ launcher/              # Setup page (no dependencies needed)
β”œβ”€β”€ assets/                # README screenshots
β”œβ”€β”€ docs/                  # This knowledge base
β”œβ”€β”€ data/                  # ChromaDB, BM25, processed files
└── models/                # BGE-M3, BGE-Reranker (downloaded on first run)

Questions, answered

Short, self-contained answers about this guide.

Where should I start reading?

Follow the canonical order: the docs index, then QUICKSTART for setup, TROUBLESHOOTING for common failures, ARCHITECTURE for the system overview, then the BACKEND and FRONTEND guides for depth.

How are topics mapped to docs?

The index includes a topic-to-doc table covering API, retrieval, scan, frontend behavior, pipeline editor, Electron shell, and scripts β€” so you can jump straight to the right file.

Do the docs stay current?

Docs can drift β€” the index marks the canonical knowledge base and points agents to verify technical claims against source code when in doubt.