ML_DL/MUJAKJUNG (무작정 시리즈)
[PDF 기반 퀴즈 생성기] 구성하기
swwho
2025. 5. 2. 17:34
728x90
반응형
한문장 정리
학습하며 정리한 글의 내용을 파일로 업로드하고, 해당 내용을 기반의 퀴즈를 풀어 복습한다.
기획 의도
- 학습에 복습은 필수적이며, 문제 풀이를 통해 학습의 정도를 파악할 수 있다.
- RAG 기반의 퀴즈 생성을 통해, 내가 정리한 내용을 바탕으로 복습을 진행할 수 있도록 한다.
구현해야할 기능
Streamlit 화면
- PDF 파일 업로드
- LLM 기반 퀴즈 생성 및 정답 제출, 정답 확인
RAG
- PDF 텍스트 임베딩
- 유사도 기반 검색 (PDF 내용 가운데에 주제와 관련있는 내용)
Streamlit 구현
sidebar
- 내용 안내 : API키 입력을 통해 퀴즈를 생성할 수 있고, 임베딩과 퀴즈 생성 비용이 발생한다
- 파일 업로더 : 파일이 없는 경우 ⇒ 파일 업로드 경고
- API 키 입력창 : API가 올바르지 않은 경우 ⇒ Invalid Key 경고
- 주제 입력창 : 주제가 입력되지 않은 경우 ⇒ 주제 없음 경고
- 퀴즈 생성 버튼
- 초기화 버튼 : 퀴즈, 주제 초기화
main
- 퀴즈 화면 : 문제, 보기가 나타나고, radio 버튼으로 보기 중 하나를 선택할 수 있다.
- 정답 제출 버튼 : 정답 확인 및 해설 제공 화면 / 문제 제출이 완료되면, 정답 여부와 해설이 제공된다.
RAG
- 임베딩 모델 API (feat. openai) : OpenAI API KEY 준비
- 유사도 검색 (feat. faiss, sklearn) : 업로드한 PDF파일에서, 주제에 맞는 내용을 가져와 퀴즈 생성에 활용한다.
- 퀴즈 생성 프롬프트 생성 : prompt에 참고 문서 부분을 포함하고, 주제와 유사한 내용을 가져와 넣는다.