Python으로 AI 퀴즈 생성기 만들기
요약
Telnyx AI Inference를 활용하여 텍스트를 객관식 퀴즈로 변환하는 Flask 기반의 Python 예제를 소개합니다. LLM을 통해 구조화된 JSON 데이터를 생성하고 이를 앱에서 활용하는 방법을 다룹니다.
핵심 포인트
- Telnyx AI Inference를 이용한 텍스트 기반 퀴즈 생성
- LLM을 활용한 구조화된 JSON 데이터 추출 및 렌더링
- Flask 프레임워크를 사용한 API 엔드포인트 구현
- 실제 서비스 적용을 위한 프로덕션 확장 아이디어 제시
저는 Telnyx AI Inference를 사용하여 모든 기사, 블로그 게시물, 문서 페이지 또는 교육 노트를 객관식 퀴즈로 변환하는 작은 Flask 예제를 준비했습니다.
코드:
https://github.com/team-telnyx/telnyx-code-examples/tree/main/quiz-generator-python
아이디어는 간단합니다: 소스 텍스트를 LLM (Large Language Model)에 보내고, 구조화된 JSON을 요청한 다음, 앱에서 렌더링, 저장 또는 내보낼 수 있는 퀴즈를 반환하는 것입니다.
생성되는 내용
앱은 다음을 반환합니다:
- 퀴즈 제목
- 짧은 설명
- 객관식 질문
- A/B/C/D 선택지
- 질문당 하나의 정답
- 정답지에 대한 설명
주요 엔드포인트(Endpoint)는 다음과 같습니다:
POST /quiz/generate
요청 예시:
curl -X POST http://localhost:5000/quiz/generate \
-H "Content-Type: application/json" \
-d '{
...
응답 형태 예시:
{
"id": "quiz-1750280400",
"title": "Telnyx Call Control API Fundamentals",
...
작동 원리
앱은 다음을 호출합니다:
POST /v2/ai/chat/completions
기본 모델은 다음과 같습니다:
moonshotai/Kimi-K2.6
.env 파일 설정:
TELNYX_API_KEY=your_telnyx_api_key
AI_MODEL=moonshotai/Kimi-K2.6
HOST=127.0.0.1
프롬프트(Prompt)는 모델에게 질문당 4개의 선택지와 짧은 설명을 포함하여 JSON만 반환하도록 요청합니다.
포함된 라우트(Routes)
샘플에는 다음이 포함되어 있습니다:
POST /quiz/generateGET /quizzesGET /quizzes/<id>GET /quizzes/<id>/answersGET /health
저는 정답지(answer-key) 라우트가 별도로 분리된 점이 마음에 드는데, 이는 실제 학습 앱에 아주 잘 매칭되기 때문입니다. 학생용 뷰와 강사용 뷰는 보통 서로 다른 필드가 필요합니다.
프로덕션(Production) 아이디어
이 예제는 핵심 흐름을 쉽게 파악할 수 있도록 퀴즈를 메모리에 저장합니다.
실제 서비스(Production)를 위해서는 다음과 같은 기능을 추가하겠습니다:
- 영구 저장소 (Persistent storage)
- 인증 (Authentication)
- 검토 워크플로 (Review workflows)
- 긴 문서 청킹 (Long-document chunking)
- JSON, CSV 또는 LMS 형식으로 내보내기
- 참/거짓(True/False) 또는 단답형 질문 지원
- 더 강력한 JSON 검증 (JSON validation)
이것은 시작 단계의 패턴이지만 매우 유용합니다. LLM (Large Language Model)이 단순히 산문(prose)을 반환하는 것이 아니라, 구조화된 앱 데이터(structured app data)를 생성하고 있기 때문입니다.
리소스:
- 코드: https://github.com/team-telnyx/telnyx-code-examples/tree/main/quiz-generator-python
- Telnyx AI 추론(Inference) 문서: https://developers.telnyx.com/docs/inference
- Chat Completions API: https://developers.telnyx.com/api/inference/chat-completions
- Telnyx AI 기술 및 툴킷(toolkits): https://github.com/team-telnyx/ai
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기