|
import gradio as gr |
|
|
|
|
|
mbti_interpretations = { |
|
"INTJ": "์ ๋ต๊ฐ: ํ์ ์ ์ด๊ณ ๋
๋ฆฝ์ ์ธ ์ฌ๊ณ ๋ฅผ ๊ฐ์ง ๋น์ ์ ์ฐฝ์กฐ์์
๋๋ค.", |
|
"INFP": "์ค์ฌ์: ์ด์์ ์ด๊ณ ์ฐฝ์์ ์ธ, ํญ์ ์ ์ ์ถ๊ตฌํ๋ ์ฌ๋์
๋๋ค.", |
|
"INFJ": "์นํธ์: ์กฐ์ฉํ๊ณ ์ ๋น๋ก์ด, ์๊ฐ์ ์ฃผ๋ ์ด์์ฃผ์์์
๋๋ค.", |
|
"INTP": "๋
ผ๋ฆฌํ์: ํ์ ์ ์ธ ๋ฐ๋ช
๊ฐ๋ก, ๋
์ฐฝ์ ์ธ ์ง์์ ์ถ๊ตฌํฉ๋๋ค.", |
|
"ENTJ": "ํต์์: ๋๋ดํ๊ณ ์์๋ ฅ์ด ํ๋ถํ๋ฉฐ, ํญ์ ๋ชฉํ๋ฅผ ํฅํด ๋์๊ฐ๋๋ค.", |
|
"ENFP": "ํ๋๊ฐ: ์ด์ ์ ์ด๊ณ ์ฐฝ์์ ์ผ๋ก, ์์ ๋ก์ด ์ํผ์ ๊ฐ์ง ์ฌ๋์
๋๋ค.", |
|
"ENFJ": "์ ๋์: ์นด๋ฆฌ์ค๋ง์ ์๊ฐ์ ์ฃผ๋ ๋ฆฌ๋, ํ์ธ์ ์ฑ์ฅ์ ๋์ต๋๋ค.", |
|
"ENTP": "๋ณ๋ก ๊ฐ: ๋๋ํ๊ณ ํธ๊ธฐ์ฌ์ด ๋ง์ผ๋ฉฐ, ์ง์ ๋์ ์ ์ฆ๊น๋๋ค.", |
|
"ISFJ": "์ํธ์: ์ธ์ฌํ๊ณ ํ์ ์ ์ด๋ฉฐ, ๋ฐ๋ปํ ๋ณดํธ์์
๋๋ค.", |
|
"ISTJ": "๋
ผ๋ฆฌ์ฃผ์์: ์ค์ฉ์ ์ด๊ณ ์ฌ์ค์ ๊ธฐ๋ฐํ ๊ฒฐ์ ์ ๋ด๋ฆฝ๋๋ค.", |
|
"ISFP": "๋ชจํ๊ฐ: ์ ์ฐํ๊ณ ๋งค๋ ฅ์ ์ด๋ฉฐ, ์๋ก์ด ๊ฒฝํ์ ์ฆ๊น๋๋ค.", |
|
"ISTP": "์ฅ์ธ: ์คํ์ ์ฆ๊ธฐ๊ณ ์์ผ๋ก ๋ง๋๋ ๊ฒ์ ์ข์ํ๋ ์ฌ๋์
๋๋ค.", |
|
"ESFJ": "์ฌ๊ต์ ์ธ ์ธ๊ต๊ด: ํ๋ ฅ์ ์ด๊ณ ๋ฐ๋ปํ๋ฉฐ, ํ์ธ๊ณผ์ ์กฐํ๋ฅผ ์ค์ํฉ๋๋ค.", |
|
"ESTJ": "๊ฒฝ์์: ์ง์์ ์ฐํ๊ณ ์ฑ
์๊ฐ์ด ๊ฐํ๋ฉฐ, ์ฌ๋ฌผ์ ๊ด๋ฆฌํ๋ ๋ฐ ๋ฅ์ํฉ๋๋ค.", |
|
"ESFP": "์ฐ์์ธ: ์ฌ๊ต์ ์ด๊ณ ํ๋์ ์ด๋ฉฐ, ์ฆ๊ฑฐ์์ ์ถ๊ตฌํ๋ ์ฌ๋์
๋๋ค.", |
|
"ESTP": "์ฌ์
๊ฐ: ์๋์ง๊ฐ ๋์น๊ณ ๋๋ดํ๋ฉฐ, ํ๋์ผ๋ก ์๊ฐ์ ์ฎ๊น๋๋ค." |
|
} |
|
|
|
def calculate_mbti(*args): |
|
|
|
|
|
|
|
mbti_type = "INTJ" |
|
|
|
interpretation = mbti_interpretations[mbti_type] |
|
detailed_interpretation = f"{mbti_type}: {interpretation}\n\n์ง๋จ ํ
์คํธ ๋ด์ฉ ์ถ๊ฐ:\n{mbti_type} ์ ํ์ ์์ฐ์ค๋ฝ๊ฒ ๋ฆฌ๋์ญ์ ๋ฐํํ๋ฉฐ, ๋ณต์กํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋ฅ์ํฉ๋๋ค. ๋
๋ฆฝ์ ์ธ ์ฌ๊ณ ์ ๊ฐํ ์์ง๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์์ ์ ๋น์ ์ ํ์ค๋ก ๋ง๋ค๊ธฐ ์ํด ๋์์์ด ๋
ธ๋ ฅํฉ๋๋ค." |
|
return mbti_type, detailed_interpretation |
|
|
|
|
|
questions = [ |
|
"์๋ก์ด ์ฌ๋๋ค์ ๋ง๋ ๋ ์ฃผ๋ก ์ด๋ป๊ฒ ํ๋ํ๋์?", |
|
"๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ ์ด๋ค ์ ๊ทผ ๋ฐฉ์์ ์ ํธํ๋์?", |
|
"์ฌ๊ฐ ์๊ฐ์ ์ด๋ป๊ฒ ๋ณด๋ด๋ ๊ฒ์ ์ ํธํ๋์?", |
|
"์์ฌ ๊ฒฐ์ ์ ํ ๋ ๋ฌด์์ ๋ ์ค์ํ๊ฒ ์ฌ๊ธฐ๋์?", |
|
"ํ ํ๋ก์ ํธ๋ฅผ ํ ๋ ์ด๋ค ์ญํ ์ ์ ํธํ๋์?", |
|
"์๋ก์ด ์์ด๋์ด๋ ํ๋ก์ ํธ์ ๋ํด ์ด๋ป๊ฒ ๋๋ผ๋์?", |
|
"์คํธ๋ ์ค๋ฅผ ๋ฐ์ ๋ ์ด๋ป๊ฒ ๋์ฒํ๋์?", |
|
"ํ์ตํ ๋ ์ด๋ค ๋ฐฉ์์ ์ ํธํ๋์?", |
|
"์ผ์์์ ์ด๋ค ๊ฒ๋ค์ ๊ฐ์ฅ ๊ฐ์น๋ฅผ ๋๋์?", |
|
"๋ณํ์ ๋ํด ์ด๋ป๊ฒ ๋ฐ์ํ๋์?" |
|
] |
|
|
|
|
|
options = { |
|
"E/I": ["์ธํฅ์ (E)", "๋ดํฅ์ (I)"], |
|
"S/N": ["๊ฐ๊ฐ์ (S)", "์ง๊ด์ (N)"], |
|
"T/F": ["์ฌ๊ณ ์ (T)", "๊ฐ์ ์ (F)"], |
|
"J/P": ["ํ๋จ์ (J)", "์ธ์์ (P)"] |
|
} |
|
|
|
|
|
with gr.Blocks() as app: |
|
gr.Markdown("# MBTI ์ง๋จ ํ
์คํธ") |
|
with gr.Row(): |
|
|
|
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() |