ex-GPTλ νκ΅λλ‘곡μ¬μ μ 무 ν¨μ¨μ± μ¦λλ₯Ό μν ν΅ν© AI μμ€ν μ λλ€. μ΅μ λ©ν°λͺ¨λ¬ λͺ¨λΈμ νμ©ν μ΄λ―Έμ§-ν μ€νΈ ν΅ν© μ²λ¦¬, RAG κΈ°λ° μ§λ₯ν κ²μ, λλ‘ μΈνλΌ νΉν λΆμ κΈ°λ₯μ μ 곡ν©λλ€.
ex-GPT-ai/
βββ START_SIMPLE.py # π ν΅ν© μμ μ€ν¬λ¦½νΈ (κΆμ₯)
βββ START_SYSTEM.bat # Windows λ°°μΉ μ€ν¬λ¦½νΈ
βββ backend/ # λ°±μλ API μλ²
β βββ src/ # μμ€ μ½λ
β β βββ multimodal/ # λ©ν°λͺ¨λ¬ μ²λ¦¬
β β βββ image_processing/ # μ΄λ―Έμ§ μ²λ¦¬ λͺ¨λ
β β βββ admin_tools/ # κ΄λ¦¬λꡬ
β β βββ rag_pipeline/ # RAG νμ΄νλΌμΈ
β βββ simple_test.py # λΉ λ₯Έ ν
μ€νΈ μλ²
β βββ run_ai.py # μ€μ AI λ°±μλ μ€ν
βββ frontend/ # React νλ‘ νΈμλ
β βββ src/ # React μ»΄ν¬λνΈ (47κ°)
β βββ package.json # React 19.1.1
βββ services/ # λλ©μΈ νΉν μλΉμ€
β βββ traffic-analysis/ # κ΅ν΅ λΆμ μλΉμ€
β βββ damage-detection/ # μμ κ°μ§ μλΉμ€
βββ config/ # νκ²½λ³ μ€μ
β βββ settings.py # ν΅ν© μ€μ
β βββ development.yaml # κ°λ°νκ²½
β βββ production.yaml # μ΄μνκ²½
βββ tests/ # ν΅ν© ν
μ€νΈ
βββ docker-compose.yml # Docker ꡬμ±
βββ verify_setup.py # μμ€ν
κ²μ¦
- Microsoft Florence-2 κΈ°λ° μ°¨μΈλ Vision Language Model
- μ΄λ―Έμ§ μΊ‘μ μμ±, κ°μ²΄ κ°μ§, OCR ν΅ν© μ²λ¦¬
- λλ‘ μΈνλΌ νΉν λΆμ (ν¬νΈν, κ· μ΄, κ΅ν΅νμ§ν λ±)
- CLIP λͺ¨λΈμ νμ©ν κ³ νμ§ μ΄λ―Έμ§ μλ² λ©
- κ΅ν΅ λΆμ: μ€μκ° κ΅ν΅ ν¨ν΄ λΆμ λ° μμΈ‘
- μμ κ°μ§: AI κΈ°λ° λλ‘ μμ μλ λΆλ₯ λ° μ°μ μμ μ€μ
- μΈνλΌ κ΄λ¦¬: ν¨κ²μ΄νΈ, ν΄κ²μ, IC/JC, ν°λ, κ΅λ λͺ¨λν°λ§
- μλ OCR μ²λ¦¬ (νκ΅μ΄/μμ΄)
- κ°μΈμ 보 μλ κ²μΆ λ° λ³΄μ μ²λ¦¬
- μ€λ³΅ μ΄λ―Έμ§ νν°λ§ λ° λ©νλ°μ΄ν° μμ±
- λ°μ΄λ¬μ€ μ€μΊ λ° νμΌ κ²μ¦
- Qdrant λ²‘ν° λ°μ΄ν°λ² μ΄μ€ νμ©
- BGE Reranker v2-m3 κΈ°λ° μ νλ ν₯μ
- μΈμ λ³ μ»¨ν μ€νΈ κ΄λ¦¬
- LLM: Qwen3-32B (Chat & Generation)
- Vision Model: Microsoft Florence-2-base + CLIP-ViT-Large
- Embedding: Qwen3-Embedding-0.6B
- Reranker: BGE-reranker-v2-m3
- Backend: FastAPI + Python 3.11+
- Frontend: React 19.1.1 + Vite + TypeScript
- Vector DB: Qdrant
- Cache: Redis
- Database: PostgreSQL
- Storage: MinIO (S3 νΈν)
- Container: Docker + Docker Compose
# Python ν΅ν© μ€ν¬λ¦½νΈ μ€ν
python START_SIMPLE.py
# λλ Windows λ°°μΉ νμΌ
START_SYSTEM.bat- Quick Test - λ°±μλλ§ λΉ λ₯΄κ² ν μ€νΈ
- Full System - νλ‘ νΈμλ + λ°±μλ μ 체 μ€ν
- Docker Mode - Dockerλ‘ μ 체 μλΉμ€ μ€ν
- Service Test - λλ©μΈ μλΉμ€ ν μ€νΈ
- Frontend: http://localhost:5173 (React UI)
- Backend API: http://localhost:8201
- API λ¬Έμ: http://localhost:8201/docs
- Real AI Backend: http://localhost:8200 (μ€μ AI λͺ¨λΈ)
- Admin UI: http://localhost:5000
# μ€μ AI λͺ¨λΈ μ€ν (GPU νμ)
START_REAL_AI.bat
# λλ Docker Compose μ§μ μ€ν
docker-compose up -d# λ°±μλ μμ‘΄μ± μ€μΉ
pip install -r requirements.txt
pip install torch transformers accelerate
pip install einops timm # Florence-2μ©
# λ°±μλ μ€ν (Mock λͺ¨λ)
cd backend && python simple_test.py
# νλ‘ νΈμλ μ€ν
cd frontend && npm install && npm run dev
# μμ€ν
κ²μ¦
python verify_setup.py- κ°λ°νκ²½: Python 3.11+, Node.js 18+
- AI λͺ¨λΈ: 8GB+ GPU (CUDA), Docker Desktop
- λ©λͺ¨λ¦¬: 16GB+ RAM κΆμ₯
- μ μ₯곡κ°: 50GB+ (λͺ¨λΈ λ€μ΄λ‘λμ©)
# AI λͺ¨λΈ μλν¬μΈνΈ
CHAT_MODEL_ENDPOINT=http://vllm:8000/v1
EMBEDDING_MODEL_ENDPOINT=http://vllm-embeddings:8100/v1
VLM_MODEL_NAME=microsoft/Florence-2-base
# λ°μ΄ν°λ² μ΄μ€
QDRANT_HOST=localhost
QDRANT_PORT=6333
# κΈ°λ₯ νλκ·Έ
FLAGS__ENABLE_VLM=True
FLAGS__ENABLE_RERANK=True# PowerShellμμ λ°°μΉ νμΌ μ€ν μ μ€λ₯
# ν΄κ²°: Python μ€ν¬λ¦½νΈ μ¬μ©
python START_SIMPLE.py# ν¬νΈ μ¬μ© μ€ μ€λ₯
# ν΄κ²°: μλμΌλ‘ κΈ°μ‘΄ νλ‘μΈμ€ μ’
λ£λ¨# Florence-2 λͺ¨λΈ μ€λ₯ (flash_attn νμ)
# ν΄κ²°: WSL λλ Docker μ¬μ© κΆμ₯
pip install flash-attn # Linux/WSLμμex-GPT-ai/
βββ π μ€ν μ€ν¬λ¦½νΈ
β βββ START_SIMPLE.py # Python ν΅ν© λ°μ²
β βββ START_SYSTEM.bat # Windows λ°°μΉ
β βββ START_REAL_AI.bat # Docker AI μ€ν
βββ π₯ λ°±μλ (Python)
β βββ backend/src/
β β βββ multimodal/ # μ€μ AI μ²λ¦¬
β β β βββ main.py # FastAPI μλ²
β β β βββ whisper/ # STT μ²λ¦¬
β β βββ image_processing/ # VLM & OCR
β β β βββ vlm_processor.py (Florence-2)
β β β βββ ocr_engine.py
β β βββ rag_pipeline/ # RAG κ²μ
β βββ simple_test.py # Mock μλ²
βββ π νλ‘ νΈμλ (React)
β βββ src/components/ # 47κ° μ»΄ν¬λνΈ
β βββ src/pages/ # νμ΄μ§ λΌμ°ν
β βββ package.json # React 19.1.1
βββ π’ λΉμ¦λμ€ μλΉμ€
β βββ services/traffic-analysis/ # κ΅ν΅ λΆμ
β βββ services/damage-detection/ # μμ κ°μ§
βββ βοΈ μ€μ & λ°°ν¬
β βββ config/ # νκ²½λ³ μ€μ
β βββ docker-compose.yml # μλΉμ€ μ€μΌμ€νΈλ μ΄μ
β βββ Dockerfile # 컨ν
μ΄λ μ΄λ―Έμ§
βββ π§ͺ ν
μ€νΈ & κ²μ¦
βββ tests/ # ν΅ν© ν
μ€νΈ
βββ verify_setup.py # μμ€ν
κ²μ¦
βββ test_services.py # μλΉμ€ ν
μ€νΈ
- κ°λ° μμ:
python START_SIMPLE.pyβ μ΅μ 2 μ ν - API ν μ€νΈ: http://localhost:8201/docs μμ ν μ€νΈ
- νλ‘ νΈμλ κ°λ°: http://localhost:5173 μμ νμΈ
- μλΉμ€ ν μ€νΈ: μ΅μ 4λ‘ λλ©μΈ κΈ°λ₯ κ²μ¦
- AI λͺ¨λΈ ν
μ€νΈ:
START_REAL_AI.batλ‘ μ€μ λͺ¨λΈ μ€ν - λ°°ν¬ μ€λΉ: Docker Composeλ‘ μ 체 μμ€ν κ²μ¦
- GPU κ°μ: CUDA μ§μ μ μλμΌλ‘ GPU νμ©
- λ°°μΉ μ²λ¦¬: λλ μ΄λ―Έμ§ μ²λ¦¬ μ λ°°μΉ λ¨μλ‘ μ²λ¦¬
- μΊμ±: Redis κΈ°λ° κ²°κ³Ό μΊμ±μΌλ‘ μλ΅ μλ ν₯μ
- λ²‘ν° μΈλ±μ±: Qdrantμ HNSW μΈλ±μ€λ‘ λΉ λ₯Έ μ μ¬λ κ²μ
- κ°μΈμ 보 보νΈ: μλ κ°μΈμ 보 κ°μ§ λ° λ§μ€νΉ
- νμΌ κ²μ¦: μ λ‘λ νμΌ λ°μ΄λ¬μ€ μ€μΊ
- μ κ·Ό μ μ΄: μΈμ κΈ°λ° μΈμ¦ λ° κΆν κ΄λ¦¬
- λ°μ΄ν° μνΈν: λ―Όκ° λ°μ΄ν° μνΈν μ μ₯
- νκ΅μ΄: μ£Ό μΈμ΄, OCR λ° ν μ€νΈ μ²λ¦¬ μ΅μ ν
- μμ΄: κΈ°μ λ¬Έμ λ° κ΅μ νμ€ μ§μ
- λ€κ΅μ΄ μλ² λ©: λ€μν μΈμ΄λ‘ μμ±λ λ¬Έμ κ²μ μ§μ
- GitHub: https://github.com/back2zion/ex-GPT-ai
- μ΄μ 리ν¬ν : GitHub Issues νμ©
- λ¬Έμ:
/docsν΄λ μ°Έμ‘°
Copyright (c) 2025 νκ΅λλ‘κ³΅μ¬ λ³Έ νλ‘μ νΈλ νκ΅λλ‘곡μ¬μ λ΄λΆ μ¬μ©μ μν AI μμ€ν μ λλ€.