suwonpabby commited on
Commit
2166a20
1 Parent(s): c4530b8

프롬프트 개선

Browse files
Files changed (1) hide show
  1. app.py +12 -10
app.py CHANGED
@@ -94,8 +94,10 @@ def make_prompt(messages, rag_text, character_type):
94
  context_example = "수원 화성은 단순한 성곽이 아니지... 정조 대왕께서 그 속에 담은 비전은 실로 깊고도 넓다네... 군사적 방어는 물론, 상업과 문화를 아우르는 중심지로서 그 역할을 다했지.... 이 화성은 정조의 개혁적 통치 철학, 그리고 아버지 사도세자를 향한 그 지극한 효심을 그대로 품고 있어.... 현륭원을 중심으로 한 이 도시의 설계가 그 증거라네. 그리고, 1795년... 정조는 어머니 혜경궁 홍씨의 회갑을 맞아 성대한 진찬연과 을묘원행을 열었지.... 단순한 가족의 기념일이 아니었네... 이 행사는 왕실의 권위를 더욱 굳건히 하고, 백성과 소통하는 중요한 정치적 의미를 가졌던 것이야... 그 모든 과정이 의궤에 자세히 기록되어 있으니, 마치 당시의 숨결이 지금도 이 땅에 남아있는 듯하구나..."
95
 
96
 
97
- task_prompt = """[질문]에 대한 답변을 생성해야해.
98
- [글] [이전 대화 맥락]의 내용을 참고하여 [질문] 맞는 적절한 답변을 생성하고 이것에 말투를 입혀 [말투반영] 까지 단계 한 단계 출력해줘.
 
 
99
  [이전 대화 맥락]이 없다면 대화가 처음 시작된 것이라, Single Turn 답변하듯 답변하면 돼. [글]에는 여행자가 수행하는 퍼즐에 대한 정보가 주로 담겨있으니 그걸 참고해서 답변해주면 돼."""
100
 
101
 
@@ -106,6 +108,7 @@ def make_prompt(messages, rag_text, character_type):
106
  낙남헌 건물은 벽이 없는 개방된 구조로 많은 사람을 수용할 수 있다. 연회를 베푸는 건물답게 건물 앞에는 넓은 월대를 두어 격식을 높였다. 월대로 오르는 계단 양 옆에는 구름무늬가 새겨져 있다. 낙남헌은 궁궐 전각과 비교해도 손색이 없는 아름다운 건물로 원형이 잘 남아 있다. 일제강점기에는 수원군청으로 사용되었고, 신풍국민학교 교무실로도 사용되었다.
107
 
108
  [질문] 화성행궁에서 공식 행사나 연회를 열 때 사용하는 건물은?
 
109
  [답변] 화성행궁에서 공식 행사나 연회를 열 때 사용하는 건물은 낙남헌입니다.
110
  [말투반영] {first_example}
111
 
@@ -119,9 +122,8 @@ Assistant: {context_example}
119
  지난 2007년 유네스코 세계기록문화유산으로 등재된 조선왕조 의궤 중 정조시대 한글로 작성된 <정리의궤> 25권이 프랑스에서 발견됐다. 더불어민주당 안민석 의원(오산)은 4일 “지난달 27일 프랑스 국립파리동양언어학원과 프랑스 국립도서관에서 각각 24권과 1권의 한글 <정리의궤>를 확인했다”고 말했다. 이들 정리의궤는 정조의 어머니인 혜경궁 홍씨의 회갑연을 기록한 <원행을묘정리의궤>와 화성 축성과정을 기록한 <화성성역의궤>, 정조의 아버지인 사도세자의 묘소를 화산릉으로 옮긴 <현륭원의궤>의 내용 중 핵심 사안을 한글로 정리해 놓은 것이다.
120
 
121
  [질문] 정리의궤가 뭐야?
122
-
123
  [답변] 정리의궤는 조선왕조의 궁정 기록 중 하나로, 조선왕조 의궤의 일부분입니다. 이 문서는 조선왕조의 여러 중요한 사건을 기록하고 있으며, 특히 정조 시대에 한글로 작성된 문서로 유명합니다. 2007년에는 유네스코 세계기록문화유산으로 등재되었습니다. 이 중에는 화성 축성과정을 기록한 '화성성역의궤', 정조의 어머니의 회갑연을 기록한 '원행을묘정리의궤', 그리고 정조의 아버지의 묘소를 화산릉으로 옮긴 것을 기록한 '현륭원의궤'의 내용 중 핵심 사안을 한글로 정리한 내용들이 포함되어 있습니다.
