Skip to content

boostcampaitech7/level4-recsys-finalproject-hackathon-recsys-04-lv3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


AI둜 더 효과적인 백지 곡뢀, Solar Teacher

백지 κ³΅λΆ€λ²•μ˜ 효과λ₯Ό κ·ΉλŒ€ν™”ν•˜κ³ , μžλ™ ν€΄μ¦ˆ 생성을 μ§€μ›ν•˜λŠ” AI 기반 ν•™μŠ΅ λ„κ΅¬μž…λ‹ˆλ‹€.

Python badge HTML5 badge CSS3 badge JavaScript badge FastAPI badge MySQL badge Pinecone badge LangSmith badge


TEST ID : [email protected]
TEST PW : 1234

πŸ“‘ λͺ©μ°¨

  1. ν”„λ‘œμ νŠΈ μ†Œκ°œ
  2. κΈ°λŠ₯ μ†Œκ°œ
  3. μ‹œμ—° μ˜μƒ
  4. 흐름도
  5. μ„€μΉ˜ 및 ν™œμš©
  6. Upstage API μ‚¬μš© λͺ©λ‘
  7. λ ˆνŒŒμ§€ν† λ¦¬ ꡬ쑰
  8. MySQL DB ꡬ쑰
  9. νŒ€μ› ꡬ성
  10. Further Reading

πŸš€ ν”„λ‘œμ νŠΈ μ†Œκ°œ

SolarTeacherλŠ” 백지 곡뢀법을 ν™œμš©ν•˜λŠ” ν•™μŠ΅μžλ₯Ό μœ„ν•΄ AI 기반 ν”Όλ“œλ°± 및 λ§žμΆ€ν˜• ν€΄μ¦ˆ 제곡 μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.
이 ν”„λ‘œμ νŠΈλŠ” 넀이버 λΆ€μŠ€νŠΈμΊ ν”„ AI Tech 7κΈ° κΈ°μ—… ν•΄μ»€ν†€μ—μ„œ μ§„ν–‰λ˜μ—ˆμœΌλ©°, Upstage APIλ₯Ό μ œκ³΅λ°›μ•„ κ°œλ°œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μ‚¬μš©μžκ°€ ν•„κΈ°ν•œ λ‚΄μš©μ„ λΆ„μ„ν•˜μ—¬ κ°œλ… 였λ₯˜λ₯Ό μˆ˜μ •ν•˜κ³ , μžλ™ μƒμ„±λœ ν€΄μ¦ˆλ₯Ό 톡해 ν•™μŠ΅ 효과λ₯Ό κ·ΉλŒ€ν™”ν•©λ‹ˆλ‹€.

πŸ”Ή AI ν”Όλ“œλ°± 제곡: μ‚¬μš©μžκ°€ μž‘μ„±ν•œ λ…ΈνŠΈμ˜ κ°œλ… 였λ₯˜λ₯Ό λΆ„μ„ν•˜μ—¬ μžλ™ ν”Όλ“œλ°± 제곡
πŸ”Ή λ§žμΆ€ν˜• ν€΄μ¦ˆ 생성: λ…ΈνŠΈ λ‚΄μš©μ„ 기반으둜 OX 및 객관식 ν€΄μ¦ˆ μžλ™ 생성
πŸ”Ή ν•™μŠ΅ 데이터 관리: ν•™μŠ΅ 진행 μƒνƒœλ₯Ό ν•œλˆˆμ— ν™•μΈν•˜κ³ , ν”Όλ“œλ°± 및 ν€΄μ¦ˆ 기둝 쑰회

백지 κ³΅λΆ€λ²•μ΄λž€?
백지 곡뢀법은 빈 쒅이에 배운 λ‚΄μš©μ„ λ– μ˜¬λ € 적으며 λ³΅μŠ΅ν•˜λŠ” λ°©λ²•μœΌλ‘œ, κ°œλ…μ„ 깊이 μ΄ν•΄ν•˜κ³  기얡을 κ°•ν™”ν•˜λŠ” 데 νš¨κ³Όμ μž…λ‹ˆλ‹€. 
ν•˜μ§€λ§Œ 슀슀둜 였λ₯˜λ₯Ό μ°ΎκΈ° μ–΄λ ΅λ‹€λŠ” 단점이 있으며, SolarTeacherλŠ” 이λ₯Ό AI 기반 ν”Όλ“œλ°±κ³Ό λ§žμΆ€ν˜• ν€΄μ¦ˆλ‘œ λ³΄μ™„ν•©λ‹ˆλ‹€.

πŸ—οΈ κΈ°λŠ₯ μ†Œκ°œ

πŸ”‘ 둜그인 νšŒμ›κ°€μž…

  • 둜그인/νšŒμ›κ°€μž… κΈ°λŠ₯ κ΅¬ν˜„

둜그인 및 νšŒμ›κ°€μž… ν™”λ©΄

✍️ λ…ΈνŠΈ μ—…λ‘œλ“œ

  • 사진, PDF μ—…λ‘œλ“œ 및 ν™”μ΄νŠΈλ³΄λ“œ ν•„κΈ° 지원
    • κ³Όλͺ© λ―Έμ„ νƒμ‹œ μžλ™ λΆ„λ₯˜

PDF μ—…λ‘œλ“œ ν™”λ©΄

πŸ” AI ν”Όλ“œλ°± & OX ν€΄μ¦ˆ

  • ν•„κΈ° λ‚΄μš©μ„ λΆ„μ„ν•˜μ—¬ ν”Όλ“œλ°± 제곡
    • 제곡 λ‚΄μš©: 잘λͺ»λœ λΆ€λΆ„, μˆ˜μ •μ‚¬ν•­, ν•΄μ„€, 좜처
  • OX ν€΄μ¦ˆ 문제 μžλ™ 생성

