나의 AI 프로젝트

🤖

보험약관 챗봇

복잡한 보험 약관을 질문-답변 형태로 쉽게 알려주는 Q/A 챗봇입니다.
약관 텍스트를 이해하기 쉬운 표현으로 요약하고, 관련 조항을 찾아 근거와 함께 제공합니다.

🚀 빠른 실행

  • 준비물: PC 또는 스마트폰
  • 데모 실행: 아래 버튼으로 바로 체험
  • 오늘 볼 것: 질문 3개 시나리오와 요약/근거 응답 예시

📋 프로젝트 개요

💬 실행 화면

• 질문 입력창 (예: "입원비 청구 서류는?")
• 🔎 근거 조각 4개 펼치기
• 📝 요약 답변 bullet 표시
👉 직접 실행해보기

📄 약관 문서

• msook다이렉트웰빙건강보험
• 5개 텍스트 조각으로 분할
• FAISS 인덱스 생성 완료
✓ 검색 준비됨

🎯 주요 기능

  • 자연어 질의: "입원비는 어떻게 청구하나요?" 같은 일상 표현으로 질문
  • 유사도 검색: FAISS를 이용한 빠른 벡터 검색으로 관련 조항 탐색
  • 근거 제시: 답변과 함께 원본 약관 텍스트 조각 제공
  • 요약 답변: 복잡한 약관을 이해하기 쉬운 bullet point로 정리

🔄 워크플로

1️⃣ PDF 업로드 → 약관 문서를 시스템에 등록
2️⃣ 자동 분할 → 700자 단위로 chunk 생성 (overlap 120자)
3️⃣ 임베딩 → sentence-transformers로 벡터화
4️⃣ 인덱스 생성 → FAISS IndexFlatIP에 저장
5️⃣ 질문 입력 → 사용자 쿼리를 벡터로 변환
6️⃣ 유사도 검색 → 가장 관련성 높은 조각 추출
7️⃣ 답변 생성 → 추출된 조각을 기반으로 요약 제공

🗂 예시 프롬프트 & 활용

  • 요약 요청: "너는 보험 약관을 쉽게 풀어 설명하는 상담사야. 아래 텍스트를 5문장으로 요약하고, 고객이 오해하기 쉬운 부분 3가지를 알려줘. [약관 본문 붙여넣기]"
  • 표 정리: "사망보험금 지급 요건을 표로 정리해줘. 열: 조항번호, 요건, 필요서류, 예외"
  • Q&A 형식: "다음 질문에 답하고, 답변 끝에 근거 조항 번호를 적어줘: 입원비 청구 시 필요 서류는?"
  • 비교 분석: "입원보험금과 수술보험금의 차이점을 3가지로 정리해줘."

🧰 사용 기술

RAG (Retrieval-Augmented Generation) FAISS 벡터 검색 Sentence Transformers Streamlit UI FastAPI + CORS Python

📦 주요 라이브러리

  • pypdf: PDF 문서 텍스트 추출
  • sentence-transformers: 텍스트 임베딩 (all-MiniLM-L6-v2 모델)
  • faiss-cpu: 고속 벡터 유사도 검색
  • streamlit: 웹 기반 데모 UI
  • fastapi + uvicorn: REST API 엔드포인트

🎯 결과/성과

  • ✅ 실제 보험약관 PDF (msook다이렉트웰빙) 5개 조각으로 분할·임베딩 완료
  • ✅ 질문 → 유사도 검색 → 근거 조각 제시 전체 흐름 구현
  • ✅ 챗봇 실행와 FastAPI 동시 제공으로 웹/앱 연동 가능
  • ✅ 로컬 실행 가능하여 데이터 프라이버시 보장
  • ✅ CORS 설정으로 다양한 클라이언트에서 API 호출 가능
← 작업물 목록으로 AI 글쓰기 에이전트 →