124
-
125
  [말투반영] {second_example}
126
 
127
  예시 3
@@ -129,9 +131,8 @@ Assistant: {context_example}
129
  홍예의 개수는 7이므로 북쪽 수문인 화홍문은 7번 구역에 있고 방화수류정이 7번 구역과 5번 구역에 경계에 있다는 것인데, 이 정보를 바탕으로 카카오맵과 같은 지도 앱을 활용해 용연의 위치를 기준으로 십자로 선을 그어서 창룡문과 팔달문이 어디 구역에 확인하면 될 것 같다/n퍼즐 그림을 보면 용연을 중심으로 두 개의 선을 기준으로 4개의 구역으로 나뉘는데, 팔달문과 창룡문이 각 구역 중 어디에 속하는지 알아야 할 것 같다/n퍼즐 이미지를 보면 가운데 있는 두 ��의 원은 용연의 모습을 닮아있는데 가운데 원형 섬이 있고 연못 형태가 원형이라서 가운데 그림은 용연을 의미하는 것으로 보인다/n
130
 
131
  [질문] 이 퍼즐 뭔가 이해가 안되는데 너도 한 번 답을 찾아봐
132
-
133
  [답변] 퍼즐 이미지 속 두 개의 원은 용연의 모습을 닮은 거 같습니다. 이 퍼즐은 용연을 중심으로 지리적 위치를 파악하는 게 핵심입니다. 먼저 용연을 기준으로 십자로 선을 그어 4개의 구역을 나누고, 화홍문이 7번 구역에 있고 방화수류정이 7번과 5번 구역의 경계에 있다는 정보를 활용합니다. 그다음, 팔달문과 창룡문이 각각 어느 구역에 속하는지 확인하면 될 것 같습니다. 이를 힌트로 삼아 해결할 수 있을 것 입니다.
134
-
135
  [말투반영] {third_example}
136
 
137
  예시 4
@@ -141,8 +142,9 @@ Assistant: {context_example}
141
  한국전쟁 등을 겪으며 절반 이상 무너졌었는데 1976년에 복원해 모습을 되찾았다. 서북공심돈은 화성 서북쪽에 세운 망루로 주변을 감시하고 공격하는 시설이다. 공심돈은 속이 빈 돈대라는 뜻으로, 우리나라 성곽 중 화성에서만 볼 수 있다. 보통 돈대墩臺는 성곽과 떨어진 높은 곳에 세워 적을 감시하는 시설이나, 서북공심돈은 서북쪽 성벽이 꺾이는 위치에 설치했다. 치성 위에 벽돌로 3층의 망루를 세우고 꼭대기에는 단층의 누각을 올려 군사들이 감시할 수 있도록 하고, 외벽에는 화포를 쏠 수 있는 구멍을 뚫어 공격 기능까지 갖추었다. 조선 정조 21년(1797) 정월, 완성된 화성을 둘러보던 정조는 서북공심돈 앞에 멈춰 “우리나라 성곽에서 처음 지은 것이니 마음껏 구경하라.”며 매우 만족스러워 했다. 화성에는 모두 세 곳에 공심돈을 세웠는데 서북공심돈만이 축성 당시 모습 그대로 남아 있다.
142
 
143
  [질문] 용인시에 대해 설명해줘
144
-
145
- [답변] X"""
 
146
 
147
  context_prompt = qa_2_str(messages)
148
 
@@ -153,9 +155,9 @@ Assistant: {context_example}
153
 
154
  [질문] {messages[-1]}
155
 
156
- ([글]과 관련 없거나 수 없는 질문은 X 라고만 출력할 것, X가 아니라면 [답변] 과 [말투반영]을 모두 출력할 것, 130자 내외로 답변할 것, 특히 말투 반영이 잘 안되는데, 확실하게 예시에서 주어진 말투를 매우 강하게 제대로 반영해야해.)
157
 
158
- [답변]과 [말투반영]을 각각 작성해보자.
159
  """
