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에 참고 문서 부분을 포함하고, 주제와 유사한 내용을 가져와 넣는다.
'ML_DL > MUJAKJUNG (무작정 시리즈)' 카테고리의 다른 글
텍스트 분할 (Text Spliter) (0) | 2025.05.08 |
---|---|
[PDF 기반 퀴즈 생성기] 구현하기 (feat. Streamlit, RAG) (0) | 2025.05.07 |
[LangChain] 모델 파라미터 설정 (0) | 2025.04.09 |
[LangChain] 챗봇 구성하기 (0) | 2025.04.03 |
[LangChain] 시작하기 (0) | 2025.03.19 |