ll7098ll commited on
Commit
7a425d6
·
verified ·
1 Parent(s): 8ccc88e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -28
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, my_mbti, partner_name, partner_gender, partner_mbti, situation):
33
-
34
  system_prompt = f"""
35
  당신은 MBTI 전문가이자 관계 코치입니다. 아래 요청에 따라 데이트 시나리오를 작성해주세요.
36
-
37
  ---
38
-
39
  [대상자 정보]
40
-
41
- - {my_name} ({my_gender}): {my_mbti}
42
- - {partner_name} ({partner_gender}): {partner_mbti}
43
-
44
  [상황]
45
-
46
  - {situation}
47
-
48
  ---
49
-
50
  [요청 사항]
51
-
52
- 1. **{my_name} ({my_gender})MBTI 유형({my_mbti})에 대한 세 설명:**
53
- - 핵심 가치, 성격적 특징, 강점과 약점, 주 등을 포함하여 설명해주세요.
54
-
55
- 2. **{partner_name} ({partner_gender})의 MBTI 유형({partner_mbti})에 상세 설명:**
56
- - 핵심 가치, 성격적 특징, 강점과 약점, 주의할 포함하여 자세히 설명해주세요.
57
-
58
- 3. **MBTI 유형을 바탕으로 한 데이트 시나리오 작성:**
59
- - 상호작용, 내면, 대화, 갈등 해결, 상대방 이해, 궁합 평가 및 조언, 유형 특성 반영 등의 요소를 포함하여 시나리오를 작성해주세요.
60
  - 시나리오에 {my_name}과 {partner_name}의 이름, 성별, MBTI 유형이 모두 반영되어야 합니다.
61
-
62
- 4. **상대방 서로 이해하기 위한 조언:**
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
- my_mbti = st.selectbox("내 MBTI 유형", mbti_types)
98
 
99
  st.subheader("상대방 정보")
100
  partner_name = st.text_input("상대방 이름(닉네임)", "상대방")
101
  partner_gender = st.selectbox("상대방 성별", ["남성", "여성"])
102
- partner_mbti = st.selectbox("상대방 MBTI 유형", mbti_types)
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)