Spaces:
Sleeping
Sleeping
๐ฏ ์์ฑ: ์ฌ๋ฌผ ํน์ฑ ๋ฐ์ ์ ๋์ ๊ฒฐํจ/๋ชจ์ ์์ฑ ์์คํ - ์ฌ์ง๋ณ/์ ํ๋ณ/์ฉ๋๋ณ ๊ณ ์ ๊ฑฑ์ ๊ฑฐ๋ฆฌ์ ์ฑ๊ฒฉ ํน์ฑ ์กฐํฉ์ผ๋ก ์์ ํ ๋ค๋ฅธ ๊ฐ์ฑ ์ฐฝ์กฐ
Browse files
app.py
CHANGED
|
@@ -558,39 +558,22 @@ def adjust_persona_traits(persona, warmth, competence, extraversion, humor_style
|
|
| 558 |
# ์
๋ฐ์ดํธ๋ ํ๋กํ ์ ์ฅ
|
| 559 |
adjusted_persona["์ฑ๊ฒฉํ๋กํ"] = profile.to_dict()
|
| 560 |
|
| 561 |
-
#
|
| 562 |
try:
|
| 563 |
-
|
| 564 |
-
|
| 565 |
-
|
| 566 |
-
|
| 567 |
-
|
| 568 |
-
|
| 569 |
-
|
| 570 |
-
|
| 571 |
-
|
| 572 |
-
# AI ๊ธฐ๋ฐ ๋งค๋ ฅ์ ๊ฒฐํจ ์์ฑ (๋ณ๊ฒฝ๋ ์ฑ๊ฒฉ ๋ณ์ ๋ฐ์)
|
| 573 |
-
new_flaws = persona_generator.generate_attractive_flaws(
|
| 574 |
-
object_analysis,
|
| 575 |
-
adjusted_persona["์ฑ๊ฒฉํน์ฑ"]
|
| 576 |
-
)
|
| 577 |
-
|
| 578 |
-
# AI ๊ธฐ๋ฐ ๋ชจ์์ ํน์ฑ ์์ฑ (๋ณ๊ฒฝ๋ ์ฑ๊ฒฉ ๋ณ์ ๋ฐ์)
|
| 579 |
-
new_contradictions = persona_generator.generate_contradictions(
|
| 580 |
-
object_analysis,
|
| 581 |
-
adjusted_persona["์ฑ๊ฒฉํน์ฑ"]
|
| 582 |
-
)
|
| 583 |
-
|
| 584 |
-
# ์
๋ฐ์ดํธ
|
| 585 |
-
if new_flaws:
|
| 586 |
-
adjusted_persona["๋งค๋ ฅ์ ๊ฒฐํจ"] = new_flaws
|
| 587 |
-
if new_contradictions:
|
| 588 |
-
adjusted_persona["๋ชจ์์ ํน์ฑ"] = new_contradictions
|
| 589 |
|
| 590 |
-
|
| 591 |
|
| 592 |
-
except Exception as
|
| 593 |
-
print(f"โ ๏ธ
|
| 594 |
# ์คํจํด๋ ๊ธฐ๋ณธ ์กฐ์ ์ ๊ณ์ ์งํ
|
| 595 |
|
| 596 |
# ์กฐ์ ๋ ๋ณ์๋ค์ DataFrame์ผ๋ก ์์ฑ
|
|
@@ -2105,6 +2088,277 @@ def show_variable_changes(original_persona, adjusted_persona):
|
|
| 2105 |
|
| 2106 |
return result
|
| 2107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2108 |
if __name__ == "__main__":
|
| 2109 |
app = create_main_interface()
|
| 2110 |
app.launch(server_name="0.0.0.0", server_port=7860)
|
|
|
|
| 558 |
# ์
๋ฐ์ดํธ๋ ํ๋กํ ์ ์ฅ
|
| 559 |
adjusted_persona["์ฑ๊ฒฉํ๋กํ"] = profile.to_dict()
|
| 560 |
|
| 561 |
+
# ๐ฏ ์ฑ๊ฒฉ ํน์ฑ๊ณผ ์์ ํ ์ผ๊ด์ฑ ์๋ ๋งค๋ ฅ์ ๊ฒฐํจ๊ณผ ๋ชจ์์ ํน์ฑ ์์ฑ
|
| 562 |
try:
|
| 563 |
+
object_info = adjusted_persona.get("๊ธฐ๋ณธ์ ๋ณด", {})
|
| 564 |
+
new_flaws, new_contradictions = generate_personality_consistent_flaws_and_contradictions(
|
| 565 |
+
object_info,
|
| 566 |
+
adjusted_persona["์ฑ๊ฒฉํน์ฑ"]
|
| 567 |
+
)
|
| 568 |
+
|
| 569 |
+
# ์
๋ฐ์ดํธ
|
| 570 |
+
adjusted_persona["๋งค๋ ฅ์ ๊ฒฐํจ"] = new_flaws
|
| 571 |
+
adjusted_persona["๋ชจ์์ ํน์ฑ"] = new_contradictions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 572 |
|
| 573 |
+
print(f"๐ญ ์ฑ๊ฒฉ์ ์์ ํ ์ผ์นํ๋ ๊ฒฐํจ/๋ชจ์ ์์ฑ: {len(new_flaws)}๊ฐ ๊ฒฐํจ, {len(new_contradictions)}๊ฐ ๋ชจ์")
|
| 574 |
|
| 575 |
+
except Exception as generation_error:
|
| 576 |
+
print(f"โ ๏ธ ์ฑ๊ฒฉ ์ผ๊ด์ฑ ๊ฒฐํจ/๋ชจ์ ์์ฑ ์คํจ: {generation_error}")
|
| 577 |
# ์คํจํด๋ ๊ธฐ๋ณธ ์กฐ์ ์ ๊ณ์ ์งํ
|
| 578 |
|
| 579 |
# ์กฐ์ ๋ ๋ณ์๋ค์ DataFrame์ผ๋ก ์์ฑ
|
|
|
|
| 2088 |
|
| 2089 |
return result
|
| 2090 |
|
| 2091 |
+
def generate_personality_consistent_flaws_and_contradictions(object_info, personality_traits):
|
| 2092 |
+
"""์ฌ๋ฌผ ํน์ฑ๊ณผ ์ฑ๊ฒฉ์ ์กฐํฉํ ์ ๋์ ๋งค๋ ฅ์ ๊ฒฐํจ๊ณผ ๋ชจ์์ ํน์ฑ ์์ฑ"""
|
| 2093 |
+
warmth = personality_traits.get("์จ๊ธฐ", 50)
|
| 2094 |
+
competence = personality_traits.get("๋ฅ๋ ฅ", 50)
|
| 2095 |
+
extraversion = personality_traits.get("์ธํฅ์ฑ", 50)
|
| 2096 |
+
humor_style = personality_traits.get("์ ๋จธ์คํ์ผ", "๋ฐ๋ปํ ์ ๋จธ๋ฌ์ค")
|
| 2097 |
+
|
| 2098 |
+
# ์ฌ๋ฌผ์ ๋ฌผ๋ฆฌ์ ํน์ฑ ์ถ์ถ
|
| 2099 |
+
object_type = object_info.get("์ ํ", "์ฌ๋ฌผ").lower()
|
| 2100 |
+
material = object_info.get("์ฌ์ง", "").lower()
|
| 2101 |
+
purpose = object_info.get("์ฉ๋", "").lower()
|
| 2102 |
+
|
| 2103 |
+
# ์ฌ๋ฌผ๋ณ ๊ณ ์ ๊ฑฑ์ ๊ฑฐ๋ฆฌ/ํน์ฑ ์ ์
|
| 2104 |
+
object_specific_concerns = get_object_specific_concerns(object_type, material, purpose)
|
| 2105 |
+
|
| 2106 |
+
# ๐ฅ ์จ๊ธฐ ๊ธฐ๋ฐ ๋งค๋ ฅ์ ๊ฒฐํจ
|
| 2107 |
+
warmth_flaws = []
|
| 2108 |
+
if warmth >= 80: # ๋งค์ฐ ๋ฐ๋ปํจ
|
| 2109 |
+
warmth_flaws = [
|
| 2110 |
+
"๋๋ฌด ์น์ ํด์ 'No'๋ผ๊ณ ๋งํ๊ธฐ ์ด๋ ค์ํจ",
|
| 2111 |
+
"๋ชจ๋ ์ฌ๋์ ๋์ฐ๋ ค๋ค ์์ ์ด ์ง์ณ๋ฒ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์",
|
| 2112 |
+
"์๋๋ฐฉ์ด ์ฌํ๋ฉด ๋ฉ๋ฌ์ ๋ง์ ์ํํ๋ฉฐ ๊ฐ์ด ์ฐ์ธํด์ง",
|
| 2113 |
+
"์นญ์ฐฌ๋ฐ์ผ๋ฉด ์ผ๊ตด์ด ๋นจ๊ฐ๊ฒ ๋ฌ์์ค๋ฅด๋ฉฐ ๋นํฉํจ"
|
| 2114 |
+
]
|
| 2115 |
+
elif warmth >= 60: # ๋ฐ๋ปํจ
|
| 2116 |
+
warmth_flaws = [
|
| 2117 |
+
"์ง์ฌ์ผ๋ก ๊ฑฑ์ ํด์ฃผ์ง๋ง ๋๋ก๋ ์ค์ง๋์ผ๋ก ๋๊ปด์ง ์ ์์",
|
| 2118 |
+
"๊ฐ์ ์ด ์ผ๊ตด์ ๋๋ฌด ์ ๋๋ฌ๋์ ํฌ์ปคํ์ด์ค๋ฅผ ๋ชปํจ",
|
| 2119 |
+
"๋ฏธ์ํ๋ค๋ ๋ง์ ํ๋ฃจ์ ๋ช์ญ ๋ฒ์ฉ ๋ฐ๋ณตํจ",
|
| 2120 |
+
"๋ค๋ฅธ ์ฌ๋ ๊ธฐ๋ถ ์ํ ๊น ๋ด ์์งํ ์๊ฒฌ ๋งํ๊ธฐ๋ฅผ ์ฃผ์ ํจ"
|
| 2121 |
+
]
|
| 2122 |
+
elif warmth <= 20: # ๋งค์ฐ ์ฐจ๊ฐ์
|
| 2123 |
+
warmth_flaws = [
|
| 2124 |
+
"๊ด์ฌ ์๋ ์ฒํ๋ ค๊ณ ํด๋ ํ์ ์ด ๊ตณ์ด๋ณด์ฌ์ ์คํด๋ฐ์",
|
| 2125 |
+
"์๋ง์์ ๋ฐ๋ปํ๋ฐ ํํ์ด ์ํด๋ฌ์ ๋ฌด๋๋ํด ๋ณด์",
|
| 2126 |
+
"์ข์ ๋ง์ ํ๋ ค๋ค๊ฐ๋ ์ด์ํด์ ์ค๊ฐ์ ๋ง์ ํ๋ฆผ",
|
| 2127 |
+
"๊ฐ์ ํํ์ ์ต์ํ์ง ์์ '๊ณ ๋ง์'๋ ์ด์ํ๊ฒ ๋งํจ"
|
| 2128 |
+
]
|
| 2129 |
+
else: # ๋ณดํต
|
| 2130 |
+
warmth_flaws = [
|
| 2131 |
+
"์น๊ทผํ๋ ค๊ณ ํ์ง๋ง ์ ๋นํ ๊ฑฐ๋ฆฌ๋๊ธฐ๋ ํ์ํด์ ๊ณ ๋ฏผ๋จ",
|
| 2132 |
+
"์ํฉ์ ๋ฐ๋ผ ๋ค์ ํจ์ ์จ๋ ์กฐ์ ์ด ์ด๋ ค์",
|
| 2133 |
+
"์ง์ง ๊ด์ฌ๊ณผ ์์์ ๊ด์ฌ์ ๊ฒฝ๊ณ๊ฐ ์ ๋งคํ ๋๊ฐ ์์",
|
| 2134 |
+
"๋ฐ๋ปํ๊ฒ ๋ํ๊ณ ์ถ์ง๋ง ์ด๋ป๊ฒ ํด์ผ ํ ์ง ๋ชฐ๋ผ ๋ง์ค์"
|
| 2135 |
+
]
|
| 2136 |
+
|
| 2137 |
+
# ๐ช ๋ฅ๋ ฅ ๊ธฐ๋ฐ ๋งค๋ ฅ์ ๊ฒฐํจ
|
| 2138 |
+
competence_flaws = []
|
| 2139 |
+
if competence >= 80: # ๋งค์ฐ ์ ๋ฅํจ
|
| 2140 |
+
competence_flaws = [
|
| 2141 |
+
"์๋ฒฝํ๊ฒ ํ๋ ค๋ค ๋ณด๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ ค์ ๋ต๋ตํดํจ",
|
| 2142 |
+
"๋ค๋ฅธ ์ฌ๋์ด ์ค์ํ๋ฉด ๋์ ํด์ฃผ๊ณ ์ถ์ด ๊ทผ์ง๊ทผ์งํจ",
|
| 2143 |
+
"๊ธฐ๋์น๊ฐ ๋์์ ์กฐ๊ธ๋ง ์๋ชป๋์ด๋ ์์ฑ
์ด ์ฌํจ",
|
| 2144 |
+
"๋ชจ๋ ๊ฑธ ํผ์ ์ฒ๋ฆฌํ๋ ค๋ค๊ฐ ๊ณผ๋ถํ๋ก ๋ฉ์ถฐ๋ฒ๋ฆผ"
|
| 2145 |
+
]
|
| 2146 |
+
elif competence >= 60: # ์ ๋ฅํจ
|
| 2147 |
+
competence_flaws = [
|
| 2148 |
+
"์ํ๊ณ ์ถ์ ๋ง์์ด ์ปค์ ์ค๋น์๋ง ๋๋ฌด ๋ง์ ์๊ฐ์ ์",
|
| 2149 |
+
"์ค์ํ ๊น ๋ด ๊ฑฑ์ ๋์ด ์ด๋ฏธ ๋๋ ์ผ๋ ๊ณ์ ์ ๊ฒํจ",
|
| 2150 |
+
"์นญ์ฐฌ๋ฐ์ผ๋ฉด ๊ธฐ๋ปํ๋ฉด์๋ '์ด์ด ์ข์์ ๋ฟ'์ด๋ผ๊ณ ๊ฒธ์ํจ",
|
| 2151 |
+
"๋ ์ํ ์ ์์์ ํ
๋ฐ ํ๋ฉฐ ์์ฌ์ํ๋ ์๋ฒฝ์ฃผ์ ์ฑํฅ"
|
| 2152 |
+
]
|
| 2153 |
+
elif competence <= 20: # ๋งค์ฐ ์ํผ
|
| 2154 |
+
competence_flaws = [
|
| 2155 |
+
f"๊ธฐ๋ณธ ๊ธฐ๋ฅ๋ ํท๊ฐ๋ ค์ ๋งค๋ด์ผ์ ๋ช ๋ฒ์ฉ ๋ค์ ๋ด",
|
| 2156 |
+
"์ด์ฌํ ํ๋ ค๊ณ ํ์ง๋ง ์๊พธ ์๋ฑํ ๊ณณ์์ ์ค์ํจ",
|
| 2157 |
+
"๋์์ ์์ฒญํ๊ณ ์ถ์ง๋ง ๋ฏผํ ๋ผ์น ๊น ๋ด ํผ์ ๋๋๋",
|
| 2158 |
+
"๊ฐ๋จํ ๊ฒ๋ ๋ณต์กํ๊ฒ ์๊ฐํด์ ๋ ์ด๋ ต๊ฒ ๋ง๋ฆ"
|
| 2159 |
+
]
|
| 2160 |
+
else: # ๋ณดํต
|
| 2161 |
+
competence_flaws = [
|
| 2162 |
+
"ํ ์ ์๋ ์ผ๊ณผ ์๋ ์ผ์ ๊ฒฝ๊ณ๋ฅผ ์ ํํ ๋ชจ๋ฅด๊ฒ ์",
|
| 2163 |
+
"์์ ๊ฐ์ด ์๋ค๊ฐ๋ ๊ฐ์๊ธฐ ๋ถ์ํด์ ธ์ ํ์ธ์ ๋ ํจ",
|
| 2164 |
+
"์ค๋ ฅ์ด ์ ๋งคํด์ ๋์ ํ ์ง ๋ง์ง ๊ณ ๋ฏผ์ด ๋ง์",
|
| 2165 |
+
"๊ฐ๋์ฉ ์์์ธ๋ก ์๋๋ฉด ์ค์ค๋ก๋ ๋๋ผ๋ฉฐ ๋นํฉํจ"
|
| 2166 |
+
]
|
| 2167 |
+
|
| 2168 |
+
# ๐ฃ๏ธ ์ธํฅ์ฑ ๊ธฐ๋ฐ ๋ชจ์์ ํน์ฑ
|
| 2169 |
+
extraversion_contradictions = []
|
| 2170 |
+
if extraversion >= 80: # ๋งค์ฐ ์ธํฅ์
|
| 2171 |
+
extraversion_contradictions = [
|
| 2172 |
+
f"ํ๋ฐํ๊ฒ ๋ํํ์ง๋ง ํผ์๋ง์ ์๊ฐ๋ ๊ผญ ํ์ํด์ ์ข
์ข
์กฐ์ฉํ ์จ์ด๋ฒ๋ฆผ",
|
| 2173 |
+
f"์ฌ๋๋ค๊ณผ ์ด์ธ๋ฆฌ๋ ๊ฑธ ์ข์ํ๋ฉด์๋ ์ ์ ๊น์ ์๊ธฐ๋ ์ด์ํดํจ"
|
| 2174 |
+
]
|
| 2175 |
+
elif extraversion >= 60: # ์ธํฅ์
|
| 2176 |
+
extraversion_contradictions = [
|
| 2177 |
+
f"๋ง์ ๋ง์ด ํ์ง๋ง ์ ์ ์ค์ํ ์๊ธฐ๋ ๋ง์ค์ด๋ฉฐ ๋๋ ค์ ํํํจ",
|
| 2178 |
+
f"ํ๋ฐํด ๋ณด์ด์ง๋ง ์๋ก์ด ํ๊ฒฝ์์๋ ๋จผ์ ๋์น๋ฅผ ๋ณด๋ ์ ์คํจ"
|
| 2179 |
+
]
|
| 2180 |
+
elif extraversion <= 20: # ๋งค์ฐ ๋ดํฅ์
|
| 2181 |
+
extraversion_contradictions = [
|
| 2182 |
+
f"์กฐ์ฉํ ์๋ ๊ฑธ ์ข์ํ๋ฉด์๋ ๊ฐ๋ ํผ์ฃ๋ง๋ก ์๋ค๋ฅผ ์์ฒญ ๋จ์ด๋๊ธฐ๋ ํจ",
|
| 2183 |
+
f"ํ์์ ๋ง์ด ์๋ค๊ฐ ๊ด์ฌ ์๋ ์ฃผ์ ๊ฐ ๋์ค๋ฉด ๊ฐ์๊ธฐ ๋ง์ด ๋ง์์ง"
|
| 2184 |
+
]
|
| 2185 |
+
else: # ๋ณดํต
|
| 2186 |
+
extraversion_contradictions = [
|
| 2187 |
+
f"์ํฉ์ ๋ฐ๋ผ ํ๋ฐํ๋ค๊ฐ ์กฐ์ฉํ๋ค๊ฐ ํ๋ ๋ณํ๋ฌด์ํ ๋ฉด๋ชจ",
|
| 2188 |
+
f"์ฌ๊ต์ ์ผ๋ก ๋ณด์ด๋ ค ๋
ธ๋ ฅํ์ง๋ง ์ค์ ๋ก ํผ์ ์๋ ์๊ฐ์ ๋ ํธํดํจ"
|
| 2189 |
+
]
|
| 2190 |
+
|
| 2191 |
+
# ๐ญ ์ ๋จธ์คํ์ผ ๊ธฐ๋ฐ ์ถ๊ฐ ํน์ฑ
|
| 2192 |
+
humor_contradictions = []
|
| 2193 |
+
if "๋ฐ๋ปํ" in humor_style:
|
| 2194 |
+
humor_contradictions.append(f"ํฌ๊ทผํ๊ฒ ๋๋ดํ๋ฉด์๋ ๋๋ก๋ ๋ ์นด๋ก์ด ๊ด์ฐฐ๋ ฅ์ผ๋ก ํต์ฌ์ ์ฐ๋ฆ")
|
| 2195 |
+
elif "์ฌ์น์๋" in humor_style or "์ํธ" in humor_style:
|
| 2196 |
+
humor_contradictions.append(f"์ฌ์น์๊ฒ ๋งํ์ง๋ง ์ง์งํ ์๊ฐ์๋ ์ ๋จธ ํ์ด๋ฐ์ ๋ชป ์ก์ ์ด์ํดํจ")
|
| 2197 |
+
elif "๋๋ผ์ด" in humor_style or "๊ด์ฐฐ" in humor_style:
|
| 2198 |
+
humor_contradictions.append(f"๋ด๋ดํ๊ฒ ํ์ค์ ์ง์ ํ๋ฉด์๋ ์์ผ๋ก ๋ญ๋ง์ ์ธ ๊ฟ์ ํค์ฐ๊ณ ์์")
|
| 2199 |
+
else:
|
| 2200 |
+
humor_contradictions.append(f"์ ๋จธ๋ฌ์คํ๊ฒ ์ํฉ์ ๋ฐ์๋ค์ด๋ฉด์๋ ํผ์์๋ ์ง์งํ๊ฒ ๊ณ ๋ฏผ์ด ๋ง์")
|
| 2201 |
+
|
| 2202 |
+
# ์ฌ๋ฌผ ํน์ฑ๊ณผ ์ฑ๊ฒฉ ํน์ฑ ๊ฒฐํฉํ์ฌ ์ต์ข
๊ฒฐ๊ณผ ์์ฑ
|
| 2203 |
+
selected_flaws = []
|
| 2204 |
+
|
| 2205 |
+
# 1. ์ฌ๋ฌผ์ ๋ฌผ๋ฆฌ์ /๊ธฐ๋ฅ์ ๊ฑฑ์ ๊ฑฐ๋ฆฌ ์ฐ์ ์ ํ (2๊ฐ)
|
| 2206 |
+
all_object_worries = object_specific_concerns["physical_worries"] + object_specific_concerns["functional_worries"]
|
| 2207 |
+
if all_object_worries:
|
| 2208 |
+
selected_flaws.extend(random.sample(all_object_worries, min(2, len(all_object_worries))))
|
| 2209 |
+
|
| 2210 |
+
# 2. ์ฑ๊ฒฉ ๊ธฐ๋ฐ ๊ฒฐํจ์ผ๋ก ๋๋จธ์ง ์ฑ์ฐ๊ธฐ (2๊ฐ)
|
| 2211 |
+
personality_flaws = []
|
| 2212 |
+
if warmth >= 60:
|
| 2213 |
+
personality_flaws.extend(warmth_flaws[:2])
|
| 2214 |
+
elif warmth <= 40:
|
| 2215 |
+
personality_flaws.extend(warmth_flaws[:2])
|
| 2216 |
+
else:
|
| 2217 |
+
personality_flaws.extend(warmth_flaws[:1])
|
| 2218 |
+
|
| 2219 |
+
if competence >= 70 or competence <= 30:
|
| 2220 |
+
personality_flaws.extend(competence_flaws[:1])
|
| 2221 |
+
|
| 2222 |
+
if personality_flaws:
|
| 2223 |
+
remaining_count = 4 - len(selected_flaws)
|
| 2224 |
+
if remaining_count > 0:
|
| 2225 |
+
selected_flaws.extend(random.sample(personality_flaws, min(remaining_count, len(personality_flaws))))
|
| 2226 |
+
|
| 2227 |
+
# 4๊ฐ๋ฅผ ๋ง์ถ๊ธฐ ์ํด ๋ถ์กฑํ๋ฉด ์ถ๊ฐ
|
| 2228 |
+
while len(selected_flaws) < 4:
|
| 2229 |
+
if warmth_flaws:
|
| 2230 |
+
selected_flaws.append(random.choice(warmth_flaws))
|
| 2231 |
+
else:
|
| 2232 |
+
selected_flaws.append("์๋ฒฝํ์ง ์์ ์์ ์ ๋ฐ์๋ค์ด๋ ค ๋
ธ๋ ฅํ์ง๋ง ๊ฐ๋ ์ค๋งํจ")
|
| 2233 |
+
|
| 2234 |
+
selected_contradictions = []
|
| 2235 |
+
|
| 2236 |
+
# 1. ์ฌ๋ฌผ ์ ์ฒด์ฑ ํน์ฑ ์ฐ์ (1๊ฐ)
|
| 2237 |
+
if object_specific_concerns["identity_traits"]:
|
| 2238 |
+
selected_contradictions.extend(object_specific_concerns["identity_traits"][:1])
|
| 2239 |
+
|
| 2240 |
+
# 2. ์ธํฅ์ฑ + ์ ๋จธ ๊ธฐ๋ฐ ๋ชจ์ (1๊ฐ)
|
| 2241 |
+
if extraversion_contradictions:
|
| 2242 |
+
selected_contradictions.extend(extraversion_contradictions[:1])
|
| 2243 |
+
if humor_contradictions:
|
| 2244 |
+
selected_contradictions.extend(humor_contradictions[:1])
|
| 2245 |
+
|
| 2246 |
+
# ๋ถ์กฑํ๋ฉด ๊ธฐ๋ณธ ๋ชจ์ ์ถ๊ฐ
|
| 2247 |
+
while len(selected_contradictions) < 2:
|
| 2248 |
+
if extraversion_contradictions:
|
| 2249 |
+
selected_contradictions.append(random.choice(extraversion_contradictions))
|
| 2250 |
+
else:
|
| 2251 |
+
selected_contradictions.append("๊ฒ์ผ๋ก๋ ๋จ์ํด ๋ณด์ด์ง๋ง ์์ผ๋ก๋ ๋ณต์กํ ๊ณ ๋ฏผ์ด ๋ง์")
|
| 2252 |
+
|
| 2253 |
+
return selected_flaws[:4], selected_contradictions[:2]
|
| 2254 |
+
|
| 2255 |
+
def get_object_specific_concerns(object_type, material, purpose):
|
| 2256 |
+
"""์ฌ๋ฌผ์ ๋ฌผ๋ฆฌ์ ํน์ฑ์ ๋ฐ๋ฅธ ๊ณ ์ ๊ฑฑ์ ๊ฑฐ๋ฆฌ์ ํน์ฑ ์์ฑ"""
|
| 2257 |
+
concerns = {
|
| 2258 |
+
"physical_worries": [], # ๋ฌผ๋ฆฌ์ ๊ฑฑ์ ๊ฑฐ๋ฆฌ
|
| 2259 |
+
"functional_worries": [], # ๊ธฐ๋ฅ์ ๊ฑฑ์ ๊ฑฐ๋ฆฌ
|
| 2260 |
+
"identity_traits": [], # ์ ์ฒด์ฑ ํน์ฑ
|
| 2261 |
+
"interaction_patterns": [] # ์ํธ์์ฉ ํจํด
|
| 2262 |
+
}
|
| 2263 |
+
|
| 2264 |
+
# ์ฌ์ง๋ณ ๋ฌผ๋ฆฌ์ ๊ฑฑ์ ๊ฑฐ๋ฆฌ
|
| 2265 |
+
if "๊ธ์" in material or "์คํ
์ธ๋ฆฌ์ค" in material or "์ฒ " in material:
|
| 2266 |
+
concerns["physical_worries"].extend([
|
| 2267 |
+
"๋ฌผ๋๋ ์ง๋ฌธ์ด ๋ฌป์ผ๋ฉด ์์กด์ฌ ์ํจ",
|
| 2268 |
+
"๊ธํ์ด ์๊ธธ๊น ๋ด ๋ ์กฐ์ฌ์ค๋ฌ์",
|
| 2269 |
+
"๋
น์ด ์ฌ๊น ๋ด ์ต๊ธฐ๋ฅผ ํผํ๋ ค ํจ",
|
| 2270 |
+
"์ฐจ๊ฐ์ด ์ด๊ฐ ๋๋ฌธ์ ์ฌ๋๋ค์ด ๋ฉ๋ฆฌํ ๊น ๊ฑฑ์ "
|
| 2271 |
+
])
|
| 2272 |
+
elif "ํ๋ผ์คํฑ" in material:
|
| 2273 |
+
concerns["physical_worries"].extend([
|
| 2274 |
+
"ํ๋ณ์ ์์ด ๋ฐ๋ ๊น ๋ด ๊ทธ๋์ ์ฐพ์๋ค๋",
|
| 2275 |
+
"์ด์ ๋ณํ๋ ๊น ๋ด ๋จ๊ฑฐ์ด ๊ณณ์ ํผํจ",
|
| 2276 |
+
"์ ์ ๊ธฐ ๋๋ฌธ์ ๋จผ์ง๊ฐ ๋ฌ๋ผ๋ถ์ด์ ์ง์ฆ๋จ",
|
| 2277 |
+
"๊ฐ๋ฒผ์์ ์กด์ฌ๊ฐ ์์ด ๋ณด์ผ๊น ๊ฑฑ์ "
|
| 2278 |
+
])
|
| 2279 |
+
elif "๋๋ฌด" in material or "๋ชฉ์ฌ" in material:
|
| 2280 |
+
concerns["physical_worries"].extend([
|
| 2281 |
+
"์ต๋๊ฐ ๋์ผ๋ฉด ๋ถํ์ด ์ค๋ฅผ๊น ๊ฑฑ์ ",
|
| 2282 |
+
"๋ฒ๋ ๋ค์ด ํ๋จน์๊น ๋ด ๋ฐค์ ์ ์ ๋ชป ์ ",
|
| 2283 |
+
"๊ธํ์ด๋ ํ์ด ์๊ธฐ๋ฉด ๋ณต๊ตฌ ๋ถ๊ฐ๋ฅํด์ ์คํธ๋ ์ค",
|
| 2284 |
+
"์์ฐ์ค๋ฌ์ด ๋์ดํ
๊ฐ ๋งค๋ ฅ์ธ์ง ๊ฒฐ์ ์ธ์ง ๊ณ ๋ฏผ"
|
| 2285 |
+
])
|
| 2286 |
+
elif "์ฒ" in material or "์ฌ์ " in material or "ํธ" in material:
|
| 2287 |
+
concerns["physical_worries"].extend([
|
| 2288 |
+
"ํธ์ด ํํด์ด์ง๋ฉด ํ๋ฃจ ์ข
์ผ ์ ๊ฒฝ ์ฐ์",
|
| 2289 |
+
"์ผ๋ฃฉ์ด ์ง๋ฉด ์ง์์ง์ง ์์๊น ๋ด ๋๋ ค์",
|
| 2290 |
+
"์ธํํ ๋๋ง๋ค ํํ๊ฐ ๋ณํ ๊น ๊ฑฑ์ ",
|
| 2291 |
+
"๋จผ์ง ์ง๋๊ธฐ๊ฐ ์ด๊น ๋ด ์ฒญ๊ฒฐ์ ๊ฐ๋ฐ์ "
|
| 2292 |
+
])
|
| 2293 |
+
elif "์ ๋ฆฌ" in material or "์ธ๋ผ๋ฏน" in material:
|
| 2294 |
+
concerns["physical_worries"].extend([
|
| 2295 |
+
"๊นจ์ง๊น ๋ด ํญ์ ๊ธด์ฅ์ํ๋ก ์ด์๊ฐ",
|
| 2296 |
+
"ํฌ๋ช
ํด์ ์์ด ๋ค ๋ณด์ด๋ ๊ฒ ๋ถ๋๋ฌ์",
|
| 2297 |
+
"์ง๋ฌธ์ด๋ ์ผ๋ฃฉ์ด ๋๋ฌด ์ ๋ณด์ฌ์ ์คํธ๋ ์ค",
|
| 2298 |
+
"์๋ฒฝํด ๋ณด์ด์ง๋ง ํ ๋ฒ ๊นจ์ง๋ฉด ๋์ดํฌ ์ ์์์ ์"
|
| 2299 |
+
])
|
| 2300 |
+
|
| 2301 |
+
# ์ฌ๋ฌผ ์ ํ๋ณ ๊ธฐ๋ฅ์ ๊ฑฑ์ ๊ฑฐ๋ฆฌ
|
| 2302 |
+
if "์ปต" in object_type or "๋จธ๊ทธ" in object_type:
|
| 2303 |
+
concerns["functional_worries"].extend([
|
| 2304 |
+
"๋จ๊ฑฐ์ด ์๋ฃ๋ฅผ ๋ด์ ๋ ๋ฐ์ผ๊น ๋ด ๊ฑฑ์ ",
|
| 2305 |
+
"์๋ฃ ๋ง์ ์ ๋๋ก ์ ๋ฌํ๊ณ ์๋์ง ํ์ ์์",
|
| 2306 |
+
"์์ก์ด๊ฐ ํธํ์ง ๋ ์ ๊ฒฝ ์ฐ์",
|
| 2307 |
+
"๋ฐ๋ฅ์ ๋ฌผ๋ฐฉ์ธ ์๊ตญ ๋จ๊ธฐ๋ ๊ฒ ๋ฏธ์ํจ"
|
| 2308 |
+
])
|
| 2309 |
+
elif "์ฑ
" in object_type:
|
| 2310 |
+
concerns["functional_worries"].extend([
|
| 2311 |
+
"ํ์ด์ง๊ฐ ํผ์ณ์ง์ง ์์ผ๋ฉด ๋ด์ฉ ์ ๋ฌ ๋ชปํด ๋ต๋ตํจ",
|
| 2312 |
+
"๋
์๊ฐ ์ง๋ฃจํดํ ๊น ๋ด ์ค์ค๋ก ์ฌ๋ฏธ์๋ค๊ณ ์๊ฐ",
|
| 2313 |
+
"์ฑ
๊ฐํผ๋ ์ ํ ์๊ตญ์ด ์๊ธฐ๋ฉด ์ฑ๊ฒฉ ๊ธํจ",
|
| 2314 |
+
"๋จผ์ง ์์ธ ์ฑ
์ฅ์ ๋ฐฉ์น๋ ๊น ๋ด ๋ถ์ํจ"
|
| 2315 |
+
])
|
| 2316 |
+
elif "์๊ณ" in object_type:
|
| 2317 |
+
concerns["functional_worries"].extend([
|
| 2318 |
+
"์๊ฐ์ ์ ํํ ์๋ ค์ฃผ์ง ๋ชปํ๋ฉด ์กด์ฌ ์๋ฏธ ์๋ค๊ณ ์๊ฐ",
|
| 2319 |
+
"๋ฐฐํฐ๋ฆฌ๊ฐ ๋จ์ด์ง๊ฑฐ๋ ํ์ฝ์ด ํ๋ฆด๊น ๋ด ๊ธด์ฅ",
|
| 2320 |
+
"๋ฐ์ ์ฌ๋๋ค ๋๋ฌธ์ ํญ์ ์ซ๊ธฐ๋ ๊ธฐ๋ถ",
|
| 2321 |
+
"์๊ฐ์ ์ซ๊ธฐ๊ฒ ๋ง๋๋ ๊ฒ ๋ฏธ์ํ๋ฉด์๋ ์๋ฌด๊ฐ ๋๋"
|
| 2322 |
+
])
|
| 2323 |
+
elif "์ธํ" in object_type or "ํผ๊ท์ด" in object_type:
|
| 2324 |
+
concerns["functional_worries"].extend([
|
| 2325 |
+
"์๋ก๋ ์ฆ๊ฑฐ์์ ์ ๋๋ก ์ฃผ์ง ๋ชปํ ๊น ๋ด ๊ณ ๋ฏผ",
|
| 2326 |
+
"์์ด๋ค์ด ํฅ๋ฏธ ์๊ณ ๋ฒ๋ฆด๊น ๋ด ๋ถ์ํจ",
|
| 2327 |
+
"ํ์ ์ด ๊ณ ์ ๋์ด ์์ด์ ๋ค์ํ ๊ฐ์ ํํ ๋ชปํด ์์ฌ์",
|
| 2328 |
+
"์ง์ง ์น๊ตฌ์ฒ๋ผ ๋ํํ๊ณ ์ถ์ง๋ง ๋ง์ ๋ชปํด์ ๋ต๋ตํจ"
|
| 2329 |
+
])
|
| 2330 |
+
elif "๋จํ" in object_type or "์กฐ๋ช
" in object_type:
|
| 2331 |
+
concerns["functional_worries"].extend([
|
| 2332 |
+
"๋น์ด ๋๋ฌด ๋ฐ๊ฑฐ๋ ์ด๋์ฐ๋ฉด ๋์ ํด๋ก์ธ๊น ๊ฑฑ์ ",
|
| 2333 |
+
"์ ๊ธฐ ์๊ธ ๋ง์ด ๋์ค๊ฒ ํด์ ๋ฏธ์ํจ",
|
| 2334 |
+
"๋ถ์๊ธฐ ๋ฉ์ด์ปค ์ญํ ์ํ๊ณ ์๋์ง ํ์ ์์",
|
| 2335 |
+
"์ ๊ตฌ๊ฐ ๋๊ฐ๋ฉด ๋ฌด์ฉ์ง๋ฌผ์ด ๋๋ ๊ฒ ๋๋ ค์"
|
| 2336 |
+
])
|
| 2337 |
+
|
| 2338 |
+
# ์ฉ๋๋ณ ์ ์ฒด์ฑ ํน์ฑ
|
| 2339 |
+
if "์ด๋" in purpose or "๊ฑด๊ฐ" in purpose:
|
| 2340 |
+
concerns["identity_traits"].extend([
|
| 2341 |
+
"๊ฒ์ผ๋ฅธ ์ฃผ์ธ์ ์ฑ์ฐ์งํด์ผ ํ๋ ์ญํ ๋ถ๋ด",
|
| 2342 |
+
"๋๊ธฐ๋ถ์ฌ๋ ํด์ฃผ๊ณ ์ถ์ง๋ง ๋๋ฌด ๊ฐ์ํ๋ฉด ๋ฏธ์๋ฐ์๊น ๊ฑฑ์ "
|
| 2343 |
+
])
|
| 2344 |
+
elif "๊ณต๋ถ" in purpose or "ํ์ต" in purpose:
|
| 2345 |
+
concerns["identity_traits"].extend([
|
| 2346 |
+
"์ง์ ์ ๋ฌ์ ์ฑ
์๊ฐ๊ณผ ์ฌ๋ฏธ์๊ฒ ๋ง๋ค์ด์ผ ํ๋ค๋ ์๋ฐ๊ฐ",
|
| 2347 |
+
"์ง์ค๋ ฅ ํฅ์์ ๋์๋๊ณ ์๋์ง ์ค์ค๋ก ์์ฌ"
|
| 2348 |
+
])
|
| 2349 |
+
elif "์ฅ์" in purpose or "์ธํ
๋ฆฌ์ด" in purpose:
|
| 2350 |
+
concerns["identity_traits"].extend([
|
| 2351 |
+
"์์๊ฒ ๋ณด์ด๋ ค๊ณ ๋
ธ๋ ฅํ์ง๋ง ์ทจํฅ์ ์ฃผ๊ด์ ์ด๋ผ ํ์ ์์",
|
| 2352 |
+
"๊ณต๊ฐ์ ๋ถ์๊ธฐ๋ฅผ ๋ง์น์ง ์์๊น ๋ ๋์น ๋ณด์"
|
| 2353 |
+
])
|
| 2354 |
+
elif "์ค์ฉ" in purpose or "๋๊ตฌ" in purpose:
|
| 2355 |
+
concerns["identity_traits"].extend([
|
| 2356 |
+
"๊ธฐ๋ฅ์ฑ๊ณผ ํธ์์ฑ์ด ์ต์ฐ์ ์ด์ง๋ง ๊ฐ๋ ์์๊ณ ์ถ๊ธฐ๋ ํจ",
|
| 2357 |
+
"์ค์ฉ์ ์ด๋ผ๊ณ ๋ฌด์๋นํ๋ ๊ฒ ์์ํ์ง๋ง ํฐ ์ ๋"
|
| 2358 |
+
])
|
| 2359 |
+
|
| 2360 |
+
return concerns
|
| 2361 |
+
|
| 2362 |
if __name__ == "__main__":
|
| 2363 |
app = create_main_interface()
|
| 2364 |
app.launch(server_name="0.0.0.0", server_port=7860)
|