Archived
Untitled

F1 Regulations Q&A Chatbot – 검색·응답 품질 개선 프로젝트
F1 Sporting / Technical 규정 PDF를 기반으로 정확한 규정 답변과 상식 보완을 동시에 제공하는 Q&A 챗봇
해커톤/공모전 정보: 내용 없음
🎯 Executive Summary
-
문제
:
F1 Sporting / Technical 규정 PDF를 기반으로 한 Q&A 챗봇에서
- 문서 구조 차이로 인한 인덱싱 실패
- 텍스트·표 혼합 검색으로 인한 검색 품질 저하
- 문서에 없는 질문에 대한 부자연스러운 응답 문제가 발생함
- 해결 : 문서 타입별 처리 분리 + Text/Table 독립 벡터스토어 + Query Routing + 문서 기반 답변 후 상식 fallback 구조 설계
-
결과
:
- Sporting 규정 PDF 정상 인덱싱 및 검색 성공
- 표 기반 질문에 대해 DataFrame 형태 응답 가능
- 문서 부재 질문에 대해 상식 기반 자연스러운 답변 제공
-
다음 단계
:
- 2주: Technical 규정 전용 파서 구축
- 2개월: Retriever 라우팅 고도화 및 score threshold 튜닝
- 2분기: 규정 버전 관리 및 다국어 지원
1. 배경·목표
-
사용자/페르소나
:
- F1 규정을 질의응답 형태로 빠르게 확인하고 싶은 사용자
- 규정 조항·표·세부 조건을 정확히 알고 싶은 분석 목적 사용자
-
성공 기준(KPI)
:
- 문서 기반 질문에 대한 정확한 근거 문단 반환
- 표 관련 질문에서 table retriever 정확 선택
- 문서 미존재 질문에 대해 “없음”이 아닌 보완 응답 제공
-
범위(Out of scope)
:
- F1 규정 외 일반 스포츠 규정
- 실시간 경기 데이터 연동
2. 역할·스택·기간
-
역할/기여
:
- FE: 내용 없음
- BE: 내용 없음
- 기획: 내용 없음
-
스택
:
- Python
- LangChain / Chroma
- OpenAI LLM
- Streamlit
- Pandas
- 기간 : 내용 없음
3. 데모 & 링크
- Demo : 내용 없음
- Repo : 내용 없음
- 문서(API/ERD/디자인) : 내용 없음
- 시연영상 : 내용 없음
4. 아키텍처 요약
- 다이어그램 : 내용 없음
- 데이터 흐름/외부 의존성 :
PDF
├─ Text Processor → Text VectorStore
├─ Table Processor → Table VectorStore
└─ Streamlit UI
└─ Query Routing (text / table)
└─ Retriever
└─ ask_question()
├─ 규정 기반 답변
├─ 근거 문단 표시
└─ 상식 fallback
- 배포/CI·CD/롤백 : 내용 없음
5. 핵심 기능 (스크린샷/GIF 포함)
- 문서 자동 로드 및 벡터스토어 재생성 — data 폴더 전체 스캔 후 한 번의 버튼 클릭으로 인덱싱 / 엣지 케이스: clean chunk가 0일 경우 인덱싱 중단 처리
- Text / Table 분리 인덱싱 — 텍스트와 표를 서로 다른 retriever로 관리하여 검색 정확도 향상 / 엣지 케이스: 표 질의 시 JSON → DataFrame 변환
- Query Routing 기반 Retriever 선택 — 키워드 기반으로 text / table retriever 자동 선택 / 엣지 케이스: 모호한 질문은 기본 text retriever 사용
- 문서 기반 + 상식 fallback 응답 — 규정에 없을 경우 LLM 상식 답변으로 자연스럽게 보완
6. 기술 결정(ADR 요약)
- 결론 : Sporting 규정 우선 처리 + Technical 규정은 전용 파서로 분리
- 버린 대안 : 모든 규정 PDF를 단일 split 로직으로 통합 처리
-
근거
:
- 성능: 빈 chunk로 인한 Chroma 오류 제거
- 복잡도: 문서 타입별 책임 분리
- 정확성: 구조가 다른 문서에 동일 규칙 적용 방지
-
리스크 및 완화
:
- 리스크: Technical 규정 검색 공백
- 완화: 전용 처리기 구축을 다음 단계로 분리
7. 문제와 해결(버그·장애 포함)
- 이슈 : Technical 규정 PDF split 결과 0 → 원인: ARTICLE / SECTION 패턴 부재 → 조치: Sporting 규정만 우선 인덱싱 → 재발 방지: 문서 타입 감지 후 분기 처리
-
이슈
: Chroma
_persist_directory오류 → 원인: 사용하지 않는 내부 속성 참조 → 조치: 코드 제거 - 이슈 : fallback 응답 중 답변 중복 출력 → 원인: tuple 반환 구조 → 조치: 반환 값 구조 수정
8. 측정 결과(전/후 비교)
- p95 지연 : 내용 없음 → 내용 없음
- 전환율 : 내용 없음 → 내용 없음
- 활성 사용자 : 내용 없음 → 내용 없음
- 그래프: 내용 없음
9. 회고 & 개선
-
잘된 점
- Text / Table 분리로 검색 품질 구조적 개선
- Retriever routing 도입으로 질문 유형별 응답 정확도 상승
- 문서 기반 + 상식 fallback으로 사용자 경험 개선
- 아쉬운 점 1.
-
기술부채 목록과 상환 계획