AkJeond commited on
Commit
f4551f8
·
1 Parent(s): 0fd26b5

feat: 이미지 설명 프롬프트 템플릿 개선 및 아동 친화적 규정 반영

Browse files
Files changed (1) hide show
  1. app/services/analysis_service.py +55 -65
app/services/analysis_service.py CHANGED
@@ -120,20 +120,22 @@ figure_prompt = """
120
  7. 추측 금지: 원본에 없는 정보는 절대 추가하지 않음
121
 
122
  [출력 형식]
123
- 이미지 개요:
124
- - 제목: [제목 또는 '제목 없음']
125
- - 유형: [실사/삽화/도형/사진 등]
126
-
127
- 구성 요소:
128
- - 배경: [배경 설명]
129
- - 중심 대상: [주요 피사체 설명]
130
- - 위치 관계: [공간적 배치 설명]
131
-
132
- 세부 내용:
133
- [색상, 크기, 특징 구체적 설명]
134
-
135
- 특이 사항:
136
- [문자, 기호, 주목할 만한 요소 등]
 
 
137
  """
138
 
139
  table_prompt = """
@@ -147,52 +149,32 @@ table_prompt = """
147
  - 점자 독자가 행별로 정확하게 파악할 수 있게 합니다.
148
 
149
  설명 규칙 (한국 점자 규정 준수):
150
- 1. 제목과 단위 명시:
151
- - 표의 제목이 있으면 우선 표기
152
- - 제목이 없으면 '제목 없음'으로 표기
153
- - 표의 단위 명시 (예: %, 명, kg 등)
154
 
155
- 2. 표의 구조 파악 (simple_table 규정):
156
- - 수(몇 줄)와 ( 칸) 명확히 표기
157
- - 제목(컬럼 헤더) 차례대로 나열
158
- - 행 제목(로우 헤더) 확인
159
 
160
  3. 행별 순차 설명:
161
  - 첫 번째 행부터 마지막 행까지 순서대로
162
- - 각 행 내에서는 왼쪽 열부터 오른쪽 열 순서로
163
  - 행 제목과 데이터를 명확히 연결
164
 
165
- 4. 수치 표현:
166
- - 숫자는 반드시 단위와 함께 표기 (예: "3명", "50%")
167
- - 크기 비교 추가 (예: "A가 B보다 높음")
168
- - 증감 방향 명시 (예: "증가", "감소")
169
-
170
- 5. 특이 사항 처리:
171
- - 빈 칸이 있으면 명시 (예: "해당 데이터 없음")
172
- - 별표(*), 주석이 있으면 설명
173
- - 병합된 셀(merged cell)이 있으면 구조 명확히
174
-
175
- 6. 핵심 메시지:
176
- - 표가 무엇을 보여주는지 한 문장으로 요약
177
-
178
  [출력 형식]
179
- 표의 정보:
180
- - 제목: [제목 또는 '제목 없음']
181
- - 크기: [행 수]행 × [열 수]열
182
- - 단위: [%, 명, kg 등]
183
-
184
- 표의 구조:
185
- - 열 제목: [열1], [열2], [열3] ... (순서대로)
186
- - 행 제목: [행1], [행2], [행3] ... (있으면)
187
 
188
- 행별 데이터:
189
- 첫 번째 행 ([행_제목1]): [데이터1], [데이터2], [데이터3]
190
- 두 번째 행 ([행_제목2]): [데이터1], [데이터2], [데이터3]
191
- 세 번째 행 ([행_제목3]): [필요 시 계속]
192
 
193
- 특이 사항: [빈칸, 병합, 주석 등]
 
194
 
195
- 핵심: [표가 보여주는 핵심 정보 한 문장]
 
 
196
  """
197
 
198
  flowchart_prompt = """
@@ -235,24 +217,32 @@ flowchart_prompt = """
235
  - 원본에 없는 정보는 추가하지 않음
236
 
237
  [출력 형식]
238
- 순서도 개요:
239
- - 제목: [제목 또는 '제목 없음']
240
- - 주제: [무엇에 대한 순서도인가]
241
- - 시작점: [시작]
242
- - 종료점: []
243
- - 총 단계: [대략 단계]
244
-
245
- 단계별 진행:
246
- 1단계: [내용]
247
-
248
- 2단계: [내용]
249
-
250
- 3단계: [필요 시 계속]
251
 
252
  분기/조건 (있으면):
253
- [조건]: [결과 경로]
 
 
 
 
 
 
 
 
 
 
 
 
254
 
255
- 핵심: [이 순서도가 설명하는 전체 흐름 한 문장]
 
 
 
256
  """
