5

주간 프로젝트: 설비-공정 Knowledge Graph Q&A 시스템

설비-공정 Knowledge Graph

학습 목표
  • 프로젝트 전체 요구사항과 산출물을 파악한다
  • 데이터 모델 설계부터 Q&A 시스템까지 전체 흐름을 이해한다
  • 평가 기준과 제출 형식을 확인한다
  • 시간 배분 계획을 수립한다

주간 프로젝트: 설비-공정 Knowledge Graph Q&A 시스템

프로젝트 목표

루트브릭스 김포 공장의 Knowledge Graph를 구축하고, 자연어로 질문할 수 있는 Q&A 시스템을 완성합니다.

[완성 시나리오]

신입 기술자: "CNC밀링 3호기에서 알람 E-201 떴어요"

KG Q&A 시스템:
"CNC밀링 3호기의 스핀들 과열(E-201) 대응 안내:

1순위: 냉각수 부족 (확률 45%) - 15분
  → 후면 하단 패널 → 냉각수 레벨 확인 → 부족 시 보충
  → 이신입 님 수행 가능 (기본 정비)
  → 정비 이력 3건 (냉각수 보충 2회, 베어링 교체 1회)

2순위: 베어링 마모 (확률 35%) - 4시간
  → 진동 측정 필요
  → 현재 사용률 80.9% (교체 임박)
  → 김기술 님 호출 필요 (스핀들 정비)

3순위: 과절삭 (확률 20%) - 30분
  → NC 프로그램 F값/S값 확인
  → CNC 프로그래밍 스킬 필요

먼저 냉각수를 확인하시겠습니까?"

요구사항

필수 요구사항 (Must Have)

#요구사항상세
1온톨로지 설계최소 8개 엔티티 타입, 10개 관계 타입
2Neo4j 데이터 구축50+ 노드, 80+ 관계
3고장 원인 추적알람 → 원인 → 조치 경로 탐색 (CAUSED_BY/RESOLVED_BY)
4부품 수명 관리사용률 기반 교체 예정 부품 조회
5인력 스킬 매칭조치 필요 스킬 → 가용 인력 매칭
6Q&A 인터페이스자연어 질문 → KG 탐색 → 포맷팅 답변

| 7 | 공정 흐름 모델링 | 공정 순서 및 설비 연계 (Step 2의 Q4가 이것을 씁니다) | | 8 | 영향도 분석 | 설비 정지 시 영향받는 공정 분석 | | 9 | 정비 이력 관리 | MaintenanceRecord 노드 + 패턴 분석 (Step 2의 Q5가 이것을 씁니다) |

7·9번은 Step 2의 핵심 쿼리 다섯 개 중 두 개가 쓰고 제출 체크리스트에도 들어 있으므로 필수입니다. Day 2의 정본 시드에 Process와 MaintenanceRecord가 이미 들어 있으니 새로 만들 필요는 없습니다.

선택 요구사항 (Nice to Have)

#요구사항상세
10하이브리드 RAGVector + Graph 하이브리드 검색
11대화 맥락 유지후속 질문에서 이전 맥락 활용
12LLM 연동OpenAI/로컬 LLM으로 자연어 답변 생성
13품질 측정 확장골든 질문을 20개로 늘리고 Precision@K까지 계산

시간 배분 (3시간 1분)

아래 시간은 각 과제에 적힌 시간과 같습니다.

Step 1  온톨로지 설계 + 데이터 모델링            47분
  - 엔티티/관계/속성 정의, Product·QualityInspection 추가
  - 검증기 구현, dataset.json 저장

Step 2-3  Neo4j 구축 + 핵심 쿼리 다섯 개        39분
  - 스키마(제약·인덱스) 생성, 멱등 적재
  - 원인 추적 / 부품 수명 / 스킬 매칭 / 공정 영향도 / 정비 이력

Step 4  Q&A 시스템 통합                          60분
  - Day 4의 대화 상태·라우팅을 붙이고 시나리오 다섯 개를 돌린다

Step 5  측정 + 문서화 + 제출                     35분
  - 골든 질문 10개 채점, README, 스크린샷

Day 1~4의 실습 결과물(seed_kg.py, graphrag_pipeline.py, qa_system.py)을 그대로 가져다 씁니다. 처음부터 다시 만드는 시간은 이 계획에 들어 있지 않습니다.


평가 기준

항목배점기준
온톨로지 설계20점클래스 계층과 부분-전체를 구분했는가, 관계의 정의역·치역이 일관된가
Neo4j 데이터15점검증기를 통과하는가(중복 id·고아 노드·참조 무결성), 두 번 적재해도 늘지 않는가
핵심 쿼리25점다섯 쿼리가 모두 결과를 내는가, 원인 추적·수명·스킬 매칭이 정확한가
Q&A 시스템25점여섯 질문 유형이 모두 동작하는가, 맥락이 이어지는가
측정10점골든 질문 10개를 만들어 채점하고 결과를 기록했는가
문서화5점README, 온톨로지 다이어그램, 스크린샷
보너스+6점선택 요구사항 구현 (각 +2점)

측정에 배점을 둔 이유는 하나입니다. 재지 않으면 나아졌는지 알 수 없고, 사내 보고서에 쓸 숫자도 생기지 않습니다. 골든 질문은 답을 아는 질문 열 개면 충분합니다.


제출 형식

mfg-knowledge-graph/
├── README.md                      # 프로젝트 설명
├── ontology/
│   ├── ontology_design.md         # 온톨로지 설계 문서
│   └── ontology_diagram.png       # 온톨로지 다이어그램
├── data/
│   ├── seed_kg.py                 # 정본 시드 (Day 2)
│   ├── dataset.json               # Step 1이 만든 데이터셋
│   └── sample_queries.cypher      # 핵심 분석 쿼리 다섯 개
├── src/
│   ├── step1_ontology.py          # 온톨로지 + 검증기
│   ├── step2_neo4j.py             # 적재 + 핵심 쿼리
│   ├── graphrag_pipeline.py       # GraphRAG 파이프라인 (Day 3)
│   ├── qa_system.py               # 대화형 Q&A (Day 4)
│   └── utils.py                   # 유틸리티
├── eval/
│   ├── golden_questions.json      # 답을 아는 질문 10개
│   └── results.md                 # 채점 결과와 해석
├── tests/
│   └── test_scenarios.py          # 테스트 시나리오
└── screenshots/
    ├── neo4j_schema.png           # Neo4j 스키마 시각화
    └── qa_demo.png                # Q&A 시스템 데모
AI로 학습하기 — 꿀팁
설비-공정 KG 데이터 모델 심화AI 학습 팁

설비-공정 KG Q&A 프로젝트의 데이터 모델을 AI에게 제조 현실을 반영해 확장 설계 요청하세요.

제조 공장 설비-공정 Knowledge Graph Q&A 시스템 프로젝트를 위한 데이터 모델을 설계해줘. 필수 노드: Equipment(설비), Process(공정), Component(부품), Failure(고장), MaintenanceRecord(점검이력), Operator(작업자). 각 노드의 주요 속성과 노드 간 관계 타입(방향 포함)을 Mermaid 그래프 다이어그램으로 표현해줘.
이 팁이 도움이 됐나요?
핵심 포인트
  • 필수 6개 + 선택 6개 요구사항으로 구성
  • 온톨로지 설계 → Neo4j 구축 → 쿼리 구현 → Q&A 시스템의 4단계
  • 50+ 노드, 80+ 관계, 8+ 엔티티 타입이 최소 기준
  • 평가: 온톨로지(20) + 데이터(20) + 쿼리(25) + Q&A(25) + 문서(10)
용어