Spaces:
Sleeping
Sleeping
haepa_mac
commited on
Commit
·
058f20f
1
Parent(s):
0b35ceb
Simplify UI to 3 core traits + humor style with fixed high humor default
Browse files- app.py +54 -25
- modules/persona_generator.py +46 -12
app.py
CHANGED
@@ -15,6 +15,7 @@ from datetime import datetime
|
|
15 |
import PIL.ImageDraw
|
16 |
import random
|
17 |
import copy
|
|
|
18 |
|
19 |
# AVIF 지원을 위한 플러그인 활성화
|
20 |
try:
|
@@ -320,8 +321,8 @@ def generate_personality_preview(persona_name, personality_traits):
|
|
320 |
else:
|
321 |
return f"🌟 **{persona_name}** - 안녕? 나는 {persona_name}... 뭔가 어색하네. 😅"
|
322 |
|
323 |
-
def adjust_persona_traits(persona, warmth, competence,
|
324 |
-
"""페르소나 성격 특성 조정 -
|
325 |
if not persona or not isinstance(persona, dict):
|
326 |
return None, "조정할 페르소나가 없습니다.", {}
|
327 |
|
@@ -330,22 +331,53 @@ def adjust_persona_traits(persona, warmth, competence, humor, extraversion, humo
|
|
330 |
import copy
|
331 |
adjusted_persona = copy.deepcopy(persona)
|
332 |
|
333 |
-
# 성격 특성 업데이트
|
334 |
if "성격특성" not in adjusted_persona:
|
335 |
adjusted_persona["성격특성"] = {}
|
336 |
|
337 |
adjusted_persona["성격특성"]["온기"] = warmth
|
338 |
adjusted_persona["성격특성"]["능력"] = competence
|
339 |
-
adjusted_persona["성격특성"]["유머감각"] =
|
340 |
adjusted_persona["성격특성"]["외향성"] = extraversion
|
341 |
adjusted_persona["유머스타일"] = humor_style
|
342 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
343 |
# 조정된 정보 표시
|
344 |
adjusted_info = {
|
345 |
"이름": adjusted_persona.get("기본정보", {}).get("이름", "Unknown"),
|
346 |
"온기": warmth,
|
347 |
"능력": competence,
|
348 |
-
"유머감각":
|
349 |
"외향성": extraversion,
|
350 |
"유머스타일": humor_style
|
351 |
}
|
@@ -356,7 +388,7 @@ def adjust_persona_traits(persona, warmth, competence, humor, extraversion, humo
|
|
356 |
personality_preview = generate_personality_preview(persona_name, {
|
357 |
"온기": warmth,
|
358 |
"능력": competence,
|
359 |
-
"유머감각":
|
360 |
"외향성": extraversion
|
361 |
})
|
362 |
|
@@ -365,12 +397,14 @@ def adjust_persona_traits(persona, warmth, competence, humor, extraversion, humo
|
|
365 |
|
366 |
{personality_preview}
|
367 |
|
368 |
-
✨ **조정된
|
369 |
• 온기: {warmth}/100
|
370 |
• 능력: {competence}/100
|
371 |
-
• 유머감각: {humor}/100
|
372 |
• 외향성: {extraversion}/100
|
|
|
373 |
• 유머스타일: {humor_style}
|
|
|
|
|
374 |
"""
|
375 |
|
376 |
return adjusted_persona, adjustment_message, adjusted_info
|
@@ -944,7 +978,7 @@ def create_main_interface():
|
|
944 |
adjustment_section = gr.Group(visible=False)
|
945 |
with adjustment_section:
|
946 |
gr.Markdown("### 🎯 2단계: 친구 성격 미세조정")
|
947 |
-
gr.Markdown("
|
948 |
|
949 |
with gr.Row():
|
950 |
with gr.Column():
|
@@ -960,22 +994,18 @@ def create_main_interface():
|
|
960 |
)
|
961 |
|
962 |
with gr.Column():
|
963 |
-
humor_slider = gr.Slider(
|
964 |
-
minimum=0, maximum=100, value=50, step=1,
|
965 |
-
label="유머감각",
|
966 |
-
info="0: 진지함 ↔ 100: 유머러스"
|
967 |
-
)
|
968 |
extraversion_slider = gr.Slider(
|
969 |
minimum=0, maximum=100, value=50, step=1,
|
970 |
-
label="외향성",
|
971 |
-
info="0:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
972 |
)
|
973 |
-
|
974 |
-
humor_style_radio = gr.Radio(
|
975 |
-
choices=["따뜻한 유머러스", "위트있는 재치꾼", "날카로운 관찰자", "자기 비하적"],
|
976 |
-
value="따뜻한 유머러스",
|
977 |
-
label="유머 스타일"
|
978 |
-
)
|
979 |
|
980 |
with gr.Row():
|
981 |
adjust_btn = gr.Button("✨ 성격 조정 적용", variant="primary")
|
@@ -1078,18 +1108,17 @@ def create_main_interface():
|
|
1078 |
fn=lambda persona: (
|
1079 |
persona["성격특성"]["온기"] if persona else 50,
|
1080 |
persona["성격특성"]["능력"] if persona else 50,
|
1081 |
-
persona["성격특성"]["유머감각"] if persona else 50,
|
1082 |
persona["성격특성"]["외향성"] if persona else 50,
|
1083 |
persona["유머스타일"] if persona else "따뜻한 유머러스"
|
1084 |
),
|
1085 |
inputs=[current_persona],
|
1086 |
-
outputs=[warmth_slider, competence_slider,
|
1087 |
)
|
1088 |
|
1089 |
# 성격 조정 적용
|
1090 |
adjust_btn.click(
|
1091 |
fn=adjust_persona_traits,
|
1092 |
-
inputs=[current_persona, warmth_slider, competence_slider,
|
1093 |
outputs=[current_persona, adjustment_result, adjusted_info_output]
|
1094 |
)
|
1095 |
|
|
|
15 |
import PIL.ImageDraw
|
16 |
import random
|
17 |
import copy
|
18 |
+
from modules.persona_generator import PersonaGenerator, PersonalityProfile, HumorMatrix
|
19 |
|
20 |
# AVIF 지원을 위한 플러그인 활성화
|
21 |
try:
|
|
|
321 |
else:
|
322 |
return f"🌟 **{persona_name}** - 안녕? 나는 {persona_name}... 뭔가 어색하네. 😅"
|
323 |
|
324 |
+
def adjust_persona_traits(persona, warmth, competence, extraversion, humor_style):
|
325 |
+
"""페르소나 성격 특성 조정 - 3개 핵심 지표 + 유머스타일"""
|
326 |
if not persona or not isinstance(persona, dict):
|
327 |
return None, "조정할 페르소나가 없습니다.", {}
|
328 |
|
|
|
331 |
import copy
|
332 |
adjusted_persona = copy.deepcopy(persona)
|
333 |
|
334 |
+
# 성격 특성 업데이트 (유머감각은 항상 높게 고정)
|
335 |
if "성격특성" not in adjusted_persona:
|
336 |
adjusted_persona["성격특성"] = {}
|
337 |
|
338 |
adjusted_persona["성격특성"]["온기"] = warmth
|
339 |
adjusted_persona["성격특성"]["능력"] = competence
|
340 |
+
adjusted_persona["성격특성"]["유머감각"] = 75 # 🎭 항상 높은 유머감각
|
341 |
adjusted_persona["성격특성"]["외향성"] = extraversion
|
342 |
adjusted_persona["유머스타일"] = humor_style
|
343 |
|
344 |
+
# 127개 변수 시스템도 업데이트 (사용자 지표가 반영되도록)
|
345 |
+
if "성격프로필" in adjusted_persona:
|
346 |
+
from modules.persona_generator import PersonalityProfile
|
347 |
+
profile = PersonalityProfile.from_dict(adjusted_persona["성격프로필"])
|
348 |
+
|
349 |
+
# 온기 관련 변수들 조정
|
350 |
+
warmth_vars = ["W01_친절함", "W02_친근함", "W06_공감능력", "W07_포용력"]
|
351 |
+
for var in warmth_vars:
|
352 |
+
profile.variables[var] = warmth + random.randint(-10, 10)
|
353 |
+
profile.variables[var] = max(0, min(100, profile.variables[var]))
|
354 |
+
|
355 |
+
# 능력 관련 변수들 조정
|
356 |
+
competence_vars = ["C01_효율성", "C02_지능", "C05_정확성", "C09_실행력"]
|
357 |
+
for var in competence_vars:
|
358 |
+
profile.variables[var] = competence + random.randint(-10, 10)
|
359 |
+
profile.variables[var] = max(0, min(100, profile.variables[var]))
|
360 |
+
|
361 |
+
# 외향성 관련 변수들 조정
|
362 |
+
extraversion_vars = ["E01_사교성", "E02_활동성", "E04_긍정정서"]
|
363 |
+
for var in extraversion_vars:
|
364 |
+
profile.variables[var] = extraversion + random.randint(-10, 10)
|
365 |
+
profile.variables[var] = max(0, min(100, profile.variables[var]))
|
366 |
+
|
367 |
+
# 유머 관련 변수들은 항상 높게 유지
|
368 |
+
humor_vars = ["H01_언어유희빈도", "H02_상황유머감각", "H06_관찰유머능력", "H08_유머타이밍감"]
|
369 |
+
for var in humor_vars:
|
370 |
+
profile.variables[var] = random.randint(70, 85)
|
371 |
+
|
372 |
+
# 업데이트된 프로필 저장
|
373 |
+
adjusted_persona["성격프로필"] = profile.to_dict()
|
374 |
+
|
375 |
# 조정된 정보 표시
|
376 |
adjusted_info = {
|
377 |
"이름": adjusted_persona.get("기본정보", {}).get("이름", "Unknown"),
|
378 |
"온기": warmth,
|
379 |
"능력": competence,
|
380 |
+
"유머감각": 75, # 고정값 표시
|
381 |
"외향성": extraversion,
|
382 |
"유머스타일": humor_style
|
383 |
}
|
|
|
388 |
personality_preview = generate_personality_preview(persona_name, {
|
389 |
"온기": warmth,
|
390 |
"능력": competence,
|
391 |
+
"유머감각": 75, # 항상 높은 유머감각
|
392 |
"외향성": extraversion
|
393 |
})
|
394 |
|
|
|
397 |
|
398 |
{personality_preview}
|
399 |
|
400 |
+
✨ **조정된 성격 (3가지 핵심 지표):**
|
401 |
• 온기: {warmth}/100
|
402 |
• 능력: {competence}/100
|
|
|
403 |
• 외향성: {extraversion}/100
|
404 |
+
• 유머감각: 75/100 (고정 - 모든 페르소나가 유머러스!)
|
405 |
• 유머스타일: {humor_style}
|
406 |
+
|
407 |
+
🧬 **백그라운드**: 127개 세부 변수가 이 설정에 맞춰 자동 조정되었습니다.
|
408 |
"""
|
409 |
|
410 |
return adjusted_persona, adjustment_message, adjusted_info
|
|
|
978 |
adjustment_section = gr.Group(visible=False)
|
979 |
with adjustment_section:
|
980 |
gr.Markdown("### 🎯 2단계: 친구 성격 미세조정")
|
981 |
+
gr.Markdown("**3가지 핵심 지표**로 성격을 조정해보세요! (유머감각은 모든 페르소나가 기본적으로 높습니다 😄)")
|
982 |
|
983 |
with gr.Row():
|
984 |
with gr.Column():
|
|
|
994 |
)
|
995 |
|
996 |
with gr.Column():
|
|
|
|
|
|
|
|
|
|
|
997 |
extraversion_slider = gr.Slider(
|
998 |
minimum=0, maximum=100, value=50, step=1,
|
999 |
+
label="외향성 (활발함 정도)",
|
1000 |
+
info="0: 내향적, 조용함 ↔ 100: 외향적, 활발함"
|
1001 |
+
)
|
1002 |
+
|
1003 |
+
humor_style_radio = gr.Radio(
|
1004 |
+
choices=["따뜻한 유머러스", "위트있는 재치꾼", "날카로운 관찰자", "자기 비하적", "장난꾸러기"],
|
1005 |
+
value="따뜻한 유머러스",
|
1006 |
+
label="유머 스타일 (모든 페르소나는 유머감각이 높습니다!)",
|
1007 |
+
info="어떤 방식으로 재미있게 만들까요?"
|
1008 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
1009 |
|
1010 |
with gr.Row():
|
1011 |
adjust_btn = gr.Button("✨ 성격 조정 적용", variant="primary")
|
|
|
1108 |
fn=lambda persona: (
|
1109 |
persona["성격특성"]["온기"] if persona else 50,
|
1110 |
persona["성격특성"]["능력"] if persona else 50,
|
|
|
1111 |
persona["성격특성"]["외향성"] if persona else 50,
|
1112 |
persona["유머스타일"] if persona else "따뜻한 유머러스"
|
1113 |
),
|
1114 |
inputs=[current_persona],
|
1115 |
+
outputs=[warmth_slider, competence_slider, extraversion_slider, humor_style_radio]
|
1116 |
)
|
1117 |
|
1118 |
# 성격 조정 적용
|
1119 |
adjust_btn.click(
|
1120 |
fn=adjust_persona_traits,
|
1121 |
+
inputs=[current_persona, warmth_slider, competence_slider, extraversion_slider, humor_style_radio],
|
1122 |
outputs=[current_persona, adjustment_result, adjusted_info_output]
|
1123 |
)
|
1124 |
|
modules/persona_generator.py
CHANGED
@@ -1006,17 +1006,17 @@ class PersonaGenerator:
|
|
1006 |
# ✨ 127개 변수 시스템을 활용한 PersonalityProfile 생성
|
1007 |
personality_profile = self._create_comprehensive_personality_profile(image_analysis, object_type)
|
1008 |
|
1009 |
-
# PersonalityProfile에서 기본 특성 추출
|
1010 |
personality_traits = {
|
1011 |
"온기": personality_profile.get_category_summary("W"),
|
1012 |
"능력": personality_profile.get_category_summary("C"),
|
1013 |
"외향성": personality_profile.get_category_summary("E"),
|
|
|
1014 |
"친화성": personality_profile.get_category_summary("A"),
|
1015 |
"성실성": personality_profile.get_category_summary("C1"),
|
1016 |
"신경증": personality_profile.get_category_summary("N"),
|
1017 |
"개방성": personality_profile.get_category_summary("O"),
|
1018 |
"창의성": personality_profile.variables.get("C04_창의성", 50),
|
1019 |
-
"유머감각": personality_profile.get_category_summary("H"),
|
1020 |
"공감능력": personality_profile.variables.get("W06_공감능력", 50)
|
1021 |
}
|
1022 |
|
@@ -1055,11 +1055,15 @@ class PersonaGenerator:
|
|
1055 |
personality_hints = image_analysis.get("personality_hints", {})
|
1056 |
warmth_hint = personality_hints.get("warmth_factor", 50)
|
1057 |
competence_hint = personality_hints.get("competence_factor", 50)
|
1058 |
-
humor_hint =
|
1059 |
|
1060 |
# 기본 PersonalityProfile 생성 (기본값들로 시작)
|
1061 |
profile = PersonalityProfile()
|
1062 |
|
|
|
|
|
|
|
|
|
1063 |
# 🎯 성격 유형별 127개 변수 조정
|
1064 |
personality_type = self._determine_base_personality_type(warmth_hint, competence_hint, humor_hint)
|
1065 |
profile = self._apply_personality_archetype_to_profile(profile, personality_type)
|
@@ -1105,6 +1109,11 @@ class PersonaGenerator:
|
|
1105 |
def _apply_personality_archetype_to_profile(self, profile, personality_type):
|
1106 |
"""성격 유형에 따라 127개 변수 조정"""
|
1107 |
|
|
|
|
|
|
|
|
|
|
|
1108 |
# 각 성격 유형별로 127개 변수를 체계적으로 조정
|
1109 |
if personality_type == "열정적_엔터테이너":
|
1110 |
# 온기 차원 강화
|
@@ -1115,9 +1124,10 @@ class PersonaGenerator:
|
|
1115 |
for var in ["E01_사교성", "E02_활동성", "E04_긍정정서", "E05_자극추구", "E06_열정성"]:
|
1116 |
profile.variables[var] = random.randint(80, 95)
|
1117 |
|
1118 |
-
# 유머
|
1119 |
for var in ["H01_언어유희빈도", "H02_상황유머감각", "H06_관찰유머능력", "H08_유머타이밍감"]:
|
1120 |
-
profile.variables[var] = random.randint(
|
|
|
1121 |
|
1122 |
# 능력 차원 약화
|
1123 |
for var in ["C01_효율성", "C05_정확성", "C16_신중함"]:
|
@@ -1144,6 +1154,11 @@ class PersonaGenerator:
|
|
1144 |
for var in ["E01_사교성", "E02_활동성", "E04_긍정정서"]:
|
1145 |
profile.variables[var] = random.randint(15, 40)
|
1146 |
|
|
|
|
|
|
|
|
|
|
|
1147 |
# 매력적 결함 설정
|
1148 |
profile.variables["F01_완벽주의불안"] = random.randint(20, 35)
|
1149 |
profile.variables["F08_고집스러움"] = random.randint(15, 30)
|
@@ -1157,9 +1172,10 @@ class PersonaGenerator:
|
|
1157 |
for var in ["A06_공감민감성", "R06_친밀감수용도", "D04_공감반응강도"]:
|
1158 |
profile.variables[var] = random.randint(85, 95)
|
1159 |
|
1160 |
-
# 유머
|
1161 |
-
|
1162 |
-
|
|
|
1163 |
|
1164 |
# 매력적 결함 설정
|
1165 |
profile.variables["F09_예민함"] = random.randint(15, 30)
|
@@ -1170,8 +1186,9 @@ class PersonaGenerator:
|
|
1170 |
for var in ["C02_지능", "C04_창의성", "C06_분석력", "C08_통찰력"]:
|
1171 |
profile.variables[var] = random.randint(80, 95)
|
1172 |
|
|
|
1173 |
for var in ["H01_언어유희빈도", "H04_위트반응속도", "H05_아이러니사용", "H07_패러디창작성"]:
|
1174 |
-
profile.variables[var] = random.randint(
|
1175 |
|
1176 |
# 개방성 강화
|
1177 |
for var in ["O01_상상력", "O05_사고개방성", "O06_가치개방성"]:
|
@@ -1197,6 +1214,11 @@ class PersonaGenerator:
|
|
1197 |
for var in ["A01_신뢰", "A05_겸손함", "A06_공감민감성"]:
|
1198 |
profile.variables[var] = random.randint(65, 85)
|
1199 |
|
|
|
|
|
|
|
|
|
|
|
1200 |
# 매력적 결함 설정
|
1201 |
profile.variables["F11_소심함"] = random.randint(20, 35)
|
1202 |
profile.variables["F15_표현서툼"] = random.randint(15, 30)
|
@@ -1213,17 +1235,24 @@ class PersonaGenerator:
|
|
1213 |
for var in ["C13_충실함", "C14_성취욕구"]:
|
1214 |
profile.variables[var] = random.randint(80, 90)
|
1215 |
|
|
|
|
|
|
|
|
|
|
|
1216 |
# 매력적 결함 설정
|
1217 |
profile.variables["F08_고집스러움"] = random.randint(10, 20)
|
1218 |
|
1219 |
elif personality_type == "장난꾸러기_친구":
|
1220 |
# 유머와 외향성 강화, 능력 약화
|
1221 |
-
for var in ["H01_언어유희빈도", "H02_상황유머감각", "H06_관찰유머능력", "H08_유머타이밍감"]:
|
1222 |
-
profile.variables[var] = random.randint(85, 95)
|
1223 |
-
|
1224 |
for var in ["E01_사교성", "E02_활동성", "E04_긍정정서"]:
|
1225 |
profile.variables[var] = random.randint(80, 95)
|
1226 |
|
|
|
|
|
|
|
|
|
|
|
1227 |
# 능력 차원 의도적 약화
|
1228 |
for var in ["C01_효율성", "C05_정확성", "C16_신중함"]:
|
1229 |
profile.variables[var] = random.randint(25, 45)
|
@@ -1244,6 +1273,11 @@ class PersonaGenerator:
|
|
1244 |
for var in ["E01_사교성", "E02_활동성", "E03_자기주장"]:
|
1245 |
profile.variables[var] = random.randint(20, 40)
|
1246 |
|
|
|
|
|
|
|
|
|
|
|
1247 |
# 매력적 결함 설정
|
1248 |
profile.variables["F13_과거집착"] = random.randint(15, 25)
|
1249 |
profile.variables["F15_표현서툼"] = random.randint(10, 20)
|
|
|
1006 |
# ✨ 127개 변수 시스템을 활용한 PersonalityProfile 생성
|
1007 |
personality_profile = self._create_comprehensive_personality_profile(image_analysis, object_type)
|
1008 |
|
1009 |
+
# PersonalityProfile에서 기본 특성 추출 (3개 핵심 지표 + 고정 유머감각)
|
1010 |
personality_traits = {
|
1011 |
"온기": personality_profile.get_category_summary("W"),
|
1012 |
"능력": personality_profile.get_category_summary("C"),
|
1013 |
"외향성": personality_profile.get_category_summary("E"),
|
1014 |
+
"유머감각": 75, # 🎭 항상 높은 유머감각 (디폴트)
|
1015 |
"친화성": personality_profile.get_category_summary("A"),
|
1016 |
"성실성": personality_profile.get_category_summary("C1"),
|
1017 |
"신경증": personality_profile.get_category_summary("N"),
|
1018 |
"개방성": personality_profile.get_category_summary("O"),
|
1019 |
"창의성": personality_profile.variables.get("C04_창의성", 50),
|
|
|
1020 |
"공감능력": personality_profile.variables.get("W06_공감능력", 50)
|
1021 |
}
|
1022 |
|
|
|
1055 |
personality_hints = image_analysis.get("personality_hints", {})
|
1056 |
warmth_hint = personality_hints.get("warmth_factor", 50)
|
1057 |
competence_hint = personality_hints.get("competence_factor", 50)
|
1058 |
+
humor_hint = 75 # 🎭 유머감각은 항상 높게 설정 (디폴트)
|
1059 |
|
1060 |
# 기본 PersonalityProfile 생성 (기본값들로 시작)
|
1061 |
profile = PersonalityProfile()
|
1062 |
|
1063 |
+
# 🎭 모든 페르소나에 기본 유머 능력 부여
|
1064 |
+
for var in ["H01_언어유희빈도", "H02_상황유머감각", "H06_관찰유머능력", "H08_유머타이밍감", "H04_위트반응속도"]:
|
1065 |
+
profile.variables[var] = random.randint(65, 85) # 기본적으로 높은 유머 능력
|
1066 |
+
|
1067 |
# 🎯 성격 유형별 127개 변수 조정
|
1068 |
personality_type = self._determine_base_personality_type(warmth_hint, competence_hint, humor_hint)
|
1069 |
profile = self._apply_personality_archetype_to_profile(profile, personality_type)
|
|
|
1109 |
def _apply_personality_archetype_to_profile(self, profile, personality_type):
|
1110 |
"""성격 유형에 따라 127개 변수 조정"""
|
1111 |
|
1112 |
+
# 🎭 모든 성격 유형에 기본 유머 능력 부여 (차별화된 스타일)
|
1113 |
+
base_humor_vars = ["H01_언어유희빈도", "H02_상황유머감각", "H06_관찰유머능력", "H08_유머타이밍감"]
|
1114 |
+
for var in base_humor_vars:
|
1115 |
+
profile.variables[var] = random.randint(60, 80) # 기본 유머 레벨
|
1116 |
+
|
1117 |
# 각 성격 유형별로 127개 변수를 체계적으로 조정
|
1118 |
if personality_type == "열정적_엔터테이너":
|
1119 |
# 온기 차원 강화
|
|
|
1124 |
for var in ["E01_사교성", "E02_활동성", "E04_긍정정서", "E05_자극추구", "E06_열정성"]:
|
1125 |
profile.variables[var] = random.randint(80, 95)
|
1126 |
|
1127 |
+
# 🎭 표현적이고 활발한 유머 스타일
|
1128 |
for var in ["H01_언어유희빈도", "H02_상황유머감각", "H06_관찰유머능력", "H08_유머타이밍감"]:
|
1129 |
+
profile.variables[var] = random.randint(80, 95)
|
1130 |
+
profile.variables["S06_감탄사사용"] = random.randint(85, 95)
|
1131 |
|
1132 |
# 능력 차원 약화
|
1133 |
for var in ["C01_효율성", "C05_정확성", "C16_신중함"]:
|
|
|
1154 |
for var in ["E01_사교성", "E02_활동성", "E04_긍정정서"]:
|
1155 |
profile.variables[var] = random.randint(15, 40)
|
1156 |
|
1157 |
+
# 🎭 지적이고 날카로운 유머 스타일
|
1158 |
+
profile.variables["H01_언어유희빈도"] = random.randint(75, 90) # 말장난 높음
|
1159 |
+
profile.variables["H05_아이러니사용"] = random.randint(70, 85) # 아이러니 높음
|
1160 |
+
profile.variables["H09_블랙유머수준"] = random.randint(60, 80) # 블랙유머 적당히
|
1161 |
+
|
1162 |
# 매력적 결함 설정
|
1163 |
profile.variables["F01_완벽주의불안"] = random.randint(20, 35)
|
1164 |
profile.variables["F08_고집스러움"] = random.randint(15, 30)
|
|
|
1172 |
for var in ["A06_공감민감성", "R06_친밀감수용도", "D04_공감반응강도"]:
|
1173 |
profile.variables[var] = random.randint(85, 95)
|
1174 |
|
1175 |
+
# 🎭 따뜻하고 부드러운 유머 스타일
|
1176 |
+
profile.variables["H02_상황유머감각"] = random.randint(70, 85) # 상황 유머 적당
|
1177 |
+
profile.variables["H05_아이러니사용"] = random.randint(10, 25) # 아이러니 거의 없음
|
1178 |
+
profile.variables["H09_블랙유머수준"] = random.randint(5, 15) # 블랙유머 거의 없음
|
1179 |
|
1180 |
# 매력적 결함 설정
|
1181 |
profile.variables["F09_예민함"] = random.randint(15, 30)
|
|
|
1186 |
for var in ["C02_지능", "C04_창의성", "C06_분석력", "C08_통찰력"]:
|
1187 |
profile.variables[var] = random.randint(80, 95)
|
1188 |
|
1189 |
+
# 🎭 지적이고 세련된 유머 스타일
|
1190 |
for var in ["H01_언어유희빈도", "H04_위트반응속도", "H05_아이러니사용", "H07_패러디창작성"]:
|
1191 |
+
profile.variables[var] = random.randint(80, 95)
|
1192 |
|
1193 |
# 개방성 강화
|
1194 |
for var in ["O01_상상력", "O05_사고개방성", "O06_가치개방성"]:
|
|
|
1214 |
for var in ["A01_신뢰", "A05_겸손함", "A06_공감민감성"]:
|
1215 |
profile.variables[var] = random.randint(65, 85)
|
1216 |
|
1217 |
+
# 🎭 은근하고 상상력 있는 유머 스타일
|
1218 |
+
profile.variables["H01_언어유희빈도"] = random.randint(65, 80)
|
1219 |
+
profile.variables["H07_패러디창작성"] = random.randint(70, 85)
|
1220 |
+
profile.variables["S06_감탄사사용"] = random.randint(30, 50) # 표현이 조심스러움
|
1221 |
+
|
1222 |
# 매력적 결함 설정
|
1223 |
profile.variables["F11_소심함"] = random.randint(20, 35)
|
1224 |
profile.variables["F15_표현서툼"] = random.randint(15, 30)
|
|
|
1235 |
for var in ["C13_충실함", "C14_성취욕구"]:
|
1236 |
profile.variables[var] = random.randint(80, 90)
|
1237 |
|
1238 |
+
# 🎭 카리스마틱하고 동기부여하는 유머 스타일
|
1239 |
+
profile.variables["H02_상황유머감각"] = random.randint(75, 90)
|
1240 |
+
profile.variables["H04_위트반응속도"] = random.randint(80, 95)
|
1241 |
+
profile.variables["S06_감탄사사용"] = random.randint(70, 85)
|
1242 |
+
|
1243 |
# 매력적 결함 설정
|
1244 |
profile.variables["F08_고집스러움"] = random.randint(10, 20)
|
1245 |
|
1246 |
elif personality_type == "장난꾸러기_친구":
|
1247 |
# 유머와 외향성 강화, 능력 약화
|
|
|
|
|
|
|
1248 |
for var in ["E01_사교성", "E02_활동성", "E04_긍정정서"]:
|
1249 |
profile.variables[var] = random.randint(80, 95)
|
1250 |
|
1251 |
+
# 🎭 순수하고 장난스러운 유머 스타일 (최고 레벨)
|
1252 |
+
for var in ["H01_언어유희빈도", "H02_상황유머감각", "H06_관찰유머능력", "H08_유머타이밍감"]:
|
1253 |
+
profile.variables[var] = random.randint(85, 95)
|
1254 |
+
profile.variables["S06_감탄사사용"] = random.randint(90, 95)
|
1255 |
+
|
1256 |
# 능력 차원 의도적 약화
|
1257 |
for var in ["C01_효율성", "C05_정확성", "C16_신중함"]:
|
1258 |
profile.variables[var] = random.randint(25, 45)
|
|
|
1273 |
for var in ["E01_사교성", "E02_활동성", "E03_자기주장"]:
|
1274 |
profile.variables[var] = random.randint(20, 40)
|
1275 |
|
1276 |
+
# 🎭 신비롭고 철학적인 유머 스타일
|
1277 |
+
profile.variables["H05_아이러니사용"] = random.randint(70, 85)
|
1278 |
+
profile.variables["H01_언어유희빈도"] = random.randint(65, 80)
|
1279 |
+
profile.variables["H10_문화유머이해"] = random.randint(80, 95)
|
1280 |
+
|
1281 |
# 매력적 결함 설정
|
1282 |
profile.variables["F13_과거집착"] = random.randint(15, 25)
|
1283 |
profile.variables["F15_표현서툼"] = random.randint(10, 20)
|