PDF μ—…λ‘œλ“œ ν™”λ©΄

🎯 사지선닀 ν€΄μ¦ˆ

  • κ³Όλͺ©λ³„ 객관식 문제 μžλ™ 생성
  • ν€΄μ¦ˆ ν•΄μ„€, 톡계 제곡
  • ν’€μ—ˆλ˜ ν€΄μ¦ˆ(OX, 사지선닀) λͺ¨μ•„보기
  • ν€΄μ¦ˆ 리셋 κΈ°λŠ₯

사지선닀 ν€΄μ¦ˆ ν™”λ©΄

πŸ“‚ ν”Όλ“œλ°± 보관함

  • ν”Όλ“œλ°± λͺ¨μ•„보기 κΈ°λŠ₯ 제곡
    • κ³Όλͺ©λ³„, μ‹œκ°„μˆœ μ •λ ¬ κ°€λŠ₯

ν”Όλ“œλ°± 보관함 ν™”λ©΄

πŸ“Š ν•™μŠ΅ 데이터 관리

  • κΈ°λ³Έ 정보 및 ν•™μŠ΅ 톡계 제곡

λ§ˆμ΄νŽ˜μ΄μ§€ ν™”λ©΄

🎬 μ‹œμ—° μ˜μƒ

μ‹œμ—° μ˜μƒ κ΄‘κ³  μ˜μƒ

πŸŒ€ 흐름도

DATA FLOW

USER FLOW

πŸ› οΈ μ„€μΉ˜ 및 ν™œμš©

0️⃣ Anaconda κ°€μƒν™˜κ²½ μ„€μΉ˜

  • κ°€μƒν™˜κ²½ λ§Œλ“€κΈ°
conda create --name solar-teacher python=3.11
  • κ°€μƒν™˜κ²½ ν™œμ„±ν™”
conda activate solar-teacher
  • 라이브러리 μ„€μΉ˜
pip install -r requirements.txt

1️⃣ root에 .env 파일 생성

  • .env_sample 파일λͺ…을 .env둜 λ³€κ²½
  • API_KEY λ³€κ²½ν•˜κΈ°
# LANGCHAIN_API_KEY=lsv2_
# UPSTAGE_API_KEY=up_
# PINECONE_API_KEY = pcsk_

2️⃣ λ°±μ—”λ“œ μ‹€ν–‰

cd backend
python main.py

3️⃣ ν”„λ‘ νŠΈμ—”λ“œ μ‹€ν–‰

cd frontend
npm install
npm start

πŸ“‘ Upstage API μ‚¬μš© λͺ©λ‘

API μ„€λͺ… μ‚¬μš© μœ„μΉ˜ μ‚¬μš© μœ„μΉ˜
Document OCR 이미지 λ˜λŠ” PDF νŒŒμΌμ—μ„œ ν…μŠ€νŠΈλ₯Ό μΆ”μΆœν•˜λŠ” κΈ°λŠ₯ 손글씨 λ…ΈνŠΈ 인식 ocr_service.py
Embeddings ν…μŠ€νŠΈ 데이터λ₯Ό λ²‘ν„°ν™”ν•˜μ—¬ 의미 기반 검색 및 뢄석에 ν™œμš© input text μž„λ² λ”©, RAG data ꡬ좕, μ‹œλ©˜ν‹± 검색 rag_service.py
Chat μ‚¬μš©μžμ™€μ˜ μƒν˜Έμž‘μš©μ„ 톡해 질문 응닡 및 λŒ€ν™” 생성 ν”Όλ“œλ°±, OXν€΄μ¦ˆ, 사지선닀 ν€΄μ¦ˆ 생성 rag_service.py

πŸ—‚οΈ λ ˆνŒŒμ§€ν† λ¦¬ ꡬ쑰

.
β”œβ”€β”€ backend
β”‚   β”œβ”€β”€ app
β”‚   β”‚   β”œβ”€β”€ api
β”‚   β”‚   β”‚   └── endpoints
β”‚   β”‚   β”œβ”€β”€ core
β”‚   β”‚   β”œβ”€β”€ db
β”‚   β”‚   β”œβ”€β”€ models
β”‚   β”‚   └── services
β”‚   β”œβ”€β”€ data
β”‚   β”œβ”€β”€ utils
β”œβ”€β”€ experiments
β”‚   β”œβ”€β”€ OCR
β”‚   β”œβ”€β”€ RAG
β”‚   β”‚   └── rag_utils
β”œβ”€β”€ frontend
β”‚   β”œβ”€β”€ public
β”‚   β”‚   β”œβ”€β”€ assets
β”‚   β”‚   β”‚   β”œβ”€β”€ css
β”‚   β”‚   β”‚   β”œβ”€β”€ images
β”‚   β”‚   β”‚   └── js
β”‚   β”‚   └── components
└── images

πŸ’Ύ MySQL DB ꡬ쑰

ERD

πŸ‘₯ νŒ€μ› ꡬ성

이름 GitHub μ—­ν• 
κ°•ν˜„κ΅¬ @ardkyer Backend / Feedback
μ„œλ™μ€€ @seoo2001 RAG / Pinecone
μ–‘μ‹œμ˜ @Lagom92 RAG / LangSmith
이도걸 @doffice0827 PM / OCR
이수미 @SooMiiii Quiz / DB

πŸ” Further Reading