The Brain - Multimodal RAG Dashboard & 3D Knowledge Graph
문서(텍스트, 이미지, 테이블, 수식)를 로컬 또는 클라우드 LLM으로 처리하고 대화형 3D 지식 그래프로 탐색하는 RAG 대시보드
Overview
The Brain은 다중 모달(multimodal) 문서를 인게스트하고 대화형 3D Knowledge Graph로 탐색할 수 있는 RAG 대시보드다.
핵심 특징:
- 다중 모달 인게스트: 텍스트, 이미지, 테이블, 수식 통합 처리
- 3D Knowledge Graph 시각화: Neo4j 기반 그래프를 대화형으로 탐색
- 하이브리드 실행: 로컬(Ollama, llama.cpp, vLLM, LM Studio) 또는 클라우드(OpenAI 호환 API)
- Fully offline 가능: 로컬 모델만으로 전담 가능
Architecture
┌─────────────────────────────────────────────────────┐
│ Frontend (Web UI) │
│ 3D Knowledge Graph + RAG Query UI │
├─────────────────────────────────────────────────────┤
│ Backend: FastAPI + Uvicorn │
│ SSE (Server-Sent Events) for log streaming │
├─────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌────────────┐ │
│ │ LightRAG │ │ RAG-Anything │ │ MinerU │ │
│ │ (RAG 파이프라인) │ (다중 모달) │ │ (PDF 파서) │ │
│ └──────────────┘ └──────────────┘ └────────────┘ │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Neo4j │ │ NanoVectorDB │ │
│ │ (Knowledge Graph) │ (Vector Store) │ │
│ └──────────────┘ └──────────────┘ │
│ │
│ ┌──────────────┐ │
│ │BGE-Reranker-v2-m3│ │
│ │ (Default reranker) │ │
│ └──────────────┘ │
└─────────────────────────────────────────────────────┘
▲ ▲
Local LLM Providers Cloud APIs
Ollama / llama.cpp / vLLM / LM Studio / OpenAI
컴포넌트 상세:
| 컴포넌트 | 기술 | 역할 |
|---|---|---|
| Backend | Python, FastAPI, Uvicorn | API 서버 + SSE 로깅 |
| RAG Pipeline | LightRAG + RAG-Anything | 검색 증강 생성 파이프라인 |
| Document Parser | MinerU | PDF 레이아웃 인식, OCR, 다중 모달 추출 |
| Knowledge Graph DB | Neo4j | 그래프 기반 지식 저장 |
| Vector DB | NanoVectorDB | 의미론적 검색 |
| Reranker | BAAI/bge-reranker-v2-m3 | 검색 결과 재순위화 |
LLM Engine Support
LLM_ENGINE 환경변수로 로컬/클라우드 간 전환 가능:
| Engine | Base URL | 비고 |
|---|---|---|
ollama | http://localhost:11434 | 로컬 기본값 |
llamacpp | http://localhost:8080/v1 | llama.cpp 서버 |
vllm | http://localhost:8000/v1 | 고성능 vLLM |
lmstudio | http://localhost:1234/v1 | LM Studio |
openai | https://api.openai.com/v1 | 클라우드 |
Default 모델 구성:
| 용도 | 모델 | 비고 |
|---|---|---|
| LLM (텍스트) | qwen3.5:9b | 엔티티 추출 + 쿼리 |
| Vision (이미지/표/수식) | qwen2.5vl:latest | 다중 모달 처리 |
| Embedding | qwen3-embedding:8b | 벡터화 |
| Reranker | qwen3-reranker-0.6b | 선택적 |
Settings
LLM 설정:
| 변수 | 기본값 | 설명 |
|---|---|---|
LLM_NUM_CTX | 32768 | 컨텍스트 윈도우 |
LLM_TIMEOUT | 300s | 응답 타임아웃 |
LLM_MAX_ASYNC | 1 | 최대 동시 요청 |
Embedding 설정:
| 변수 | 기본값 | 설명 |
|---|---|---|
EMBEDDING_DIM | 4096 | 벡터 차원 (모델 아키텍처와 일치 필수) |
MAX_EMBED_TOKENS | 8192 | 임베딩 모델 최대 컨텍스트 |
EMBEDDING_TIMEOUT | 300s | 임베딩 타임아웃 |
Chunk 설정:
| 변수 | 기본값 | 설명 |
|---|---|---|
CHUNK_SIZE | 600 | 청크당 토큰 수 |
CHUNK_OVERLAP_SIZE | 100 | 인접 청크 간 오버랩 |
Storage
| Volume | 내용 |
|---|---|
thebrain_data | Vector DB, 업로드 이력, 파싱 결과 |
lightrag_neo4j_data | Neo4j 그래프 데이터 |
Quick Start
# Docker Compose 파일 생성
services:
the-brain:
image: ghcr.io/hastur-hp/the-brain:latest
container_name: the_brain
restart: unless-stopped
network_mode: host
environment:
# LLM Engine 설정
LLM_ENGINE: ollama
OLLAMA_BASE_URL: http://localhost:11434
OPENAI_API_KEY: sk-local-test-key # 더미 키 (OpenAI 포맷 사용 시)
# 모델 설정
LLM_MODEL: qwen3.5:9b
VISION_MODEL: qwen2.5vl:latest
EMBEDDING_MODEL: qwen3-embedding:8b
volumes:
- thebrain_data:/app/data
- lightrag_neo4j_data:/dataRelated Notes
- moc-ai-agents-orchestration — 오케스트레이션 & 인프라 관련 MOC
- moc-llm-wiki — LLM Wiki 관련 MOC
Source
- GitHub: https://github.com/Hastur-HP/The-Brain
- Stars: 12 | Forks: 1 | License: MIT
- Languages: JavaScript (35.6%), Python (30.1%), CSS (18.6%), HTML (15.7%)
- Latest Release: v1.1.1 (2026-03-22)