Skip to content

대구교통공사(DTRO (지하철, metro)) 3호선 전력관제 장애 분석기(통계 및 LLM 기반 장애 원인 분석 시스템)

Notifications You must be signed in to change notification settings

aremany/DTRO-Failure-Analyzer

Repository files navigation

🔍 대구교통공사(DTRO) 장애 분석기 (Failure Analyzer)

DTRO Logo

통합 플랫폼 메인화면 ▲ 대구교통공사 3호선 전력관제 장애 관리 통합 플랫폼 메인화면

독립 실행형 장애 원인 분석 시스템

이 프로그램은 incident_reports.db에 저장된 장애 이력을 통계적으로 분석하고, **Local LLM (Ollama)**을 활용하여 장애의 근본 원인과 조치 방법을 심층 분석하여 리포트를 생성해주는 도구입니다.

👤 개발자

  • 강동우 (대구교통공사 3호선 경전철관제팀 전력관제)
  • 본 프로젝트는 개발자 개인의 연구 결과물입니다.

📜 개발 배경 및 히스토리

  • 2025.09: 통합 플랫폼 구축 당시, 초기 Local LLM의 답변 품질이 낮아 실무 적용에 어려움이 있었습니다.
  • RAG & Fine-tuning 도입: 이를 해결하기 위해 파인튜닝된 모델과 RAG(검색 증강 생성) 기술을 결합하여 답변의 정교함을 비약적으로 향상시켰습니다.
  • 모델 최적화: 개발 단계에서는 gemma-3n-E4B 모델을 사용했으나, 배포 및 시연 환경의 속도 최적화를 위해 현재 버전은 gemma-3n-E2B 모델을 기본으로 설정했습니다.

💰 개발 성과 (Value)

  • 저사양 최적화: 공기업의 일반 사무용 PC(i3-13100)에서도 Local LLM이 원활히 돌아가도록 최적화했습니다.
  • 예산 절감: 외주 없이 1인 개발로 RAG 기반 분석 시스템을 구축하여 예산을 절감했습니다.

🌟 주요 기능

  • 통계 분석: 특정 장애 유형의 발생 빈도, 연간 추이, 주요 원인 및 조치 통계 제공.
  • AI 심층 분석: LLM을 통해 통계 데이터와 관련 기술 지식(RAG)을 종합하여 상세 분석 보고서 작성.
  • 독립 실행: 다른 모듈 없이 단독으로 실행 가능.

⚙️ 설치 및 실행 방법

1. 필수 요구 사항

  • Python 3.8 이상
  • FastAPI 프레임워크 (requirements.txt에 포함됨)
  • Ollama 설치 및 실행 필수

2. LLM 모델 준비 (필수)

이 프로그램은 분석을 위해 로컬 LLM(Ollama)을 사용합니다.

🎯 옵션 A (최고 성능 - 전력계통 전문 파인튜닝 모델) ⭐ 강력 권장

2026년 1월 11일 공개된 전력계통 장애 분석 전문 파인튜닝 모델입니다.

ollama pull bluejude10/smoothie-qwen3-8b-dtro
  • 특징: 전력계통, 급전계통, 전차선로, 수배전설비 도메인 특화
  • 성능: Gemma-3n 대비 우수한 장애 분석 정확도
  • 허깅페이스: bluejude10/Smoothie-Qwen3-8B-DTRO-Edition
  • 파인튜닝 + RAG 시너지: 도메인 지식 내재화 + 실시간 컨텍스트 보강으로 최적의 분석 결과 제공

⚠️ 중요: 모델 적용을 위한 코드 수정 모델 다운로드(Pull) 후, 반드시 main.py 파일을 열어 모델명을 수정해야 적용됩니다.

# main.py 약 30번째 줄
# 수정 전
model_name = "hf.co/unsloth/gemma-3n-E2B-it-GGUF:Q4_K_M"

# 수정 후 (파인튜닝 모델 적용 시)
model_name = "bluejude10/smoothie-qwen3-8b-dtro"

옵션 B (범용 모델 - 고성능):

ollama run hf.co/unsloth/gemma-3n-E4B-it-GGUF:Q4_K_M

옵션 C (범용 모델 - 경량/빠른 속도):

ollama run hf.co/unsloth/gemma-3n-E2B-it-GGUF:Q4_K_M

💡 Tip: 전력계통 관련 장애 분석에는 옵션 A (Smoothie-Qwen3-8B-DTRO) 사용을 강력히 권장합니다. 다른 도메인에 적용 시에는 옵션 B 또는 C를 사용하세요.

3. 최소 하드웨어 사양 (Minimum Specs)

본 프로그램은 사내의 제한된 하드웨어 환경에 최적화되어 개발되었습니다.

  • CPU: Intel Core i3-13100 이상
  • RAM: 16GB 이상
  • GPU: 불필요 (CPU 연산 최적화)

3. 패키지 설치

pip install -r requirements.txt

4. 실행

python main.py

실행 후 브라우저에서 http://localhost:8002 로 접속하세요.

🎨 커스터마이징 가이드

이 프로그램은 누구나 수정해서 사용할 수 있습니다.

  • 제목 변경: index.html 파일을 열어 회사명이나 타이틀을 수정하세요.
  • 로고 변경: 폴더 내의 io.png 파일을 본인의 로고 파일로 교체(덮어쓰기)하면 됩니다.
  • 데이터 교체:
    • incident_reports.db: 본인의 장애 이력 데이터로 교체하면 맞춤형 통계 및 분석이 가능합니다.
    • dataset_from_data_txt.json: 자체 매뉴얼이나 기술 문서로 내용을 교체하면, 해당 도메인 지식을 기반으로 AI가 분석 보고서를 작성합니다.

📢 통합 플랫폼 안내

본 프로그램은 독립적으로 실행되지만, 추후 공개될 **'장애 관리 통합 플랫폼'**의 일부 모듈입니다. 사용자는 이 모듈들을 결합하여 통합 시스템으로 구축할 수 있으며, 통합된 전체 버전 또한 추후 오픈소스로 공개될 예정입니다.

📂 파일 구조

  • main.py: FastAPI 기반의 메인 서버 코드.
  • incident_reports.db: 장애 이력 데이터베이스 (샘플: 로봇 장애 데이터).
  • dataset_from_data_txt.json: RAG 분석을 위한 참조 지식 데이터.

⚠️ 참고 사항

  • 본 프로그램은 데모를 위해 가상의 로봇 장애 데이터를 사용합니다.
  • 실제 사용 시 incident_reports.db를 본인의 데이터 스키마에 맞게 수정하여 사용하십시오.

About

대구교통공사(DTRO (지하철, metro)) 3호선 전력관제 장애 분석기(통계 및 LLM 기반 장애 원인 분석 시스템)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published