@@ -23,6 +23,11 @@ const Answer = {
23
23
false : 'WRONG_ANSWER' ,
24
24
} as const ;
25
25
26
+ const Word = {
27
+ true : '정답' ,
28
+ false : '오답' ,
29
+ } as const ;
30
+
26
31
const GradingPage : React . FC < GradingPageProps > = ( { solveId } ) => {
27
32
const { push } = useRouter ( ) ;
28
33
const [ selectedAnswer , setSelectedAnswer ] = useState < boolean > ( true ) ;
@@ -46,28 +51,33 @@ const GradingPage: React.FC<GradingPageProps> = ({ solveId }) => {
46
51
47
52
const aiScoring = async ( ) => {
48
53
await setIsLoading ( true ) ;
49
- const completion = await openai . chat . completions . create ( {
50
- messages : [
51
- {
52
- role : 'user' ,
53
- content : `문제 : ${ data . title } 내용 : ${ data . content } 이 문제의 답이 이게 맞아? ${ data . solution } true false로 대답해줘.` ,
54
- } ,
55
- ] ,
56
- model : 'gpt-3.5-turbo' ,
57
- } ) ;
58
-
59
- handleSubmit ( completion . choices [ 0 ] . message . content as 'true' | 'false' ) ;
54
+ try {
55
+ const completion = await openai . chat . completions . create ( {
56
+ messages : [
57
+ {
58
+ role : 'user' ,
59
+ content : `문제 : ${ data . title } 내용 : ${ data . content } 이 문제의 답이 맞는지 틀린지 알려줘. 답 : ${ data . solution } 답이 오류가 없는 것 같으면 true 아니면 false로 대답해줘.` ,
60
+ } ,
61
+ ] ,
62
+ model : 'gpt-3.5-turbo' ,
63
+ } ) ;
64
+
65
+ const answer = completion . choices [ 0 ] . message . content ;
66
+ handleSubmit ( answer . includes ( 'true' ) . toString ( ) as 'true' | 'false' ) ;
67
+ } catch ( error ) {
68
+ toast . success ( error ) ;
69
+ }
60
70
} ;
61
71
62
72
const handleSubmit = ( answer : 'true' | 'false' ) => {
63
73
const solveStatus = Answer [ answer ] ;
74
+ toast . success ( `${ Word [ answer ] } 으로 처리되었습니다.` ) ;
64
75
65
76
mutate ( { solveStatus : solveStatus } ) ;
66
77
} ;
67
78
68
79
if ( isSuccess ) {
69
80
push ( '/mission/scoring' ) ;
70
- toast . success ( '성공적으로 채점되었습니다.' ) ;
71
81
}
72
82
73
83
return (
0 commit comments