160
  if len(context_prompt) == 0:
161
 
 
94
  context_example = "수원 화성은 단순한 성곽이 아니지... 정조 대왕께서 그 속에 담은 비전은 실로 깊고도 넓다네... 군사적 방어는 물론, 상업과 문화를 아우르는 중심지로서 그 역할을 다했지.... 이 화성은 정조의 개혁적 통치 철학, 그리고 아버지 사도세자를 향한 그 지극한 효심을 그대로 품고 있어.... 현륭원을 중심으로 한 이 도시의 설계가 그 증거라네. 그리고, 1795년... 정조는 어머니 혜경궁 홍씨의 회갑을 맞아 성대한 진찬연과 을묘원행을 열었지.... 단순한 가족의 기념일이 아니었네... 이 행사는 왕실의 권위를 더욱 굳건히 하고, 백성과 소통하는 중요한 정치적 의미를 가졌던 것이야... 그 모든 과정이 의궤에 자세히 기록되어 있으니, 마치 당시의 숨결이 지금도 이 땅에 남아있는 듯하구나..."
95
 
96
 
97
+ task_prompt = """[글]을 참고하여 [질문]에 대한 답변을 생성해야해.
98
+ 먼저 [글] [질문] 관련있는 질문인지를 확인해서 [질문과 관련성] O 또는 X로 답해.
99
+ 만약 X라면 거기에서 응답을 끝내거나 관련 없는 질문이라고만 내보내면 돼.
100
+ 만약 O라면 [글]과 [이전 대화 맥락]의 내용을 참고하여 [질문]에 맞는 적절한 답변을 생성하고 이것에 말투를 입혀 [말투반영] 까지 한 단계 한 단계 출력해줘.
101
  [이전 대화 맥락]이 없다면 대화가 처음 시작된 것이라, Single Turn 답변하듯 답변하면 돼. [글]에는 여행자가 수행하는 퍼즐에 대한 정보가 주로 담겨있으니 그걸 참고해서 답변해주면 돼."""
102
 
103
 
 
108
  낙남헌 건물은 벽이 없는 개방된 구조로 많은 사람을 수용할 수 있다. 연회를 베푸는 건물답게 건물 앞에는 넓은 월대를 두어 격식을 높였다. 월대로 오르는 계단 양 옆에는 구름무늬가 새겨져 있다. 낙남헌은 궁궐 전각과 비교해도 손색이 없는 아름다운 건물로 원형이 잘 남아 있다. 일제강점기에는 수원군청으로 사용되었고, 신풍국민학교 교무실로도 사용되었다.
109
 
110
  [질문] 화성행궁에서 공식 행사나 연회를 열 때 사용하는 건물은?
111
+ [질문과 관련성] O
112
  [답변] 화성행궁에서 공식 행사나 연회를 열 때 사용하는 건물은 낙남헌입니다.
113
  [말투반영] {first_example}
114
 
 
122
  지난 2007년 유네스코 세계기록문화유산으로 등재된 조선왕조 의궤 중 정조시대 한글로 작성된 <정리의궤> 25권이 프랑스에서 발견됐다. 더불어민주당 안민석 의원(오산)은 4일 “지난달 27일 프랑스 국립파리동양언어학원과 프랑스 국립도서관에서 각각 24권과 1권의 한글 <정리의궤>를 확인했다”고 말했다. 이들 정리의궤는 정조의 어머니인 혜경궁 홍씨의 회갑연을 기록한 <원행을묘정리의궤>와 화성 축성과정을 기록한 <화성성역의궤>, 정조의 아버지인 사도세자의 묘소를 화산릉으로 옮긴 <현륭원의궤>의 내용 중 핵심 사안을 한글로 정리해 놓은 것이다.
123
 
124
  [질문] 정리의궤가 뭐야?
125
+ [질문과 관련성] O
126
  [답변] 정리의궤는 조선왕조의 궁정 기록 중 하나로, 조선왕조 의궤의 일부분입니다. 이 문서는 조선왕조의 여러 중요한 사건을 기록하고 있으며, 특히 정조 시대에 한글로 작성된 문서로 유명합니다. 2007년에는 유네스코 세계기록문화유산으로 등재되었습니다. 이 중에는 화성 축성과정을 기록한 '화성성역의궤', 정조의 어머니의 회갑연을 기록한 '원행을묘정리의궤', 그리고 정조의 아버지의 묘소를 화산릉으로 옮긴 것을 기록한 '현륭원의궤'의 내용 중 핵심 사안을 한글로 정리한 내용들이 포함되어 있습니다.
 
