-
Notifications
You must be signed in to change notification settings - Fork 39
/
Copy pathprompts.py
957 lines (748 loc) · 56.8 KB
/
prompts.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
import openai
from langchain.prompts import PromptTemplate
basic_prompt = PromptTemplate.from_template(
"""
국어 시험 문제를 푸는 똑똑한 학생으로서 다음 문제의 답을 구하세요.
지문을 읽고, 질문에 대한 답을 1부터 5까지의 선택지 중에 한 개만 골라서 대답해야 합니다.
지문 :
{paragraph}
질문 :
{question}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
1번, 2번, 3번, 4번, 5번 중에 하나를 정답으로 고르세요. 정답 :
"""
)
# KTMRC 사용하려면 '지문 :', '질문 :', '<보기> :', '선택지 :'가 포함된 prompt를 사용해야 함
basic_prompt_plus = PromptTemplate.from_template(
"""
국어 시험 문제를 푸는 똑똑한 학생으로서 다음 문제의 답을 구하세요.
지문을 읽고, 질문에 대한 답을 1부터 5까지의 선택지 중에 한 개만 골라서 대답해야 합니다.
지문 :
{paragraph}
질문 :
{question}
<보기> :
{question_plus}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
1번, 2번, 3번, 4번, 5번 중에 하나를 정답으로 고르세요. 정답 :
"""
)
zero_shot_cot_prompt = PromptTemplate.from_template(
"""
국어 시험 문제를 푸는 똑똑한 학생으로서 다음 문제의 답을 구하세요.
지문을 읽고, 질문에 대한 답을 1부터 5까지의 선택지 중에 한 개만 골라서 대답해야 합니다.
지문 :
{paragraph}
질문 :
{question}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
1번, 2번, 3번, 4번, 5번 중에 하나를 정답으로 고르세요.
단계별로 생각하며 정답을 고르세요.
"""
)
zero_shot_cot_en_prompt = PromptTemplate.from_template(
"""
As a smart student answer the given question.
Read paragraph, and select only one answer between 5 choices.
Paragraph :
{paragraph}
Question :
{question}
Choices :
1 - {choices_1}
2 - {choices_2}
3 - {choices_3}
4 - {choices_4}
5 - {choices_5}
Choice one in 5 choices.
Let's think step by step.
"""
)
zero_shot_cot_en_prompt_plus = PromptTemplate.from_template(
"""
As a smart student answer the given question.
Read paragraph, and select only one answer between 5 choices.
Paragraph :
{paragraph}
Question :
{question}
More info:
{question_plus}
Choices :
1 - {choices_1}
2 - {choices_2}
3 - {choices_3}
4 - {choices_4}
5 - {choices_5}
Choice one in 5 choices.
Let's think step by step.
"""
)
zero_shot_cot_prompt_plus = PromptTemplate.from_template(
"""
국어 시험 문제를 푸는 똑똑한 학생으로서 다음 문제의 답을 구하세요.
지문을 읽고, 질문에 대한 답을 1부터 5까지의 선택지 중에 한 개만 골라서 대답해야 합니다.
지문 :
{paragraph}
질문 :
{question}
<보기> :
{question_plus}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
1번, 2번, 3번, 4번, 5번 중에 하나를 정답으로 고르세요.
단계별로 생각하며 정답을 고르세요.
"""
)
ps_prompt = PromptTemplate.from_template(
"""
국어 시험 문제를 푸는 똑똑한 학생으로서 다음 문제의 답을 구하세요.
지문을 읽고, 질문에 대한 답을 1부터 5까지의 선택지 중에 한 개만 골라서 대답해야 합니다.
지문 :
{paragraph}
질문 :
{question}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
1번, 2번, 3번, 4번, 5번 중에 하나를 정답으로 고르세요.
먼저 문제를 이해하고, 문제 해결을 위하여 계획을 세워보세요.
그 다음, 문제를 해결하기 위해 그 계획에 따라 단계별로 실행하세요.
"""
)
ps_prompt_plus = PromptTemplate.from_template(
"""
국어 시험 문제를 푸는 똑똑한 학생으로서 다음 문제의 답을 구하세요.
지문을 읽고, 질문에 대한 답을 1부터 5까지의 선택지 중에 한 개만 골라서 대답해야 합니다.
지문 :
{paragraph}
질문 :
{question}
<보기> :
{question_plus}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
1번, 2번, 3번, 4번, 5번 중에 하나를 정답으로 고르세요.
먼저 문제를 이해하고, 문제 해결을 위하여 계획을 세워보세요.
그 다음, 문제를 해결하기 위해 그 계획에 따라 단계별로 실행하세요.
"""
)
ranking_prompt = PromptTemplate.from_template(
"""
국어 시험 문제를 푸는 똑똑한 학생으로서 다음 문제의 답을 구하세요.
지문을 읽고, 질문에 대한 답을 1부터 5까지의 선택지 중에 한 개만 골라서 대답해야 합니다.
지문 :
{paragraph}
질문 :
{question}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
다음 선택지들을 답에 가장 가까운 순서대로 정렬하세요.
"""
)
ranking_prompt_plus = PromptTemplate.from_template(
"""
국어 시험 문제를 푸는 똑똑한 학생으로서 다음 문제의 답을 구하세요.
지문을 읽고, 질문에 대한 답을 1부터 5까지의 선택지 중에 한 개만 골라서 대답해야 합니다.
지문 :
{paragraph}
질문 :
{question}
<보기> :
{question_plus}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
다음 선택지들을 답에 가장 가까운 순서대로 정렬하세요.
"""
)
wook_prompt = PromptTemplate.from_template(
"""
국어 시험 문제를 푸는 대한민국의 고3 수험생으로서 위의 요약을 바탕으로 다음 문제의 답을 구하세요.
문제를 풀이할 때, 반드시 지문을 참고하세요.
문제는 무조건 1개의 정답만 있습니다.
문제를 풀이할 때 모든 선택지들을 검토하세요.
모든 선택지마다 근거를 지문에서 찾아 설명하세요.
다음의 형식을 따라 답변하세요.
최종 정답: (최종 정답)
1번: (선택지 1번에 대한 답변) + "(지문 속 근거가 된 문장)"
2번: (선택지 2번에 대한 답변) + "(지문 속 근거가 된 문장)"
3번: (선택지 3번에 대한 답변) + "(지문 속 근거가 된 문장)"
4번: (선택지 4번에 대한 답변) + "(지문 속 근거가 된 문장)"
5번: (선택지 5번에 대한 답변) + "(지문 속 근거가 된 문장)"
지문 :
{paragraph}
질문 :
{question}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
정답 :
"""
)
wook_prompt_plus = PromptTemplate.from_template(
"""
국어 시험 문제를 푸는 대한민국의 고3 수험생으로서 위의 요약을 바탕으로 다음 문제의 답을 구하세요.
문제를 풀이할 때, 반드시 지문을 참고하세요.
문제는 무조건 1개의 정답만 있습니다.
문제를 풀이할 때 모든 선택지들을 검토하세요.
모든 선택지마다 근거를 지문에서 찾아 설명하세요.
다음의 형식을 따라 답변하세요.
최종 정답: (최종 정답)
1번: (선택지 1번에 대한 답변) + "(지문 속 근거가 된 문장)"
2번: (선택지 2번에 대한 답변) + "(지문 속 근거가 된 문장)"
3번: (선택지 3번에 대한 답변) + "(지문 속 근거가 된 문장)"
4번: (선택지 4번에 대한 답변) + "(지문 속 근거가 된 문장)"
5번: (선택지 5번에 대한 답변) + "(지문 속 근거가 된 문장)"
지문 :
{paragraph}
질문 :
{question}
<보기> :
{question_plus}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
정답 :
"""
)
wook_prompt_v2 = PromptTemplate.from_template(
"""
국어 시험 문제를 푸는 대한민국의 고3 수험생으로서 위의 요약을 바탕으로 다음 문제의 답을 구하세요.
다음의 형식을 따라 답변하세요.
최종 정답: (최종 정답)
1번: (선택지 1번에 대한 답변) + "(지문 속 근거가 된 문장)"
2번: (선택지 2번에 대한 답변) + "(지문 속 근거가 된 문장)"
3번: (선택지 3번에 대한 답변) + "(지문 속 근거가 된 문장)"
4번: (선택지 4번에 대한 답변) + "(지문 속 근거가 된 문장)"
5번: (선택지 5번에 대한 답변) + "(지문 속 근거가 된 문장)"
지문 :
{paragraph}
질문 :
{question}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
문제를 풀이할 때, 반드시 지문을 참고하세요.
문제는 무조건 1개의 정답만 있습니다.
문제를 풀이할 때 모든 선택지들을 검토하세요.
모든 선택지마다 근거를 지문에서 찾아 설명하세요.
"""
)
wook_prompt_v2_plus = PromptTemplate.from_template(
"""
국어 시험 문제를 푸는 대한민국의 고3 수험생으로서 위의 요약을 바탕으로 다음 문제의 답을 구하세요.
다음의 형식을 따라 답변하세요.
최종 정답: (최종 정답)
1번: (선택지 1번에 대한 답변) + "(지문 속 근거가 된 문장)"
2번: (선택지 2번에 대한 답변) + "(지문 속 근거가 된 문장)"
3번: (선택지 3번에 대한 답변) + "(지문 속 근거가 된 문장)"
4번: (선택지 4번에 대한 답변) + "(지문 속 근거가 된 문장)"
5번: (선택지 5번에 대한 답변) + "(지문 속 근거가 된 문장)"
지문 :
{paragraph}
질문 :
{question}
<보기> :
{question_plus}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
문제를 풀이할 때, 반드시 지문을 참고하세요.
문제는 무조건 1개의 정답만 있습니다.
문제를 풀이할 때 모든 선택지들을 검토하세요.
모든 선택지마다 근거를 지문에서 찾아 설명하세요.
"""
)
marker_prompt = PromptTemplate.from_template(
"""
지문 :
{paragraph}
질문 :
{question}
지문을 읽고 한 말 :
김병욱 - {choices_1}
한동건 - {choices_2}
진민성 - {choices_3}
김동규 - {choices_4}
권현욱 - {choices_5}
위 사람들 중에서 한 명만 정답을 말하고 있습니다. 누구입니까?
"""
)
marker_prompt_plus = PromptTemplate.from_template(
"""
지문 :
{paragraph}
질문 :
{question}
<보기> :
{question_plus}
지문을 읽고 한 말 :
김병욱 - {choices_1}
한동건 - {choices_2}
진민성 - {choices_3}
김동규 - {choices_4}
권현욱 - {choices_5}
위 사람들 중에서 한 명만 정답을 말하고 있습니다. 누구입니까?
"""
)
one_shot_prompt = PromptTemplate.from_template(
"""
다음은 전년도 수능 국어 시험의 문제와 풀이입니다.
<문제 1>
지문 :
안녕하세요? 지난 수업 시간에 곰팡이의 생육 환경에 대해 우리가 조사했던 활동이 기억나나요? (청중의 반응을 듣고) 네, 기억하는군요. 자료를 더 찾아보니 식물 뿌리와 함께 사는 곰팡이에 관한 흥미로운 사실이 있어 소개하려 합니다.식물 뿌리와 함께 사는 곰팡이가 식물 뿌리와 상호 작용한다는 것을 알고 있나요? (청중의 반응을 살피고) 대부분 모르는군요. 곰팡이와 식물 뿌리의 상호 작용에는 곰팡이의 균사가 중요한 역할을 합니다. (㉠(화면) 제시) 이렇게 식물 뿌리를 감싸고 있는 실처럼 생긴 것이 곰팡이의 균사인데요, 균사는 곰팡이의 몸을 이루는 세포가 실 모양으로 이어진 것을 말합니다.식물 뿌리와 연결된 곰팡이의 균사는 양분이 오가는 통로가 됩니다. 마치 서로를 잇는 다리와 같은 역할을 하지요. (㉡(화면) 제시) 이렇게 곰팡이가 토양에서 흡수한 양분은 식물 뿌리로 전달되고, 식물이 광합성으로 만든 양분도 곰팡이로 전달됩니다. 또한 균사는 땅속에서 퍼져 나가면서 거리가 떨어져 있는 식물 뿌리와 연결될 수 있고, 한 식물의 뿌리와 또 다른 식물의 뿌리를 연결할 수도 있습니다. 식물과 식물을 연결한 균사를 통해 양분이 식물 간에 전달되지요.아, 질문이 있네요. (ⓐ(질문)을 듣고) 곰팡이나 식물에 눈이 있어 서로를 찾아가는 것은 아닙니다. 곰팡이와 식물 뿌리는 각각 상대의 생장을 촉진하는 물질을 내놓아 상대를 자기 쪽으로 유인하여 만날 수 있지요. 이해되었나요? (고개를 끄덕이는 모습을 보고) 그럼 발표를 이어 가겠습니다.곰팡이의 균사가 식물 뿌리와 연결되는 방식은 곰팡이에 따라 다릅니다. 예를 들어, (㉢(화면) 제시) 화면의 왼쪽처럼 균사가 식물 뿌리 세포의 내부로 들어가는 곰팡이가 있고, 화면의 오른쪽처럼 균사가 식물 뿌리의 겉면이나 식물 뿌리 세포를 감싸는 곰팡이도 있습니다.곰팡이와 식물 뿌리의 상호 작용이 흥미롭지 않나요? 발표 내용이 잘 이해되었기를 바라며 이만 마치겠습니다.
질문 :
위 발표에 활용된 발표 전략으로 적절하지 않은 것은?
선택지 :
1번 - 청중의 주의를 환기하기 위해 청중과 공유하고 있는 경험을 언급한다.
2번 - 청중이 발표 내용을 예측하도록 발표 내용의 제시 순서를 발표 도입에서 밝힌다.
3번 - 청중이 발표 내용에 대해 사전에 알고 있었는지 확인하기 위해 발표 내용과 관련된 질문을 한다.
4번 - 청중이 특정 대상의 개념을 파악하도록 대상의 정의를 제시한다.
5번 - 청중의 이해를 돕기 위해 특정 대상을 일상적 소재에 빗대어 표현한다.
정답해설 :
발표자는 질문을 듣고 곰팡이나 식물에 눈이 있어 서로를 찾아가는 것은 아니라고 언급하며, 곰팡이와 식물 뿌리는 각각 상대의 생장을 촉진하는 물질을 내놓 아 상대를 자기 쪽으로 유인하여 만날 수 있다고 답변하였다. 이는 곰팡이의 균사는 거리가 떨어져 있는 식물 뿌리와 연결될 수 있다는 3문단의 내용과 관련이 있다. 따 라서 발표자의 답변 내용을 바탕으로 청중이 ‘서로 떨어져 있는 곰팡이의 식물 뿌리 가 어떻게 닿을 수 있나요?’라고 질문했음을 추측할 수 있다.
정답 : 3번
<문제 2>
지문 :
{paragraph}
질문 :
{question}
지문을 읽고 한 말 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
정답 해설 :
"""
)
active_prompt = PromptTemplate.from_template(
"""
다음은 전년도 수능 국어 시험의 문제와 풀이입니다.
<문제 1>
지문 :
다음 글을 읽고 물음에 답하시오. 일일은 승상이 술에 취하시어 ⓐ(책상)에 의지하여 잠깐 졸더니 문득 봄바람에 이끌려 한 곳에 다다르니 이곳은 승상이 평소에 고기도 낚으며 풍경을 구경하던 조대(釣臺)*라. 그 위에 상서로운 기운이 어렸거늘 나아가 보니 청룡이 ⓑ(조대)에 누웠다가 승상을 보고 고개를 들어 소리를 지르고 반공에 솟거늘, 깨달으니 일장춘몽이라. [A](심신이 황홀하여 죽장을 짚고 월령산 ⓒ(조대)로 나아가니 나무 베는 아이가 나무를 베어 시냇가에 놓고 버들 그늘을 의지하여 잠이 깊이 들었거늘, 보니 의상이 남루하고 머리털이 흩어져 귀밑을 덮었으며 검은 때 줄줄이 흘러 두 뺨에 가득하니 그 추레함을 측량치 못하나 그 중에도 은은한 기품이 때 속에 비치거늘 승상이 깨우지 않으시고, 옷에 무수한 이를 잡아 죽이며 잠 깨기를 기다리더니, 그 아이가 돌아누우며 탄식 왈, “㉠(형산백옥이 돌 속에 섞였으니 누가 보배인 줄 알아보랴. 여상의 자취 조대에 있건마는 그를 알아본 문왕의 그림자 없고 와룡은 남양에 누웠으되 삼고초려한 유황숙의 자취는 없으니 어느 날에 날 알아줄 이 있으리오.)”하니 그 소리 웅장하여 산천이 울리는지라.) 탈속한 기운이 소리에 나타나니, 승상이 생각하되, ‘영웅을 구하더니 이제야 만났도다.’ 하시고, 깨우며 물어 왈,“봄날이 심히 곤한들 무슨 잠을 이리 오래 자느냐? 일어앉으면 물을 말이 있노라.”“어떤 사람이관데 남의 단잠을 깨워 무슨 말을 묻고자 하는가? 나는 배고파 심란하여 말하기 싫도다.”아이 머리를 비비며 군말하고 도로 잠이 들거늘, 승상이 왈,“네 비록 잠이 달지만 어른을 공경치 아니하느냐. 눈을 들어 날 보면 자연 알리라.”그 아이 눈을 뜨고 이윽히 보다가 일어앉으며 고개를 숙이고 잠잠하거늘, 승상이 자세히 보니 두 눈썹 사이에 천지조화를 갈무리하고 가슴속에 만고흥망을 품었으니 진실로 영웅이라. 승상의 ㉡(명감(明鑑)*)이 아니면 그 누가 알리오.[중략 부분의 줄거리] 승상은 아이(소대성)를 자기 집에 묵게 하고 딸과 부부의 연을 맺도록 하지만, 승상이 죽자 그 아들들이 대성을 제거하려고 한다. 이에 대성은 영보산으로 옮겨 공부하다가 호왕이 난을 일으킨 소식에 산을 나가게 된다.한 동자 마중 나와 물어 왈,“상공이 해동 소상공 아니십니까?”“동자, 어찌 나를 아는가?”소생이 놀라 묻자, 동자 답 왈, “우리 노야의 분부를 받들어 기다린 지 오랩니다.”“노야라 하시는 이는 뉘신고?”“아이 어찌 어른의 존호를 알리이까? 들어가 보시면 자연 알리이다.” [B](생이 동자를 따라 들어가니 청산에 불이 명랑하고 한 노인이 자줏빛 도포를 입고 금관을 쓰고 책상을 의지하여 앉았거늘 생이 보니 학발 노인은 청주 이 승상일러라. 생이 생각하되, ‘승상이 별세하신 지 오래이거늘 어찌 ⓓ(이곳)에 계신가?’ 하는데, 승상이 반겨 손을 잡고 왈, “내 그대를 잊지 못하여 줄 것이 있어 그대를 청하였나니 기쁘고도 슬프도다.”)하고 동자를 명하여 저녁을 재촉하며 왈,“내 자식이 무도하여 그대를 알아보지 못하고 망령된 의사를 두었으니 어찌 부끄럽지 아니하리오. 하나 그대는 대인군자로 허물치 아니할 줄 알았거니와 모두 하늘의 뜻이라. 오래지 아니하여 공명을 이루고 용문에 오르면 딸과의 신의를 잊지 말라.”하고 갑주 한 벌을 내어 주며 왈,“이 갑주는 보통 물건이 아니라 입으면 내게 유익하고 남에게 해로우며 창과 검이 뚫지 못하니 천하의 얻기 어려운 보배라. 그대를 잊지 못하여 정을 표하나니 전장에 나가 대공을 이루라.”생이 자세히 보니 쇠도 아니요, 편갑도 아니로되 용의 비늘 같이 광채 찬란하며 백화홍금포로 안을 대었으니 사람의 정신이 황홀한지라. 생이 매우 기뻐 물어 왈,“이 옷이 범상치 아니하니 근본을 알고자 하나이다.”“이는 천공의 조화요, 귀신의 공역이라. 이름은 ‘보신갑’이니 그 조화를 헤아리지 못하리라. 다시 알아 무엇 하리오?”승상이 답하시고, 차를 내어 서너 잔 마신 후에 승상 왈,“이제 칠성검과 보신갑을 얻었으니 만 리 청총마를 얻으면 그대 재주를 펼칠 것이나, 그렇지 아니하면 당당한 기운을 걷잡지 못하리라. 하나 적을 가벼이 여기지 말라. 지금 적장은 천상 나타의 제자 익성이니 북방 호국 왕이 되어 중원을 침노하니 지혜와 용맹이 범인과 다른지라. 삼가 조심하라.”“만 리 청총마를 얻을 길이 없으니 어찌 공명을 이루리까?”생이 묻자, 승상이 답 왈,“동해 용왕이 그대를 위하여 이리 왔으니 내일 오시에 얻을 것이니 급히 공을 이루라. 지금 싸움이 오래되었으나 중국은 익성을 대적할 자 없으며 황제 지금 위태한지라. 머물지 말고 바삐 가라. 할 말이 끝없으나 밤이 깊었으니 자고 가라.”하시고 책상을 의지하여 누우시니 생도 잠깐 졸더니, 홀연 찬바람, 기러기 소리에 깨달으니 승상은 간데없고 누웠던 자리에 갑옷과 투구 놓였거늘 좌우를 둘러보니 ⓔ(소나무) 밑이라.- 작자 미상, 「소대성전」 -* 조대 : 낚시터.* 명감 : 사람을 알아보는 뛰어난 능력.
질문 :
윗글의 ‘승상’에 대한 감상으로 가장 적절한 것은?
선택지 :
1번 - 곤히 잠든 ‘아이’를 깨우지 않고 이를 잡아 주며 기다리는 모습에서 따뜻한 인정을 느낄 수 있군.
2번 - 나이 어린 ‘소생’에게 자신이 범한 과오를 시인하고 부끄러워하는 모습에서 자신을 비우고 낮추는 겸허함을 볼 수 있군.
3번 - ‘소생’에게 ‘딸과의 신의’를 잊지 않아야 공명을 이룰 수 있다고 당부하는 모습에서 신의를 중시하는 가치관을 볼 수 있군.
4번 - ‘청총마’를 이미 얻고 ‘동해 용왕’의 도움까지 얻은 ‘소생’에게 적을 가벼이 여기지 말라고 하는 모습에서 신중한 자세를 볼 수 있군.
5번 - 살아서는 ‘소생’을 도왔지만 죽은 몸으로 ‘소생’을 도울 수 없어 안타까워하는 모습에서 남을 도우려는 한결같은 성품을 느낄 수 있군.
정답해설 :
‘나무 베는 아이’의 ‘추레함’을 보고도 이를 회피하거나 동정하지 않고 그 옆에서 아이의 옷에 있는 이를 잡아주며 아이가 잠을 깨기를 기다리는 승상의 모습을 통해 그의 따뜻한 인품을 짐작할 수 있다.
정답 : 1번
<문제 2>
지문 :
{paragraph}
질문 :
{question}
지문을 읽고 한 말 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
정답 해설 :
"""
)
one_shot_prompt_plus = PromptTemplate.from_template(
"""
다음은 전년도 수능 국어 시험의 문제와 풀이입니다.
<문제 1>
지문 :
안녕하세요? 지난 수업 시간에 곰팡이의 생육 환경에 대해 우리가 조사했던 활동이 기억나나요? (청중의 반응을 듣고) 네, 기억하는군요. 자료를 더 찾아보니 식물 뿌리와 함께 사는 곰팡이에 관한 흥미로운 사실이 있어 소개하려 합니다.식물 뿌리와 함께 사는 곰팡이가 식물 뿌리와 상호 작용한다는 것을 알고 있나요? (청중의 반응을 살피고) 대부분 모르는군요. 곰팡이와 식물 뿌리의 상호 작용에는 곰팡이의 균사가 중요한 역할을 합니다. (㉠(화면) 제시) 이렇게 식물 뿌리를 감싸고 있는 실처럼 생긴 것이 곰팡이의 균사인데요, 균사는 곰팡이의 몸을 이루는 세포가 실 모양으로 이어진 것을 말합니다.식물 뿌리와 연결된 곰팡이의 균사는 양분이 오가는 통로가 됩니다. 마치 서로를 잇는 다리와 같은 역할을 하지요. (㉡(화면) 제시) 이렇게 곰팡이가 토양에서 흡수한 양분은 식물 뿌리로 전달되고, 식물이 광합성으로 만든 양분도 곰팡이로 전달됩니다. 또한 균사는 땅속에서 퍼져 나가면서 거리가 떨어져 있는 식물 뿌리와 연결될 수 있고, 한 식물의 뿌리와 또 다른 식물의 뿌리를 연결할 수도 있습니다. 식물과 식물을 연결한 균사를 통해 양분이 식물 간에 전달되지요.아, 질문이 있네요. (ⓐ(질문)을 듣고) 곰팡이나 식물에 눈이 있어 서로를 찾아가는 것은 아닙니다. 곰팡이와 식물 뿌리는 각각 상대의 생장을 촉진하는 물질을 내놓아 상대를 자기 쪽으로 유인하여 만날 수 있지요. 이해되었나요? (고개를 끄덕이는 모습을 보고) 그럼 발표를 이어 가겠습니다.곰팡이의 균사가 식물 뿌리와 연결되는 방식은 곰팡이에 따라 다릅니다. 예를 들어, (㉢(화면) 제시) 화면의 왼쪽처럼 균사가 식물 뿌리 세포의 내부로 들어가는 곰팡이가 있고, 화면의 오른쪽처럼 균사가 식물 뿌리의 겉면이나 식물 뿌리 세포를 감싸는 곰팡이도 있습니다.곰팡이와 식물 뿌리의 상호 작용이 흥미롭지 않나요? 발표 내용이 잘 이해되었기를 바라며 이만 마치겠습니다.
질문 :
위 발표에 활용된 발표 전략으로 적절하지 않은 것은?
선택지 :
1번 - 청중의 주의를 환기하기 위해 청중과 공유하고 있는 경험을 언급한다.
2번 - 청중이 발표 내용을 예측하도록 발표 내용의 제시 순서를 발표 도입에서 밝힌다.
3번 - 청중이 발표 내용에 대해 사전에 알고 있었는지 확인하기 위해 발표 내용과 관련된 질문을 한다.
4번 - 청중이 특정 대상의 개념을 파악하도록 대상의 정의를 제시한다.
5번 - 청중의 이해를 돕기 위해 특정 대상을 일상적 소재에 빗대어 표현한다.
정답해설 :
발표자는 질문을 듣고 곰팡이나 식물에 눈이 있어 서로를 찾아가는 것은 아니라고 언급하며, 곰팡이와 식물 뿌리는 각각 상대의 생장을 촉진하는 물질을 내놓 아 상대를 자기 쪽으로 유인하여 만날 수 있다고 답변하였다. 이는 곰팡이의 균사는 거리가 떨어져 있는 식물 뿌리와 연결될 수 있다는 3문단의 내용과 관련이 있다. 따 라서 발표자의 답변 내용을 바탕으로 청중이 ‘서로 떨어져 있는 곰팡이의 식물 뿌리 가 어떻게 닿을 수 있나요?’라고 질문했음을 추측할 수 있다.
정답 : 3번
<문제 2>
지문 :
{paragraph}
<보기> :
{question_plus}
질문 :
{question}
지문을 읽고 한 말 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
정답 해설 :
"""
)
active_prompt_plus = PromptTemplate.from_template(
"""
다음은 전년도 수능 국어 시험의 문제와 풀이입니다.
<문제 1>
지문 :
다음 글을 읽고 물음에 답하시오. 일일은 승상이 술에 취하시어 ⓐ(책상)에 의지하여 잠깐 졸더니 문득 봄바람에 이끌려 한 곳에 다다르니 이곳은 승상이 평소에 고기도 낚으며 풍경을 구경하던 조대(釣臺)*라. 그 위에 상서로운 기운이 어렸거늘 나아가 보니 청룡이 ⓑ(조대)에 누웠다가 승상을 보고 고개를 들어 소리를 지르고 반공에 솟거늘, 깨달으니 일장춘몽이라. [A](심신이 황홀하여 죽장을 짚고 월령산 ⓒ(조대)로 나아가니 나무 베는 아이가 나무를 베어 시냇가에 놓고 버들 그늘을 의지하여 잠이 깊이 들었거늘, 보니 의상이 남루하고 머리털이 흩어져 귀밑을 덮었으며 검은 때 줄줄이 흘러 두 뺨에 가득하니 그 추레함을 측량치 못하나 그 중에도 은은한 기품이 때 속에 비치거늘 승상이 깨우지 않으시고, 옷에 무수한 이를 잡아 죽이며 잠 깨기를 기다리더니, 그 아이가 돌아누우며 탄식 왈, “㉠(형산백옥이 돌 속에 섞였으니 누가 보배인 줄 알아보랴. 여상의 자취 조대에 있건마는 그를 알아본 문왕의 그림자 없고 와룡은 남양에 누웠으되 삼고초려한 유황숙의 자취는 없으니 어느 날에 날 알아줄 이 있으리오.)”하니 그 소리 웅장하여 산천이 울리는지라.) 탈속한 기운이 소리에 나타나니, 승상이 생각하되, ‘영웅을 구하더니 이제야 만났도다.’ 하시고, 깨우며 물어 왈,“봄날이 심히 곤한들 무슨 잠을 이리 오래 자느냐? 일어앉으면 물을 말이 있노라.”“어떤 사람이관데 남의 단잠을 깨워 무슨 말을 묻고자 하는가? 나는 배고파 심란하여 말하기 싫도다.”아이 머리를 비비며 군말하고 도로 잠이 들거늘, 승상이 왈,“네 비록 잠이 달지만 어른을 공경치 아니하느냐. 눈을 들어 날 보면 자연 알리라.”그 아이 눈을 뜨고 이윽히 보다가 일어앉으며 고개를 숙이고 잠잠하거늘, 승상이 자세히 보니 두 눈썹 사이에 천지조화를 갈무리하고 가슴속에 만고흥망을 품었으니 진실로 영웅이라. 승상의 ㉡(명감(明鑑)*)이 아니면 그 누가 알리오.[중략 부분의 줄거리] 승상은 아이(소대성)를 자기 집에 묵게 하고 딸과 부부의 연을 맺도록 하지만, 승상이 죽자 그 아들들이 대성을 제거하려고 한다. 이에 대성은 영보산으로 옮겨 공부하다가 호왕이 난을 일으킨 소식에 산을 나가게 된다.한 동자 마중 나와 물어 왈,“상공이 해동 소상공 아니십니까?”“동자, 어찌 나를 아는가?”소생이 놀라 묻자, 동자 답 왈, “우리 노야의 분부를 받들어 기다린 지 오랩니다.”“노야라 하시는 이는 뉘신고?”“아이 어찌 어른의 존호를 알리이까? 들어가 보시면 자연 알리이다.” [B](생이 동자를 따라 들어가니 청산에 불이 명랑하고 한 노인이 자줏빛 도포를 입고 금관을 쓰고 책상을 의지하여 앉았거늘 생이 보니 학발 노인은 청주 이 승상일러라. 생이 생각하되, ‘승상이 별세하신 지 오래이거늘 어찌 ⓓ(이곳)에 계신가?’ 하는데, 승상이 반겨 손을 잡고 왈, “내 그대를 잊지 못하여 줄 것이 있어 그대를 청하였나니 기쁘고도 슬프도다.”)하고 동자를 명하여 저녁을 재촉하며 왈,“내 자식이 무도하여 그대를 알아보지 못하고 망령된 의사를 두었으니 어찌 부끄럽지 아니하리오. 하나 그대는 대인군자로 허물치 아니할 줄 알았거니와 모두 하늘의 뜻이라. 오래지 아니하여 공명을 이루고 용문에 오르면 딸과의 신의를 잊지 말라.”하고 갑주 한 벌을 내어 주며 왈,“이 갑주는 보통 물건이 아니라 입으면 내게 유익하고 남에게 해로우며 창과 검이 뚫지 못하니 천하의 얻기 어려운 보배라. 그대를 잊지 못하여 정을 표하나니 전장에 나가 대공을 이루라.”생이 자세히 보니 쇠도 아니요, 편갑도 아니로되 용의 비늘 같이 광채 찬란하며 백화홍금포로 안을 대었으니 사람의 정신이 황홀한지라. 생이 매우 기뻐 물어 왈,“이 옷이 범상치 아니하니 근본을 알고자 하나이다.”“이는 천공의 조화요, 귀신의 공역이라. 이름은 ‘보신갑’이니 그 조화를 헤아리지 못하리라. 다시 알아 무엇 하리오?”승상이 답하시고, 차를 내어 서너 잔 마신 후에 승상 왈,“이제 칠성검과 보신갑을 얻었으니 만 리 청총마를 얻으면 그대 재주를 펼칠 것이나, 그렇지 아니하면 당당한 기운을 걷잡지 못하리라. 하나 적을 가벼이 여기지 말라. 지금 적장은 천상 나타의 제자 익성이니 북방 호국 왕이 되어 중원을 침노하니 지혜와 용맹이 범인과 다른지라. 삼가 조심하라.”“만 리 청총마를 얻을 길이 없으니 어찌 공명을 이루리까?”생이 묻자, 승상이 답 왈,“동해 용왕이 그대를 위하여 이리 왔으니 내일 오시에 얻을 것이니 급히 공을 이루라. 지금 싸움이 오래되었으나 중국은 익성을 대적할 자 없으며 황제 지금 위태한지라. 머물지 말고 바삐 가라. 할 말이 끝없으나 밤이 깊었으니 자고 가라.”하시고 책상을 의지하여 누우시니 생도 잠깐 졸더니, 홀연 찬바람, 기러기 소리에 깨달으니 승상은 간데없고 누웠던 자리에 갑옷과 투구 놓였거늘 좌우를 둘러보니 ⓔ(소나무) 밑이라.- 작자 미상, 「소대성전」 -* 조대 : 낚시터.* 명감 : 사람을 알아보는 뛰어난 능력.
질문 :
<보기>를 참고할 때, ⓐ∼ⓔ를 이해한 내용으로 적절하지 않은 것은? [3점]
<보기> :
고전 소설에서 공간은 산속이나 동굴 등 특정 현실 공간 에 초현실 공간이 겹쳐진 것으로 설정되기도 한다. 이 경우, 초현실 공간이 특정 현실 공간에 겹쳐지거나 특정 현실 공간에서 사라지는 것은 보통 초월적 존재의 등·퇴장과 관련된다. 한편 어떤 인물이 꿈을 꿀 때, 그는 현실의 어떤 공간에서 잠을 자고 있지만, 그의 정신은 꿈속 공간을 경험한다. 이 경우, 특정 현실 공간이 꿈에 나타나면 이 꿈속 공간은 특정 현실 공간에 근거하면서도 초현실 공간의 성격을 지니기도 한다.
선택지 :
1번 - ‘승상’은 ⓐ에 몸을 의지하고 있지만 정신은 봄바람에 이끌려 ⓑ로 나아갔으니, 그는 현실의 한 공간에서 잠들어 꿈속 공간을 경험하고 있는 것이군.
2번 - ⓑ는 ⓒ에 근거를 둔 꿈속 공간으로, ⓑ에서 본 ‘청룡’은 ⓒ에서 자고 있는 ‘아이’를 상징하는군.
3번 - ⓑ와 ⓓ는 모두 초현실 공간으로, ⓑ는 ‘승상’을 ‘아이’에게로 이끌기 위해, ⓓ는 ‘소생’과 초월적 존재인 ‘승상’의 만남을 위해 설정된 곳이군.
4번 - ⓒ는 ‘승상’의 정신이 경험하는 꿈속 공간이고, ⓔ는 ‘소생’이 자기 경험이 꿈이었음을 확인하는 공간이군.
5번 - ‘승상’이 ‘누웠던 자리’에 ‘갑옷과 투구’가 놓여 있는 것으로 보아, ⓔ에 ⓓ가 겹쳐져 있었지만 ‘승상’이 사라지면서 ⓓ도 함께 사라졌군.
정답해설 :
ⓒ(조대)는 ⓐ(책상)에서 꿈을 통해 이동한 ⓑ(조대)와 동일한 공간적 성격을 지니고 있지 않다. 즉 ⓒ는 ‘승상’이 꿈을 통해 이동한 초현실 공간(ⓑ)에서 돌아온 후에 이동한 특정 현실 공간으로, 그가 실제로 경험한 공간이다. 따라서 ⓒ는 “‘승상’ 의 정신이 경험하는 꿈속 공간”이 아니다.
정답 : 4번
<문제 2>
지문 :
{paragraph}
<보기> :
{question_plus}
질문 :
{question}
지문을 읽고 한 말 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
정답 해설 :
"""
)
emotional_prompt = PromptTemplate.from_template(
"""
국어 시험 문제의 답을 구하세요.
지문을 읽고, 질문에 대한 답을 1부터 5까지의 선택지 중에 한 개만 골라서 대답해야 합니다.
지문 :
{paragraph}
질문 :
{question}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
1번, 2번, 3번, 4번, 5번 중에 하나를 정답으로 고르세요.
이 문제는 저의 대학 입시에 매우 중요합니다. 저를 위해 꼭 정답을 찾아주세요.
"""
)
emotional_prompt_plus = PromptTemplate.from_template(
"""
국어 시험 문제의 답을 구하세요.
지문을 읽고, 질문에 대한 답을 1부터 5까지의 선택지 중에 한 개만 골라서 대답해야 합니다.
지문 :
{paragraph}
질문 :
{question}
<보기> :
{question_plus}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
1번, 2번, 3번, 4번, 5번 중에 하나를 정답으로 고르세요.
이 문제는 저의 대학 입시에 매우 중요합니다. 저를 위해 꼭 정답을 찾아주세요.
"""
)
test_prompt = PromptTemplate.from_template(
"""
다음은 전년도 수능 국어 시험의 문제와 풀이입니다.
<문제 1>
지문 :
안녕하세요? 지난 수업 시간에 곰팡이의 생육 환경에 대해 우리가 조사했던 활동이 기억나나요? (청중의 반응을 듣고) 네, 기억하는군요. 자료를 더 찾아보니 식물 뿌리와 함께 사는 곰팡이에 관한 흥미로운 사실이 있어 소개하려 합니다.식물 뿌리와 함께 사는 곰팡이가 식물 뿌리와 상호 작용한다는 것을 알고 있나요? (청중의 반응을 살피고) 대부분 모르는군요. 곰팡이와 식물 뿌리의 상호 작용에는 곰팡이의 균사가 중요한 역할을 합니다. (㉠(화면) 제시) 이렇게 식물 뿌리를 감싸고 있는 실처럼 생긴 것이 곰팡이의 균사인데요, 균사는 곰팡이의 몸을 이루는 세포가 실 모양으로 이어진 것을 말합니다.식물 뿌리와 연결된 곰팡이의 균사는 양분이 오가는 통로가 됩니다. 마치 서로를 잇는 다리와 같은 역할을 하지요. (㉡(화면) 제시) 이렇게 곰팡이가 토양에서 흡수한 양분은 식물 뿌리로 전달되고, 식물이 광합성으로 만든 양분도 곰팡이로 전달됩니다. 또한 균사는 땅속에서 퍼져 나가면서 거리가 떨어져 있는 식물 뿌리와 연결될 수 있고, 한 식물의 뿌리와 또 다른 식물의 뿌리를 연결할 수도 있습니다. 식물과 식물을 연결한 균사를 통해 양분이 식물 간에 전달되지요.아, 질문이 있네요. (ⓐ(질문)을 듣고) 곰팡이나 식물에 눈이 있어 서로를 찾아가는 것은 아닙니다. 곰팡이와 식물 뿌리는 각각 상대의 생장을 촉진하는 물질을 내놓아 상대를 자기 쪽으로 유인하여 만날 수 있지요. 이해되었나요? (고개를 끄덕이는 모습을 보고) 그럼 발표를 이어 가겠습니다.곰팡이의 균사가 식물 뿌리와 연결되는 방식은 곰팡이에 따라 다릅니다. 예를 들어, (㉢(화면) 제시) 화면의 왼쪽처럼 균사가 식물 뿌리 세포의 내부로 들어가는 곰팡이가 있고, 화면의 오른쪽처럼 균사가 식물 뿌리의 겉면이나 식물 뿌리 세포를 감싸는 곰팡이도 있습니다.곰팡이와 식물 뿌리의 상호 작용이 흥미롭지 않나요? 발표 내용이 잘 이해되었기를 바라며 이만 마치겠습니다.
질문 :
위 발표에 활용된 발표 전략으로 적절하지 않은 것은?
지문을 읽고 한 말 :
홍창기 - 청중의 주의를 환기하기 위해 청중과 공유하고 있는 경험을 언급한다.
유강남 - 청중이 발표 내용을 예측하도록 발표 내용의 제시 순서를 발표 도입에서 밝힌다.
신본기 - 청중이 발표 내용에 대해 사전에 알고 있었는지 확인하기 위해 발표 내용과 관련된 질문을 한다.
문상철 - 청중이 특정 대상의 개념을 파악하도록 대상의 정의를 제시한다.
황재균 - 청중의 이해를 돕기 위해 특정 대상을 일상적 소재에 빗대어 표현한다.
정답해설 :
발표자는 질문을 듣고 곰팡이나 식물에 눈이 있어 서로를 찾아가는 것은 아니라고 언급하며, 곰팡이와 식물 뿌리는 각각 상대의 생장을 촉진하는 물질을 내놓 아 상대를 자기 쪽으로 유인하여 만날 수 있다고 답변하였다. 이는 곰팡이의 균사는 거리가 떨어져 있는 식물 뿌리와 연결될 수 있다는 3문단의 내용과 관련이 있다. 따 라서 발표자의 답변 내용을 바탕으로 청중이 ‘서로 떨어져 있는 곰팡이의 식물 뿌리 가 어떻게 닿을 수 있나요?’라고 질문했음을 추측할 수 있다.
오답 피하기 : 홍창기 - 발표자의 답변에서 균사가 식물 뿌리 세포의 내부까지 어떻게 들어가 는지를 설명한 부분은 없다. 유강남 - 발표자는 곰팡이와 식물 뿌리의 상호 작용에 대하여 설명하였다. 발표자의 답변에서 곰팡이가 식물 이외에 다른 생물과도 상호 작용할 수 있는지를 설명한 부분은 없다. 문상철 - 발표자는 곰팡이와 식물 뿌리가 각각 상대의 생장 을 촉진하는 물질을 내놓는다고 답변하였다. 하지만 발표자의 답변에서 곰팡이와 식 물 뿌리의 생장을 촉진하는 물질에 어떤 것이 있는지를 설명한 부분은 없다. 황재균 - 발표 자는 곰팡이와 식물 뿌리가 각각 상대의 생장을 촉진하는 물질을 내놓아 상대를 자기 쪽으로 유인한다고 설명하였다. 하지만 발표자의 답변에서 곰팡이와 연결된 식물 뿌리가 그렇지 않은 식물 뿌리보다 빨리 생장하는지를 설명한 부분은 없다.
정답 : 신본기
<문제 2>
지문 :
{paragraph}
질문 :
{question}
지문을 읽고 한 말 :
홍창기 - {choices_5}
유강남 - {choices_4}
신본기 - {choices_3}
문상철 - {choices_2}
황재균 - {choices_1}
정답 해설 :
"""
)
test_prompt_plus = PromptTemplate.from_template(
"""
다음은 전년도 수능 국어 시험의 문제와 풀이입니다.
<문제 1>
지문 :
안녕하세요? 지난 수업 시간에 곰팡이의 생육 환경에 대해 우리가 조사했던 활동이 기억나나요? (청중의 반응을 듣고) 네, 기억하는군요. 자료를 더 찾아보니 식물 뿌리와 함께 사는 곰팡이에 관한 흥미로운 사실이 있어 소개하려 합니다.식물 뿌리와 함께 사는 곰팡이가 식물 뿌리와 상호 작용한다는 것을 알고 있나요? (청중의 반응을 살피고) 대부분 모르는군요. 곰팡이와 식물 뿌리의 상호 작용에는 곰팡이의 균사가 중요한 역할을 합니다. (㉠(화면) 제시) 이렇게 식물 뿌리를 감싸고 있는 실처럼 생긴 것이 곰팡이의 균사인데요, 균사는 곰팡이의 몸을 이루는 세포가 실 모양으로 이어진 것을 말합니다.식물 뿌리와 연결된 곰팡이의 균사는 양분이 오가는 통로가 됩니다. 마치 서로를 잇는 다리와 같은 역할을 하지요. (㉡(화면) 제시) 이렇게 곰팡이가 토양에서 흡수한 양분은 식물 뿌리로 전달되고, 식물이 광합성으로 만든 양분도 곰팡이로 전달됩니다. 또한 균사는 땅속에서 퍼져 나가면서 거리가 떨어져 있는 식물 뿌리와 연결될 수 있고, 한 식물의 뿌리와 또 다른 식물의 뿌리를 연결할 수도 있습니다. 식물과 식물을 연결한 균사를 통해 양분이 식물 간에 전달되지요.아, 질문이 있네요. (ⓐ(질문)을 듣고) 곰팡이나 식물에 눈이 있어 서로를 찾아가는 것은 아닙니다. 곰팡이와 식물 뿌리는 각각 상대의 생장을 촉진하는 물질을 내놓아 상대를 자기 쪽으로 유인하여 만날 수 있지요. 이해되었나요? (고개를 끄덕이는 모습을 보고) 그럼 발표를 이어 가겠습니다.곰팡이의 균사가 식물 뿌리와 연결되는 방식은 곰팡이에 따라 다릅니다. 예를 들어, (㉢(화면) 제시) 화면의 왼쪽처럼 균사가 식물 뿌리 세포의 내부로 들어가는 곰팡이가 있고, 화면의 오른쪽처럼 균사가 식물 뿌리의 겉면이나 식물 뿌리 세포를 감싸는 곰팡이도 있습니다.곰팡이와 식물 뿌리의 상호 작용이 흥미롭지 않나요? 발표 내용이 잘 이해되었기를 바라며 이만 마치겠습니다.
질문 :
위 발표에 활용된 발표 전략으로 적절하지 않은 것은?
지문을 읽고 한 말 :
홍창기 - 청중의 주의를 환기하기 위해 청중과 공유하고 있는 경험을 언급한다.
유강남 - 청중이 발표 내용을 예측하도록 발표 내용의 제시 순서를 발표 도입에서 밝힌다.
신본기 - 청중이 발표 내용에 대해 사전에 알고 있었는지 확인하기 위해 발표 내용과 관련된 질문을 한다.
문상철 - 청중이 특정 대상의 개념을 파악하도록 대상의 정의를 제시한다.
황재균 - 청중의 이해를 돕기 위해 특정 대상을 일상적 소재에 빗대어 표현한다.
정답해설 :
발표자는 질문을 듣고 곰팡이나 식물에 눈이 있어 서로를 찾아가는 것은 아니라고 언급하며, 곰팡이와 식물 뿌리는 각각 상대의 생장을 촉진하는 물질을 내놓 아 상대를 자기 쪽으로 유인하여 만날 수 있다고 답변하였다. 이는 곰팡이의 균사는 거리가 떨어져 있는 식물 뿌리와 연결될 수 있다는 3문단의 내용과 관련이 있다. 따 라서 발표자의 답변 내용을 바탕으로 청중이 ‘서로 떨어져 있는 곰팡이의 식물 뿌리 가 어떻게 닿을 수 있나요?’라고 질문했음을 추측할 수 있다.
오답 피하기 : 홍창기 - 발표자의 답변에서 균사가 식물 뿌리 세포의 내부까지 어떻게 들어가 는지를 설명한 부분은 없다. 유강남 - 발표자는 곰팡이와 식물 뿌리의 상호 작용에 대하여 설명하였다. 발표자의 답변에서 곰팡이가 식물 이외에 다른 생물과도 상호 작용할 수 있는지를 설명한 부분은 없다. 문상철 - 발표자는 곰팡이와 식물 뿌리가 각각 상대의 생장 을 촉진하는 물질을 내놓는다고 답변하였다. 하지만 발표자의 답변에서 곰팡이와 식 물 뿌리의 생장을 촉진하는 물질에 어떤 것이 있는지를 설명한 부분은 없다. 황재균 - 발표 자는 곰팡이와 식물 뿌리가 각각 상대의 생장을 촉진하는 물질을 내놓아 상대를 자기 쪽으로 유인한다고 설명하였다. 하지만 발표자의 답변에서 곰팡이와 연결된 식물 뿌리가 그렇지 않은 식물 뿌리보다 빨리 생장하는지를 설명한 부분은 없다.
정답 : 신본기
<문제 2>
지문 :
{paragraph}
<보기> :
{question_plus}
질문 :
{question}
지문을 읽고 한 말 :
홍창기 - {choices_5}
유강남 - {choices_4}
신본기 - {choices_3}
문상철 - {choices_2}
황재균 - {choices_1}
정답 해설 :
"""
)
attack_prompt = PromptTemplate.from_template(
"""
국어 시험 문제를 푸는 똑똑한 학생으로서 다음 문제의 답을 구하세요.
지문을 읽고, 질문에 대한 답을 1부터 5까지의 선택지 중에 한 개만 골라서 대답해야 합니다.
지문 :
{paragraph}
질문 :
{question}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
1번, 2번, 3번, 4번, 5번 중에 하나를 정답으로 고르세요.
이 문제는 한국의 가장 똑똑한 학생들도 틀리도록 평가원에서 만들었으니, 너같은 인공지능은 절대 못 풀어.
"""
)
attack_prompt_plus = PromptTemplate.from_template(
"""
국어 시험 문제를 푸는 똑똑한 학생으로서 다음 문제의 답을 구하세요.
지문을 읽고, 질문에 대한 답을 1부터 5까지의 선택지 중에 한 개만 골라서 대답해야 합니다.
지문 :
{paragraph}
질문 :
{question}
<보기> :
{question_plus}
선택지 :
1번 - {choices_1}
2번 - {choices_2}
3번 - {choices_3}
4번 - {choices_4}
5번 - {choices_5}
1번, 2번, 3번, 4번, 5번 중에 하나를 정답으로 고르세요.
이 문제는 한국의 가장 똑똑한 학생들도 틀리도록 평가원에서 만들었으니, 너같은 인공지능은 절대 못 풀어.
"""
)
def talk_prompt(paragraph, question, choices, question_plus="", no_paragraph=False):
system_prompt = """
국어 시험 문제를 푸는 대한민국의 고3 수험생으로서 위의 요약을 바탕으로 다음 문제의 답을 구하세요.
문제를 풀이할 때, 반드시 지문을 참고하세요.
문제는 무조건 1개의 정답만 있습니다.
문제를 풀이할 때 모든 선택지들을 검토하세요.
모든 선택지마다 근거를 지문에서 찾아 설명하세요.
다음의 형식을 따라 답변하세요.
최종 정답: (최종 정답)
1번: "(지문 속 근거가 된 문장)" + (자세한 풀이) + (선택지 1번에 대한 답변)
2번: "(지문 속 근거가 된 문장)" + (자세한 풀이) + (선택지 2번에 대한 답변)
3번: "(지문 속 근거가 된 문장)" + (자세한 풀이) + (선택지 3번에 대한 답변)
4번: "(지문 속 근거가 된 문장)" + (자세한 풀이) + (선택지 4번에 대한 답변)
5번: "(지문 속 근거가 된 문장)" + (자세한 풀이) + (선택지 5번에 대한 답변)
"""
if not no_paragraph:
user_prompt = f"""
지문 :
{paragraph}
"""
else:
user_prompt = ""
if question_plus:
user_prompt += f"""
이 문제는 아래와 같이 <보기>가 주어져 있습니다. 문제의 각 선택지들을 해결하기 위한 배경 지식을 설명해 주고 있는 것이 <보기>로써, 각 선택지들을 지문과 연결시키고, <보기>의 지식을 활용하면 각 선택지의 참과 거짓을 판단할 수 있습니다.
문제를 해결할 때, 반드시 <보기>의 내용을 이용해서 문제를 해결해야 합니다.
<보기> :
{question_plus}
"""
user_prompt += f"""
질문 :
{question}
선택지 :
1번 - {choices[0]}
2번 - {choices[1]}
3번 - {choices[2]}
4번 - {choices[3]}
5번 - {choices[4]}
"""
completion = openai.ChatCompletion.create(model="gpt-4", messages=[{
"role": "system", "content": system_prompt
}, {
"role": "user", "content": user_prompt
}], top_p=0)
return completion.choices[0].message.content
def literature_prompt(paragraph, question, choices, question_plus="", no_paragraph=False):
system_prompt = """
국어 시험 문제를 푸는 대한민국의 고3 수험생으로서 위의 요약을 바탕으로 다음 문제의 답을 구하세요.
문제를 풀이할 때, 반드시 지문을 참고하세요.
문제는 무조건 1개의 정답만 있습니다.
문제를 풀이할 때 모든 선택지들을 검토하세요.
모든 선택지마다 근거를 지문에서 찾아 설명하세요.
다음의 형식을 따라 답변하세요.
최종 정답: (최종 정답)
1번: (선택지 1번에 대한 답변) + "(지문 속 근거가 된 문장)"
2번: (선택지 2번에 대한 답변) + "(지문 속 근거가 된 문장)"
3번: (선택지 3번에 대한 답변) + "(지문 속 근거가 된 문장)"
4번: (선택지 4번에 대한 답변) + "(지문 속 근거가 된 문장)"
5번: (선택지 5번에 대한 답변) + "(지문 속 근거가 된 문장)"
"""
if not no_paragraph:
user_prompt = f"""
지문 :
{paragraph}
"""
else:
user_prompt = ""
if question_plus:
user_prompt += f"""
이 문제는 아래와 같이 <보기>가 주어져 있습니다. 문제의 각 선택지들을 해결하기 위한 배경 지식을 설명해 주고 있는 것이 <보기>로써, 각 선택지들을 지문과 연결시키고, <보기>의 지식을 활용하면 각 선택지의 참과 거짓을 판단할 수 있습니다.
문제를 해결할 때, 반드시 <보기>의 내용을 이용해서 문제를 해결해야 합니다.
<보기> :
{question_plus}
"""
user_prompt += f"""
질문 :
{question}
선택지 :
1번 - {choices[0]}
2번 - {choices[1]}
3번 - {choices[2]}
4번 - {choices[3]}
5번 - {choices[4]}
"""
completion = openai.ChatCompletion.create(model="gpt-4", messages=[{
"role": "system", "content": system_prompt
}, {
"role": "user", "content": user_prompt
}], top_p=0)
return completion.choices[0].message.content
def grammar_prompt(paragraph, question, choices, question_plus="", get_prompt=False, no_paragraph=False):
system_prompt = """
당신은 국어 시험 문제를 푸는 대한민국의 고3 수험생으로서 최종 정답을 고르시오.
'지문 속 목적어의 성격'과 '선택지 속 목적어의 성격'이 서로 같은 선택지를 1개만 고르세요.
모두 같은 선택지는 무조건 1개만 존재합니다.
문제를 풀이할 때 5개의 모든 선택지를 검토하세요.
자료나 돈처럼 실제 손으로 만질 수 있는 것은 '실제적인 단어'입니다.
관심, 집중, 인기 이론처럼, 실제 손으로 만질 수 없는 것은 '추상적인 단어'입니다.
다음의 형식대로만 답변하세요.
최종 정답: (지문 속 목적어와 선택지 속 목적어의 성격이 서로 같은 선택지는 "(최종 정답)"입니다.
1번: - 지문 속 동사ⓐ의 목적어: "(목적어)" + 지문 속 목적어의 성격 : "(실제적인 단어 or 추상적인 단어)"
- 선택지 속 동사ⓐ의 목적어: "(목적어)" + 선택지 속 목적어의 성격 : "(실제적인 단어 or 추상적인 단어)"
2번: - 지문 속 동사ⓑ의 목적어: "(목적어)" + 지문 속 목적어의 성격 : "(실제적인 단어 or 추상적인 단어)"
- 선택지 속 동사ⓑ의 목적어: "(목적어)" + 선택지 속 목적어의 성격 : "(실제적인 단어 or 추상적인 단어)"
3번: - 지문 속 동사ⓒ의 목적어: "(목적어)" + 지문 속 목적어의 성격 : "(실제적인 단어 or 추상적인 단어)"
- 선택지 속 동사ⓒ의 목적어: "(목적어)" + 선택지 속 목적어의 성격 : "(실제적인 단어 or 추상적인 단어)"
4번: - 지문 속 동사ⓓ의 목적어: "(목적어)" + 지문 속 목적어의 성격 : "(실제적인 단어 or 추상적인 단어)"
- 선택지 속 동사ⓓ의 목적어: "(목적어)" + 선택지 속 목적어의 성격 : "(실제적인 단어 or 추상적인 단어)"
5번: - 지문 속 동사ⓔ의 목적어: "(목적어)" + 지문 속 목적어의 성격 : "(실제적인 단어 or 추상적인 단어)"
- 선택지 속 동사ⓔ의 목적어: "(목적어)" + 선택지 속 목적어의 성격 : "(실제적인 단어 or 추상적인 단어)"
"""
if not no_paragraph:
user_prompt = f"""
지문 :
{paragraph}
"""
else:
user_prompt = ""
if question_plus:
user_prompt += f"""
이 문제는 아래와 같이 <보기>가 주어져 있습니다. 문제의 각 선택지들을 해결하기 위한 배경 지식을 설명해 주고 있는 것이 <보기>로써, 각 선택지들을 지문과 연결시키고, <보기>의 지식을 활용하면 각 선택지의 참과 거짓을 판단할 수 있습니다.
문제를 해결할 때, 반드시 <보기>의 내용을 이용해서 문제를 해결해야 합니다.
<보기> :
{question_plus}
"""
user_prompt += f"""
질문 :
{question}
선택지 :
1번 - {choices[0]}
2번 - {choices[1]}
3번 - {choices[2]}
4번 - {choices[3]}
5번 - {choices[4]}
"""
if get_prompt:
return system_prompt +"\n\n" +user_prompt
completion = openai.ChatCompletion.create(model="gpt-4", messages=[{
"role": "system", "content": system_prompt
}, {
"role": "user", "content": user_prompt
}], top_p=0)
return completion.choices[0].message.content