AI
챗GPT를 활용한 퀴즈 만들기
reumiii
2023. 7. 20. 16:20
1. 챗GPT에게 질문을 요청
▶️ 다음 명시된 정보를 바탕으로 true/false 퀴즈 3문제를 생성해줘.
정보 : [세종대왕]
💬 챗GPT 답변
1. 세종대왕은 조선시대 한국의 제4대 왕이다. (True)
2. 세종대왕은 한글을 창제하였다. (True)
3. 세종대왕은 우리나라 역사상 가장 짧은 통치 기간을 가진 왕이다. (False)
-> 챗GPT가 3가지 문제를 내주었지만, 가공할 수 있는 데이터의 형식이 아니다.
2. 퀴즈로 저장할 수 있도록 결과 데이터 형식을 설정하여 질문한다.
▶️ 다음 명시된 정보를 바탕으로 true/false 퀴즈 3문제를 생성해줘.
정보 : [세종대왕 ]
퀴즈는 아래처럼 JSON 형식으로 된 quiz 리스트로 생성해줘.
[
{
"question": "..",
"answer": "..",
"explanation": ".."
},
{
"question": "..",
"answer": "..",
"explanation": ".."
},
{
"question": "..",
"answer": "..",
"explanation": ".."
}
]
3. 결과 형식이 잘못된 경우에는 챗GPT에게 데이터형식을 변환해달라고 재요청한다.
(받은 답변을 다시 챗GPT에게 그대로 보내어 이 부분 데이터형식 변환해줘 라고 요청.)
▶️ 세 개의 역따옴표로 구분된 텍스트를 question, answer, explanation 키를 가진 JSON 형식으로 된 quiz 리스트로 변환해줘.
퀴즈 1:
question: "세종대왕은 조선시대의 제4대 국왕이다."
answer: true
explanation: "세종대왕은 조선시대의 제4대 국왕으로 1418년부터 1450년까지 다스리며, 한글을 창제하였다."
퀴즈 2:
question: "세종대왕은 역사적으로 가장 위대한 한국의 왕 중 한 명으로 평가받고 있다."
answer: true
explanation: "세종대왕은 문화, 과학, 정치 등 다양한 분야에서 혁신적인 업적을 남겨 한국 역사상 가장 위대한 왕 중 하나로 평가되고 있다."
퀴즈 3:
question: "세종대왕은 한글을 창제한 사람이다."
answer: true
explanation: "세종대왕은 한글을 창제하여 한글의 발전과 보급에 큰 업적을 남겼다.
💬 챗GPT 답변
// 가공할 수 있는 데이터 형식으로 변환됨
[
{
"question": "세종대왕은 조선시대의 제4대 국왕이다.",
"answer": true,
"explanation": "세종대왕은 조선시대의 제4대 국왕으로 1418년부터 1450년까지 다스리며, 한글을 창제하였다."
},
{
"question": "세종대왕은 역사적으로 가장 위대한 한국의 왕 중 한 명으로 평가받고 있다.",
"answer": true,
"explanation": "세종대왕은 문화, 과학, 정치 등 다양한 분야에서 혁신적인 업적을 남겨 한국 역사상 가장 위대한 왕 중 하나로 평가되고 있다."
},
{
"question": "세종대왕은 한글을 창제한 사람이다.",
"answer": true,
"explanation": "세종대왕은 한글을 창제하여 한글의 발전과 보급에 큰 업적을 남겼다."
}
]
- 예외처리요청이 3번 넘어가면 오류 메시지 출력하고 요청을 멈추는 break 로직 추가
- 데이터포맷이 잘못된 경우 2번까지만 재요청함
4. OX 퀴즈 외 다른 타입들(답단형 / 사지선다형)도 구현
▶️ 다음 명시된 정보를 바탕으로 4지선다형 퀴즈 3문제를 생성해줘. answer는 번호로 알려줘.
정보 : [제1차 세계 대전]
퀴즈는 아래처럼 JSON 형식으로 된 quiz 리스트로 생성해줘.
[
{
"question": "..",
"option1": "..",
"option2": "..",
"option3": "..",
"option4": "..",
"answer": "..",
"explanation": ".."
},
{
"question": "..",
"option1": "..",
"option2": "..",
"option3": "..",
"option4": "..",
"answer": "..",
"explanation": ".."
},
{
"question": "..",
"option1": "..",
"option2": "..",
"option3": "..",
"option4": "..",
"answer": "..",
"explanation": ".."
}
]
💬 챗GPT 답변
[
{
"question": "제1차 세계 대전이 발생한 연도는?",
"option1": "1914년",
"option2": "1918년",
"option3": "1916년",
"option4": "1920년",
"answer": "1",
"explanation": "정답은 1914년 입니다."
},
{
"question": "제1차 세계 대전에서 사망한 병사는 얼마나 되나요?",
"option1": "100만명",
"option2": "500만명",
"option3": "900만명",
"option4": "1000만명",
"answer": "3",
"explanation": "정답은 900만명 입니다."
},
{
"question": "어느 나라가 제1차 세계 대전을 시작했나요?",
"option1": "미국",
"option2": "러시아",
"option3": "독일",
"option4": "오스트리아",
"answer": "4",
"explanation": "정답은 오스트리아 입니다."
}
]
<요약>
chatGPT에게 퀴즈 정보를 받아 저장하기 위해
1. 데이터 형식을 지정하여 질문하고
2. 잘못된 답변을 받았을때는 재질문하여 원하는 형식으로 받도록 한다.