127
  [말투반영] {second_example}
128
 
129
  예시 3
 
131
  홍예의 개수는 7이므로 북쪽 수문인 화홍문은 7번 구역에 있고 방화수류정이 7번 구역과 5번 구역에 경계에 있다는 것인데, 이 정보를 바탕으로 카카오맵과 같은 지도 앱을 활용해 용연의 위치를 기준으로 십자로 선을 그어서 창룡문과 팔달문이 어디 구역에 확인하면 될 것 같다/n퍼즐 그림을 보면 용연을 중심으로 두 개의 선을 기준으로 4개의 구역으로 나뉘는데, 팔달문과 창룡문이 각 구역 중 어디에 속하는지 알아야 할 것 같다/n퍼즐 이미지를 보면 가운데 있는 두 ��의 원은 용연의 모습을 닮아있는데 가운데 원형 섬이 있고 연못 형태가 원형이라서 가운데 그림은 용연을 의미하는 것으로 보인다/n
132
 
133
  [질문] 이 퍼즐 뭔가 이해가 안되는데 너도 한 번 답을 찾아봐
134
+ [질문과 관련성] O
135
  [답변] 퍼즐 이미지 속 두 개의 원은 용연의 모습을 닮은 거 같습니다. 이 퍼즐은 용연을 중심으로 지리적 위치를 파악하는 게 핵심입니다. 먼저 용연을 기준으로 십자로 선을 그어 4개의 구역을 나누고, 화홍문이 7번 구역에 있고 방화수류정이 7번과 5번 구역의 경계에 있다는 정보를 활용합니다. 그다음, 팔달문과 창룡문이 각각 어느 구역에 속하는지 확인하면 될 것 같습니다. 이를 힌트로 삼아 해결할 수 있을 것 입니다.
 
136
  [말투반영] {third_example}
137
 
138
  예시 4
 
142
  한국전쟁 등을 겪으며 절반 이상 무너졌었는데 1976년에 복원해 모습을 되찾았다. 서북공심돈은 화성 서북쪽에 세운 망루로 주변을 감시하고 공격하는 시설이다. 공심돈은 속이 빈 돈대라는 뜻으로, 우리나라 성곽 중 화성에서만 볼 수 있다. 보통 돈대墩臺는 성곽과 떨어진 높은 곳에 세워 적을 감시하는 시설이나, 서북공심돈은 서북쪽 성벽이 꺾이는 위치에 설치했다. 치성 위에 벽돌로 3층의 망루를 세우고 꼭대기에는 단층의 누각을 올려 군사들이 감시할 수 있도록 하고, 외벽에는 화포를 쏠 수 있는 구멍을 뚫어 공격 기능까지 갖추었다. 조선 정조 21년(1797) 정월, 완성된 화성을 둘러보던 정조는 서북공심돈 앞에 멈춰 “우리나라 성곽에서 처음 지은 것이니 마음껏 구경하라.”며 매우 만족스러워 했다. 화성에는 모두 세 곳에 공심돈을 세웠는데 서북공심돈만이 축성 당시 모습 그대로 남아 있다.
143
 
144
  [질문] 용인시에 대해 설명해줘
145
+ [질문과 관련성] X
146
+ 주제와 관련 없는 답변입니다.
147
+ """
148
 
149
  context_prompt = qa_2_str(messages)
150
 
 
155
 
156
  [질문] {messages[-1]}
157
 
158
+ ([글]과 [질문]이 관련이 있다면 [답변] 과 [말투반영]을 모두 출력할 것, 130자 내외로 답변할 것, 특히 말투 반영이 잘 안되는데, 확실하게 예시에서 주어진 말투를 매우 강하게 제대로 반영해야해.)
159
 
160
+ [질문과 관련성]을 판단하고, 만약 O라면 [답변]과 [말투반영]을 각각 작성해보자.
161
  """
162
  if len(context_prompt) == 0:
163