1

문건희·2025년 3월 24일

※ 다음과 같은 흐름으로 동작합니다.

사용자 질문 ➡️ 의도 분석 (4가지 방법) ➡️ RAG 조회 ➡️ LLM 최종 답변 생성
↩️ (Fallback 시 다시 의도 분석 단계로 복귀)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[1단계] 사용자 질문 입력

예시 질문:

  • "암보험 가입하면 갑상선암도 보장되나요?"
  • "30세 여성 암보험 중 가장 싼 상품은?"
  • "암보험 꼭 가입해야 돼?"
  • "자동차 사고도 보장되나요?"

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[2단계] 의도 분석 및 4가지 멀티턴 진행방법

『사용자 질문의도를 분석하여 4가지 방법으로 처리』

[방법①] 문서기반 벡터DB RAG

  • 질문이 약관에 대한 상세 정보가 필요할 때
    (예시) "갑상선암도 보장되나요?"
  • [추천기술] 벡터DB: Pinecone, FAISS, Chroma
  • [이유] 보험약관 같은 문서 검색 시 Semantic Search로 빠른 검색 가능

[방법②] MySQL 기반 RAG

  • 질문이 보험료나 상품 비교 정보가 필요할 때
    (예시) "가장 저렴한 암보험?"
  • [추천기술] MySQL + Prisma, Sequelize(ORM)
  • [이유] 구조적 데이터(보험료 등) 신속하고 효율적 조회 가능

[방법③] 문서+MySQL 혼합 RAG

  • 보험료와 약관 정보 모두 필요할 때
    (예시) "35세 남성, 갑상선암 기본보장 상품과 보험료는?"
  • [추천기술] 벡터DB + MySQL 조합
  • [이유] 문서 및 DB 정보 통합검색 및 활용 가능

[방법④] 모호한 질문(LLM 추가질문)

  • 질문이 모호하거나 명확한 의도를 알기 어려울 때
    (예시) "암보험 꼭 가입해야 돼?"
  • [추천기술] GPT-4, LangChain, OpenAI API
  • [이유] 자연스러운 추가 질문으로 사용자 의도를 명확히 함

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[3단계] RAG 조회 및 결과

『RAG 조회 결과 판단 후 진행방법 결정』

  • ▶️ 조회 성공
    → LLM 최종 답변 제공 (도식화 모듈 이용하여 시각화 가능)

  • ▶️ 조회 실패 (Fallback)
    → LLM이 다시 의도 분석 단계로 돌아가 추가질문 수행
    → 사용자 답변 받아 재조회(RAG)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[4단계] LLM 최종답변 예시

  • 문서기반 답변 예시
    『가입하신 암보험은 갑상선암도 기본 보장되며, 가입 후 90일 경과 후 진단 시 1천만원 보장됩니다.』

  • DB기반 답변 예시
    『30세 여성 기준 가장 저렴한 암보험은 A보험사 ‘실속 암보험’이며, 월 12,000원입니다.』

  • 문서+DB 혼합 답변 예시
    『35세 남성 기준 갑상선암 기본보장 상품은 B보험사 ‘프리미엄 암보험’이며 월 23,000원입니다. 가입 후 90일 이후 진단 시 1,500만원 보장됩니다.』

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[5단계] LLM Fallback 예시

(암보험 데이터에 없는 정보 요청 시 Fallback)

  • 사용자: "자동차 사고도 보장되나요?" (암보험 자료에 없음)
    → LLM 추가 질문:
    "암보험 자료만 제공하고 있으며, 자동차보험 정보는 없습니다. 암보험 관련하여 추가로 궁금한 부분이 있으신가요?"
    → 사용자: "그럼 일반 암보험은 폐암도 보장해줘?" (의도 재확정)
    → 다시 문서기반 RAG 조회하여 정보 제공

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔖 단계별 요약 표

┌─────────┬─────────────────────────┬───────────┬───────────┐
│구분 │설명(암보험 질문 예시) │ 추천기술 │ 추천 이유 │
├─────────┼─────────────────────────┼───────────┼───────────┤
│문서 RAG │"갑상선암 보장?" │벡터DB │빠른 문서검색 │
│DB RAG │"가장 저렴한 암보험?" │MySQL+ORM │빠른 DB조회 │
│혼합 RAG │"갑상선암 보장 상품과 보험료?" │벡터DB+MySQL │통합검색 │
│모호한 질문 │"암보험 꼭 가입?" │GPT-4 등 LLM │자연스러운 추가질문│
│Fallback │"자동차보험 보장돼?"(자료없음) │GPT-4 등 LLM │재확인 가능 │
└─────────┴─────────────────────────┴───────────┴───────────┘

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
추천 기술스택 공부 가이드

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
깔끔한 도식화 구조도 이미지 (텍스트기반)

[사용자 질문]
     │
(의도 분석)
├─① 문서기반 벡터DB 조회─────┐
├─② MySQL 기반 조회───────┤
├─③ 문서+MySQL 혼합조회───-┤
└─④ LLM 추가질문───────────┤
     │                        │
     │ 조회 성공 → LLM 최종답변
     │ 조회 실패 → Fallback
     ▼                        │
[RAG 조회]─────────────────┤
├─ 충분한 정보 → [LLM 최종답변]
└─ 정보 부족 → [LLM 추가질문(Fallback)] ──┐
                                             │
              [사용자 추가답변]───────────┘

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
이렇게 도식화하면 전체 멀티턴 구조를 이해하기 쉽고 명확하게 정리하여 활용하실 수 있습니다.

🔹 UI 기반 멀티턴 시나리오 (웹 챗봇 형태)


💬 사용자-시스템 대화 흐름 (비교설계 관련)

[1] 사용자 입력

암보험 괜찮은 거 있나요?

[2] 시스템 응답 (정보 부족)

보험 나이와 성별을 알려주시면, 조건에 맞는 암보험 상품을 비교해드릴게요.

[3] 사용자 응답

30세 남자입니다.

[4] 시스템 처리

  • DB에서 insu_age=30, sex=1, product_type LIKE '%암%' 조건으로 상품 검색
  • premium_amount 기준 정렬 후 요약 및 시각화

[5] 최종 응답

30세 남성 기준으로 추천되는 암보험 상품은 총 3개입니다. 보험료는 월 28,000원~45,000원 사이이며, 주요 보장 항목은 다음과 같습니다.

(보험사 로고 + 상품명 + 보험료 + 보장 항목 테이블 + 바 차트 시각화)


💬 사용자-시스템 대화 흐름 (약관 질의 관련)

[1] 사용자 입력

암 진단되면 보장돼요?

[2] 시스템 응답 (조건 부족)

암진단특약이 포함된 경우를 말씀하신 걸까요?

[3] 사용자 응답

네, 암진단특약 기준으로요.

[4] 시스템 처리

  • Vector DB에서 '암진단특약' 관련 chunk 검색
  • 약관 문서에서 지급 조건, 금액, 제한사항 파악
  • LLM을 통해 사용자 친화적 문장 구성

[5] 최종 응답

암진단특약이 포함된 경우, 갑상선암 제외 주요 암 진단 시 최대 5천만 원까지 보장됩니다. 세부 내용은 아래를 참고해주세요.

(문서 스니펫 + 요약된 보장 조건 표)


0개의 댓글