Update app.py
Browse files
app.py
CHANGED
|
@@ -29,40 +29,28 @@ mbti_types = [
|
|
| 29 |
"ESTP", "ESFP", "ENFP", "ENTP",
|
| 30 |
]
|
| 31 |
|
| 32 |
-
def generate_date_scenario(my_name, my_gender,
|
| 33 |
-
|
| 34 |
system_prompt = f"""
|
| 35 |
당신은 MBTI 전문가이자 관계 코치입니다. 아래 요청에 따라 데이트 시나리오를 작성해주세요.
|
| 36 |
-
|
| 37 |
---
|
| 38 |
-
|
| 39 |
[대상자 정보]
|
| 40 |
-
|
| 41 |
-
- {
|
| 42 |
-
- {partner_name} ({partner_gender}): {partner_mbti}
|
| 43 |
-
|
| 44 |
[상황]
|
| 45 |
-
|
| 46 |
- {situation}
|
| 47 |
-
|
| 48 |
---
|
| 49 |
-
|
| 50 |
[요청 사항]
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
-
|
| 57 |
-
|
| 58 |
-
3. **MBTI 유형을 바탕으로 한 데이트 시나리오 작성:**
|
| 59 |
-
- 상호작용, 내면, 대화, 갈등 해결, 상대방 이해, 궁합 평가 및 조언, 유형 특성 반영 등의 요소를 포함하여 시나리오를 작성해주세요.
|
| 60 |
- 시나리오에 {my_name}과 {partner_name}의 이름, 성별, MBTI 유형이 모두 반영되어야 합니다.
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
- 각 대상자가 상대방의 MBTI 유형을 이해하고, 더 나은 관계를 형성하기 위한 실질적인 조언을 제공해주세요.
|
| 64 |
- 조언에 {my_name}과 {partner_name}의 이름, 성별, MBTI 유형이 모두 반영되어야 합니다.
|
| 65 |
-
|
| 66 |
---
|
| 67 |
"""
|
| 68 |
|
|
@@ -81,7 +69,7 @@ def generate_date_scenario(my_name, my_gender, my_mbti, partner_name, partner_ge
|
|
| 81 |
return full_text
|
| 82 |
|
| 83 |
# Streamlit 인터페이스
|
| 84 |
-
st.set_page_config(page_title="MBTI 데이트 시뮬레이터", page_icon="
|
| 85 |
|
| 86 |
colored_header(
|
| 87 |
label="💖 MBTI 데이트 시뮬레이터 💖",
|
|
@@ -94,12 +82,12 @@ with st.sidebar:
|
|
| 94 |
st.subheader("내 정보")
|
| 95 |
my_name = st.text_input("내 이름(닉네임)", "나")
|
| 96 |
my_gender = st.selectbox("내 성별", ["남성", "여성"])
|
| 97 |
-
|
| 98 |
|
| 99 |
st.subheader("상대방 정보")
|
| 100 |
partner_name = st.text_input("상대방 이름(닉네임)", "상대방")
|
| 101 |
partner_gender = st.selectbox("상대방 성별", ["남성", "여성"])
|
| 102 |
-
|
| 103 |
|
| 104 |
st.subheader("데이트 상황")
|
| 105 |
situation = st.text_area("예: 첫 만남, 영화 관람 후 저녁 식사", height=150)
|
|
@@ -107,4 +95,9 @@ with st.sidebar:
|
|
| 107 |
generate_scenario_button = st.button("💕 시나리오 생성! 💕")
|
| 108 |
|
| 109 |
# 메인 영역 출력
|
| 110 |
-
scenario_output_area = st.empty()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
"ESTP", "ESFP", "ENFP", "ENTP",
|
| 30 |
]
|
| 31 |
|
| 32 |
+
def generate_date_scenario(my_name, my_gender, my_type, partner_name, partner_gender, partner_type, situation):
|
|
|
|
| 33 |
system_prompt = f"""
|
| 34 |
당신은 MBTI 전문가이자 관계 코치입니다. 아래 요청에 따라 데이트 시나리오를 작성해주세요.
|
|
|
|
| 35 |
---
|
|
|
|
| 36 |
[대상자 정보]
|
| 37 |
+
- {my_name} ({my_gender}): {my_type} ({mbti_types.get(my_type, '알 수 없는 유형')})
|
| 38 |
+
- {partner_name} ({partner_gender}): {partner_type} ({mbti_types.get(partner_type, '알 수 없는 유형')})
|
|
|
|
|
|
|
| 39 |
[상황]
|
|
|
|
| 40 |
- {situation}
|
|
|
|
| 41 |
---
|
|
|
|
| 42 |
[요청 사항]
|
| 43 |
+
1. **{my_name} ({my_gender})의 MBTI 유형({my_type})에 대한 상세 설명:**
|
| 44 |
+
- 주요 특징, 강점과 약점, 의사소통 스타일 등을 포함하여 자세히 설명해주세요.
|
| 45 |
+
2. **{partner_name} ({partner_gender})의 MBTI 유형({partner_type})에 대한 상세 설명:**
|
| 46 |
+
- 주요 특징, 강점과 약점, 의사소통 스타일 등을 포함하여 자세히 설명해주세요.
|
| 47 |
+
3. **MBTI 유형을 바탕으로 한 구체적인 데이트 시나리오 작성:**
|
| 48 |
+
- 만남, 대화 시작, 식사, 영화 관람, 갈등 발생 및 해결 등 데이트의 각 단계를 구체적으로 묘사해주세요.
|
| 49 |
+
- 각 단계에서 {my_name}과 {partner_name}의 감정 변화와 반응을 상세히 묘사해주세요.
|
|
|
|
|
|
|
| 50 |
- 시나리오에 {my_name}과 {partner_name}의 이름, 성별, MBTI 유형이 모두 반영되어야 합니다.
|
| 51 |
+
4. **상대방을 서로 이해하기 위한 실질적인 조언:**
|
| 52 |
+
- 각 대상자가 상대방의 MBTI 유형을 이해하고, 더 나은 관계를 형성하기 위한 구체적인 상황과 행동을 예시로 제시해주세요.
|
|
|
|
| 53 |
- 조언에 {my_name}과 {partner_name}의 이름, 성별, MBTI 유형이 모두 반영되어야 합니다.
|
|
|
|
| 54 |
---
|
| 55 |
"""
|
| 56 |
|
|
|
|
| 69 |
return full_text
|
| 70 |
|
| 71 |
# Streamlit 인터페이스
|
| 72 |
+
st.set_page_config(page_title="MBTI 데이트 시뮬레이터", page_icon="💖")
|
| 73 |
|
| 74 |
colored_header(
|
| 75 |
label="💖 MBTI 데이트 시뮬레이터 💖",
|
|
|
|
| 82 |
st.subheader("내 정보")
|
| 83 |
my_name = st.text_input("내 이름(닉네임)", "나")
|
| 84 |
my_gender = st.selectbox("내 성별", ["남성", "여성"])
|
| 85 |
+
my_type = st.selectbox("내 MBTI 유형", list(mbti_types.keys()))
|
| 86 |
|
| 87 |
st.subheader("상대방 정보")
|
| 88 |
partner_name = st.text_input("상대방 이름(닉네임)", "상대방")
|
| 89 |
partner_gender = st.selectbox("상대방 성별", ["남성", "여성"])
|
| 90 |
+
partner_type = st.selectbox("상대방 MBTI 유형", list(mbti_types.keys()))
|
| 91 |
|
| 92 |
st.subheader("데이트 상황")
|
| 93 |
situation = st.text_area("예: 첫 만남, 영화 관람 후 저녁 식사", height=150)
|
|
|
|
| 95 |
generate_scenario_button = st.button("💕 시나리오 생성! 💕")
|
| 96 |
|
| 97 |
# 메인 영역 출력
|
| 98 |
+
scenario_output_area = st.empty()
|
| 99 |
+
|
| 100 |
+
if generate_scenario_button:
|
| 101 |
+
full_text = generate_date_scenario(my_name, my_gender, my_type, partner_name, partner_gender, partner_type, situation)
|
| 102 |
+
if full_text:
|
| 103 |
+
scenario_output_area.markdown(markdown.markdown(full_text), unsafe_allow_html=True)
|