5분
주간 프로젝트: 설비-공정 Knowledge Graph Q&A 시스템
설비-공정 Knowledge Graph
주간 프로젝트: 설비-공정 Knowledge Graph Q&A 시스템
온톨로지 & Knowledge Graph > 설비-공정 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개 관계 타입 |
| 2 | Neo4j 데이터 구축 | 50+ 노드, 80+ 관계 |
| 3 | 고장 원인 추적 | 알람 → 원인 → 조치 경로 탐색 (CAUSED_BY/RESOLVED_BY) |
| 4 | 부품 수명 관리 | 사용률 기반 교체 예정 부품 조회 |
| 5 | 인력 스킬 매칭 | 조치 필요 스킬 → 가용 인력 매칭 |
| 6 | Q&A 인터페이스 | 자연어 질문 → KG 탐색 → 포맷팅 답변 |
| 7 | 공정 흐름 모델링 | 공정 순서 및 설비 연계 (Step 2의 Q4가 이것을 씁니다) | | 8 | 영향도 분석 | 설비 정지 시 영향받는 공정 분석 | | 9 | 정비 이력 관리 | MaintenanceRecord 노드 + 패턴 분석 (Step 2의 Q5가 이것을 씁니다) |
7·9번은 Step 2의 핵심 쿼리 다섯 개 중 두 개가 쓰고 제출 체크리스트에도 들어 있으므로 필수입니다. Day 2의 정본 시드에 Process와 MaintenanceRecord가 이미 들어 있으니 새로 만들 필요는 없습니다.
선택 요구사항 (Nice to Have)
| # | 요구사항 | 상세 |
|---|---|---|
| 10 | 하이브리드 RAG | Vector + Graph 하이브리드 검색 |
| 11 | 대화 맥락 유지 | 후속 질문에서 이전 맥락 활용 |
| 12 | LLM 연동 | 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)