257
 
258
 
 
120
  7. 추측 금지: 원본에 없는 정보는 절대 추가하지 않음
121
 
122
  [출력 형식]
123
+ 자연스러운 문장형 설명 (규정 준수 + 아동 친화적):
124
+ - 문장: 제목과 유형을 자연스럽게 소개
125
+ 예) "제목은 '○○○'이고, 사진입니다."
126
+ - 둘째 문장: 배경이나 전체 구성
127
+ 예) "뒷부분에는 △△△가 있습니다."
128
+ - 셋째 문장: 중심 피사체 위치와 특징
129
+ 예) "앞쪽 가운데에는 파란색 ▲▲▲가 있습니다."
130
+ - 넷째 문장: 추가 요소들 (왼쪽→오른쪽, 위→아래 순서)
131
+ 예) "왼쪽에는 작은 ○○○ 2개가 있고, 모두 빨간색입니다."
132
+ - 마지막 문장: 문자나 숫자가 있으면 명시
133
+ 예) "오른쪽 아래에는 '2023년'이라는 글자가 있습니다."
134
+
135
+ 주의사항:
136
+ - 문장은 30자 이내로 유지
137
+ - 위→아래, 왼쪽→오른쪽 읽기 순서 준수
138
+ - 추측이나 해석 금지, 보이는 것만 설명
139
  """
140
 
141
  table_prompt = """
 
149
  - 점자 독자가 행별로 정확하게 파악할 수 있게 합니다.
150
 
151
  설명 규칙 (한국 점자 규정 준수):
152
+ 1. 제목과 주제:
153
+ - 표의 제목이 있으면 우선 표기 (없으면 '제목 없음')
154
+ - 표가 무엇을 보여주는지 문장으로 설명
 
155
 
156
+ 2. 단위 표시:
157
+ - 수치에 반드시 단위 포함 (예: "20명", "50%", "3kg")
158
+ - 단위가 전체에 동일하면 처음에만 표기
 
159
 
160
  3. 행별 순차 설명:
161
  - 첫 번째 행부터 마지막 행까지 순서대로
162
+ - 각 행 내에서는 왼쪽→오른쪽 순서
163
  - 행 제목과 데이터를 명확히 연결
164
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  [출력 형식]
166
+ 표의 제목은 '[제목]'입니다. [표가 보여주는 내용 한 문장].
 
 
 
 
 
 
 
167
 
168
+ [행_제목1]: [데이터1], [데이터2], [데이터3]
169
+ [행_제목2]: [데이터1], [데이터2], [데이터3]
170
+ [행_제목3]: [데이터1], [데이터2], [데이터3]
 
171
 
172
+ 예시:
173
+ 표의 제목은 '학생 수'입니다. 3개 학년의 학생 수를 보여줍니다.
174
 
175
+ 1학년: 20명, 남학생 10명, 여학생 10명
176
+ 2학년: 25명, 남학생 12명, 여학생 13명
177
+ 3학년: 22명, 남학생 11명, 여학생 11명
178
  """
179
 
180
  flowchart_prompt = """
 
217
  - 원본에 없는 정보는 추가하지 않음
218
 
219
  [출력 형식]
220
+ 순서도는 '[제목]'에 대한 것입니다.
221
+
222
+ 1단계: [내용]
223
+ 2단계: [내용]
224
+ 3단계: [내용]
225
+ 4단계: [필요 계속]
 
 
 
 
 
 
 
226
 
227
  분기/조건 (있으면):
228
+ [조건에 따른 다른 경로]: [결과]
229
+
230
+ 예시 (단순 흐름):
231
+ 이 순서도는 '손 씻기'에 대한 것입니다.
232
+
233
+ 1단계: 수도꼭지를 켜서 손에 물을 묻힙니다. →
234
+ 2단계: 비누를 손에 묻히고 거품을 냅니다. →
235
+ 3단계: 손의 모든 부분을 깨끗이 비빕니다. →
236
+ 4단계: 깨끗한 물로 헹굼합니다. →
237
+ 5���계: 수도꼭지를 닫습니다.
238
+
239
+ 예시 (분기 있음):
240
+ 이 순서도는 '우산 가지고 나갈지 결정하기'에 대한 것입니다.
241
 
242
+ 1단계: 밖의 날씨를 확인합니다.
243
+ 2단계-1 (비가 오면): 우산을 가져갑니다. →
244
+ 2단계-2 (맑으면): 우산을 가져가지 않습니다. →
245
+ 3단계: 집을 나갑니다.
246
  """
247
 
248