🎮60분
자연어 질의 시스템 연결
질의 시스템과 발표
자연어 질의 시스템 연결
질의 시스템과 발표 > 질의 시스템과 발표
학습 목표
- 자연어 질의 인터페이스를 붙인다
- 정적 검증 문지기를 세운다
- 답변에 출처를 강제한다
Interactive Simulator
자연어 질의 시스템 연결
클릭하여 시뮬레이터를 실행하세요
자연어 질의 시스템
코스 4의 5단 파이프라인을 자기 그래프에 연결합니다.
[질문] → ① 스키마 주입 → ② 생성 → ③ 정적 검증 → ④ 실행 → ⑤ 조립 → [답+출처]① 스키마 주입
앞 모듈에서 만든 스펙 문서가 여기서 프롬프트 재료가 됩니다. 잘 써 뒀다면 지금 일이 줄어듭니다. 라벨·관계·핵심 속성·명명 규약과 금지 사항("스키마에 없는 것을 만들지 말 것")을 넣습니다.
💡 시뮬레이터의 추출 프로파일을 **"⚓ 항만물류"**로 바꾸세요. 코스 2에서 설계한 것과 같은 어휘(Vessel·PortCall·Container·Berth… 그리고 PortCall 을 허브로 두는 구조)로 추출합니다. 범용 프로파일로 두면 선박이 그냥 "Organization"으로 잡혀, 여러분이 설계한 온톨로지와 결과가 어긋납니다.
② 생성 — GD 가 교사입니다
앞 모듈의 골든 데이터셋이 그대로 few-shot 예시 은행입니다. [질문 ↔ 검증된 Cypher] 쌍을 3~5개 골라 주입합니다.
③ 정적 검증 — 반드시 구현하세요
- 읽기 전용 강제 — CREATE/MERGE/DELETE/SET 포함 시 즉시 거부
- 스키마 대조 — 상상된 라벨·속성 차단
- 자원 상한 — LIMIT 강제, 타임아웃
⚠️ 프롬프트로 "쓰지 마세요"라고 부탁하는 것과 기계적으로 막는 것은 다른 수준의 보장입니다.
검증 실패 시 1회 재생성, 재실패면 "답변 불가 + 사유"로 정직하게 종료합니다.
⑤ 조립 — 출처 강제
답변의 각 사실에 [source + 레코드 ID + 적재분] 을 붙이게 합니다. LoadBatch 가 여기서 신선도 배지가 됩니다.
실습
- 5단을 연결하고 MVP CQ 를 자연어로 물어봅니다.
- 일부러 쓰기 쿼리를 유도해 보고("기록 지워줘") 문지기가 잡는지 확인합니다.
- 스키마에 없는 속성을 요구하는 질문을 던져 상상된 속성이 걸리는지 봅니다.
- 없는 개체를 물어 "데이터에 없습니다"로 답하는지 확인합니다.
산출물: 질의 시스템 + 검증기 코드 + 시연 로그