Skip to content

feat: 단어장 추출 LLM 엔드포인트 추가 (POST /vocab/extract)#8

Merged
zzuhannn merged 4 commits into
mainfrom
feat/#7
May 9, 2026
Merged

feat: 단어장 추출 LLM 엔드포인트 추가 (POST /vocab/extract)#8
zzuhannn merged 4 commits into
mainfrom
feat/#7

Conversation

@zzuhannn

Copy link
Copy Markdown
Member

🔎 관련 이슈

📋 작업 내용

  • app/schemas/vocab.py 추가 — VocabExtractRequest/VocabExtractResponse
  • llm_service.extract_vocab() 추가 — gpt-4o-mini로 3문장에서 어려운 단어 1개 + 유아 풀이 추출
    • temperature 0.3 (재현성 ↑)
    • 활용형 그대로 처리 가능
    • 풀이 50자 이내, 친근한 어조
    • 어려운 단어 없으면 word/meaning 모두 빈 문자열
  • app/routers/vocab.py 추가 — POST /vocab/extract 라우터
  • main.py에 vocab 라우터 등록

💡 알림

  • Back 저장소의 VocabExtractClient가 이 엔드포인트를 호출합니다 (feat: 동화 페이지 단어장 추출 도메인 구현  Back#32 참고).
  • 머지 후 CI에서 새 Docker 이미지가 빌드되어 Docker Hub에 push됩니다. EC2에서는 docker compose pull fastapi && docker compose up -d --force-recreate fastapi로 적용.

✅ 체크리스트

  • Python 문법 검증 통과
  • 머지 후 EC2에서 새 이미지로 fastapi 컨테이너 재기동 후 통합 테스트

VocabExtractRequest (sentences 입력), VocabExtractResponse (word/meaning 출력).
어려운 단어 없을 시 word/meaning 모두 빈 문자열 응답.
3문장에서 유아가 어려워할 단어 1개를 선별하고 유아 눈높이로 풀이.
- gpt-4o-mini, temperature 0.3 (재현성 ↑)
- 활용형 그대로 처리, 풀이 50자 이내
- 어려운 단어 없으면 word/meaning 모두 빈 문자열
3문장 입력 → 어려운 단어 1개 + 유아 풀이 응답.
실패 시 500 + VOCAB_EXTRACT_FAILED 에러 코드.
@zzuhannn zzuhannn merged commit 097caf0 into main May 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: 단어장 추출 LLM 엔드포인트 추가 (POST /vocab/extract)

1 participant