Skip to content

Repository files navigation

🚀 FastAPI + LangGraph HITL QA Sensor with n8n

본 프로젝트는 제조 및 에너지 산업 현장에서 발생하는 센서 데이터의 이상 징후를 감지하고, LLM의 분석 결과에 **전문가의 최종 승인(Human-In-The-Loop)**을 결합하여 품질보증(QA) 및 안전을 강화하는 지능형 모니터링 시스템입니다.

📌 주요 특징

  • AI-First Analysis: Azure OpenAI를 활용한 실시간 센서 데이터 이상 징후 판정.
  • HITL (Human-In-The-Loop): 고위험군 이상 감지 시 시스템이 즉시 중단(interrupt)되며, 전문가의 approve 또는 reject 후에만 후속 조치 실행.
  • Persistence: MemorySaver(또는 SQLite)를 통해 각 점검 이력(Thread)을 저장하여 사고 발생 시 디버깅 및 추적성(Traceability) 확보.
  • Scalability: FastAPI를 통한 API화 및 n8n 워크플로우와의 연동을 고려한 설계.

🏗️ 시스템 아키텍처 (Graph Flow)

시스템은 LangGraph를 사용하여 다음과 같은 상태 중심 워크플로우를 가집니다.

graph TD
    START((START)) --> Analyze[analyze_node: LLM 분석]
    Analyze -->|이상 감지| Review[human_review_node: 전문가 검토 대기]
    Analyze -->|정상| Normal[normal_node: 프로세스 종료]
    Review -->|Interrupt| Wait((전문가 승인 대기))
    Wait -->|Resume| Action[action_node: 후속 조치 생성]
    Action --> END((END))
    Normal --> END

Loading

📊 관리 및 성능 지표 (KPI)

본 시스템 도입을 통해 다음과 같은 정량적 관리가 가능합니다.

KPI 항목 측정 내용 목표 및 기대 효과
미검출률 (False Negative) AI가 정상으로 판정한 것 중 실제 이상치 비율 0% 지향 (보수적 임계치 설정 가능)
검토 리드타임 이상 감지 후 전문가 승인까지 소요 시간 사고 대응 골든타임 준수 및 생산성 향상
승인 일치율 AI 제안과 전문가 결정의 일치도 AI 모델의 현장 적합성 모니터링 및 고도화
추적 가능성 Thread ID 기반 이력 저장률 모든 이상 징후에 대한 100% 로그 아카이빙

🛠️ 주요 코드 가이드

1. State 정의

센서 데이터와 AI 분석 결과, 그리고 전문가의 결정 사항을 포함하는 MonitorState를 사용하여 데이터의 흐름을 관리합니다.

2. 핵심 노드 로직

  • Analyze Node: 센서 데이터를 분석하여 Command(goto=...)를 통해 동적으로 경로를 결정합니다.
  • Human Review Node: interrupt() 함수를 호출하여 외부 입력을 기다리며 실행을 멈춥니다.
  • Action Node: 전문가의 메모(expert_note)를 반영하여 최종 대응 시나리오를 생성합니다.

⚙️ 시작하기

환경 변수 설정 (.env)

AZURE_OPENAI_DEPLOYMENT=your_deployment_name
AZURE_OPENAI_ENDPOINT=your_endpoint_url
AZURE_OPENAI_API_KEY=your_api_key
OPENAI_API_VERSION=202X-XX-XX

실행 방법

  1. Repository 클론: git clone https://github.com/sun-k-like/Sensor-Alert_QA-Monitoring
  2. 의존성 설치: pip install -r requirements.txt
  3. 애플리케이션 실행: FastAPI 서버를 통해 워크플로우를 트리거합니다.

💡 Contributor

  • Project URL: GitHub Repository
  • 본 프로젝트는 제조 현장의 안전 강화데이터 기반의 의사 결정을 돕기 위해 설계되었습니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages