File size: 4,027 Bytes
d98be9d 87fd85c d98be9d c1d7a8d 87fd85c c1d7a8d 87fd85c c1d7a8d d98be9d 87fd85c d98be9d 87fd85c d98be9d af4d27d 87fd85c c1d7a8d af4d27d 87fd85c c1d7a8d 87fd85c |
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 |
import gradio as gr
# MBTI ์ ํ๋ณ ํด์
mbti_interpretations = {
"INTJ": "์ ๋ต๊ฐ: ํ์ ์ ์ด๊ณ ๋
๋ฆฝ์ ์ธ ์ฌ๊ณ ๋ฅผ ๊ฐ์ง ๋น์ ์ ์ฐฝ์กฐ์์
๋๋ค.",
"INFP": "์ค์ฌ์: ์ด์์ ์ด๊ณ ์ฐฝ์์ ์ธ, ํญ์ ์ ์ ์ถ๊ตฌํ๋ ์ฌ๋์
๋๋ค.",
"INFJ": "์นํธ์: ์กฐ์ฉํ๊ณ ์ ๋น๋ก์ด, ์๊ฐ์ ์ฃผ๋ ์ด์์ฃผ์์์
๋๋ค.",
"INTP": "๋
ผ๋ฆฌํ์: ํ์ ์ ์ธ ๋ฐ๋ช
๊ฐ๋ก, ๋
์ฐฝ์ ์ธ ์ง์์ ์ถ๊ตฌํฉ๋๋ค.",
"ENTJ": "ํต์์: ๋๋ดํ๊ณ ์์๋ ฅ์ด ํ๋ถํ๋ฉฐ, ํญ์ ๋ชฉํ๋ฅผ ํฅํด ๋์๊ฐ๋๋ค.",
"ENFP": "ํ๋๊ฐ: ์ด์ ์ ์ด๊ณ ์ฐฝ์์ ์ผ๋ก, ์์ ๋ก์ด ์ํผ์ ๊ฐ์ง ์ฌ๋์
๋๋ค.",
"ENFJ": "์ ๋์: ์นด๋ฆฌ์ค๋ง์ ์๊ฐ์ ์ฃผ๋ ๋ฆฌ๋, ํ์ธ์ ์ฑ์ฅ์ ๋์ต๋๋ค.",
"ENTP": "๋ณ๋ก ๊ฐ: ๋๋ํ๊ณ ํธ๊ธฐ์ฌ์ด ๋ง์ผ๋ฉฐ, ์ง์ ๋์ ์ ์ฆ๊น๋๋ค.",
"ISFJ": "์ํธ์: ์ธ์ฌํ๊ณ ํ์ ์ ์ด๋ฉฐ, ๋ฐ๋ปํ ๋ณดํธ์์
๋๋ค.",
"ISTJ": "๋
ผ๋ฆฌ์ฃผ์์: ์ค์ฉ์ ์ด๊ณ ์ฌ์ค์ ๊ธฐ๋ฐํ ๊ฒฐ์ ์ ๋ด๋ฆฝ๋๋ค.",
"ISFP": "๋ชจํ๊ฐ: ์ ์ฐํ๊ณ ๋งค๋ ฅ์ ์ด๋ฉฐ, ์๋ก์ด ๊ฒฝํ์ ์ฆ๊น๋๋ค.",
"ISTP": "์ฅ์ธ: ์คํ์ ์ฆ๊ธฐ๊ณ ์์ผ๋ก ๋ง๋๋ ๊ฒ์ ์ข์ํ๋ ์ฌ๋์
๋๋ค.",
"ESFJ": "์ฌ๊ต์ ์ธ ์ธ๊ต๊ด: ํ๋ ฅ์ ์ด๊ณ ๋ฐ๋ปํ๋ฉฐ, ํ์ธ๊ณผ์ ์กฐํ๋ฅผ ์ค์ํฉ๋๋ค.",
"ESTJ": "๊ฒฝ์์: ์ง์์ ์ฐํ๊ณ ์ฑ
์๊ฐ์ด ๊ฐํ๋ฉฐ, ์ฌ๋ฌผ์ ๊ด๋ฆฌํ๋ ๋ฐ ๋ฅ์ํฉ๋๋ค.",
"ESFP": "์ฐ์์ธ: ์ฌ๊ต์ ์ด๊ณ ํ๋์ ์ด๋ฉฐ, ์ฆ๊ฑฐ์์ ์ถ๊ตฌํ๋ ์ฌ๋์
๋๋ค.",
"ESTP": "์ฌ์
๊ฐ: ์๋์ง๊ฐ ๋์น๊ณ ๋๋ดํ๋ฉฐ, ํ๋์ผ๋ก ์๊ฐ์ ์ฎ๊น๋๋ค."
}
def calculate_mbti(*args):
# ๋จ์ํ๋ MBTI ์ ํ ๊ณ์ฐ ๋ก์ง
# args๋ ์ฌ์ฉ์๊ฐ ๊ฐ ์ง๋ฌธ์ ๋ํด ์ ํํ ์ต์
๋ค์ ๋ฆฌ์คํธ
# ์ฌ๊ธฐ์๋ ๋จ์ํ๋ฅผ ์ํด ํญ์ "INTJ"๋ฅผ ๋ฐํํ๋๋ก ์ค์
mbti_type = "INTJ" # ์์๋ก INTJ๋ฅผ ์ ํ
# MBTI ์ ํ๊ณผ ํด์์ ๋ฐํ
interpretation = mbti_interpretations[mbti_type]
detailed_interpretation = f"{mbti_type}: {interpretation}\n\n์ง๋จ ํ
์คํธ ๋ด์ฉ ์ถ๊ฐ:\n{mbti_type} ์ ํ์ ์์ฐ์ค๋ฝ๊ฒ ๋ฆฌ๋์ญ์ ๋ฐํํ๋ฉฐ, ๋ณต์กํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋ฅ์ํฉ๋๋ค. ๋
๋ฆฝ์ ์ธ ์ฌ๊ณ ์ ๊ฐํ ์์ง๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์์ ์ ๋น์ ์ ํ์ค๋ก ๋ง๋ค๊ธฐ ์ํด ๋์์์ด ๋
ธ๋ ฅํฉ๋๋ค."
return mbti_type, detailed_interpretation
# ์ง๋ฌธ ๋ฆฌ์คํธ
questions = [
"์๋ก์ด ์ฌ๋๋ค์ ๋ง๋ ๋ ์ฃผ๋ก ์ด๋ป๊ฒ ํ๋ํ๋์?",
"๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ ์ด๋ค ์ ๊ทผ ๋ฐฉ์์ ์ ํธํ๋์?",
"์ฌ๊ฐ ์๊ฐ์ ์ด๋ป๊ฒ ๋ณด๋ด๋ ๊ฒ์ ์ ํธํ๋์?",
"์์ฌ ๊ฒฐ์ ์ ํ ๋ ๋ฌด์์ ๋ ์ค์ํ๊ฒ ์ฌ๊ธฐ๋์?",
"ํ ํ๋ก์ ํธ๋ฅผ ํ ๋ ์ด๋ค ์ญํ ์ ์ ํธํ๋์?",
"์๋ก์ด ์์ด๋์ด๋ ํ๋ก์ ํธ์ ๋ํด ์ด๋ป๊ฒ ๋๋ผ๋์?",
"์คํธ๋ ์ค๋ฅผ ๋ฐ์ ๋ ์ด๋ป๊ฒ ๋์ฒํ๋์?",
"ํ์ตํ ๋ ์ด๋ค ๋ฐฉ์์ ์ ํธํ๋์?",
"์ผ์์์ ์ด๋ค ๊ฒ๋ค์ ๊ฐ์ฅ ๊ฐ์น๋ฅผ ๋๋์?",
"๋ณํ์ ๋ํด ์ด๋ป๊ฒ ๋ฐ์ํ๋์?"
]
# ์ต์
์ MBTI ์ฑํฅ์ ๋ง๊ฒ ์์
options = {
"E/I": ["์ธํฅ์ (E)", "๋ดํฅ์ (I)"],
"S/N": ["๊ฐ๊ฐ์ (S)", "์ง๊ด์ (N)"],
"T/F": ["์ฌ๊ณ ์ (T)", "๊ฐ์ ์ (F)"],
"J/P": ["ํ๋จ์ (J)", "์ธ์์ (P)"]
}
# Gradio ์ฑ ์ ์
with gr.Blocks() as app:
gr.Markdown("# MBTI ์ง๋จ ํ
์คํธ")
with gr.Row():
# ๊ฐ ์ง๋ฌธ์ ๋ํด MBTI ์ฑํฅ์ ๋ง๋ ์ต์
์ ์ ๊ณต
answers = [gr.Radio(options[key], label=question) for key, question in zip(options.keys(), questions)]
submit_button = gr.Button("๊ฒฐ๊ณผ ๋ณด๊ธฐ")
output_mbti, output_interpretation = gr.Textbox(label="๋น์ ์ MBTI ์ ํ"), gr.Textbox(label="์ ํ ํด์ ๋ฐ ์ง๋จ ํ
์คํธ ๋ด์ฉ", lines=10)
submit_button.click(fn=calculate_mbti, inputs=answers, outputs=[output_mbti, output_interpretation])
if __name__ == "__main__":
app.launch() |