Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -5,7 +5,7 @@ import google.generativeai as genai
|
|
| 5 |
from streamlit_extras.colored_header import colored_header
|
| 6 |
from streamlit_extras.add_vertical_space import add_vertical_space
|
| 7 |
import markdown
|
| 8 |
-
from streamlit_extras.stoggle import stoggle
|
| 9 |
|
| 10 |
# Google Gemini API Key 설정
|
| 11 |
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
|
|
@@ -26,23 +26,23 @@ model = genai.GenerativeModel(
|
|
| 26 |
|
| 27 |
def generate_pairing_recommendation(input_text, input_type, situation):
|
| 28 |
"""
|
| 29 |
-
입력받은
|
| 30 |
Args:
|
| 31 |
-
input_text (str):
|
| 32 |
-
input_type (str): 입력 종류 ('
|
| 33 |
situation (str): 상황 또는 분위기 정보
|
| 34 |
Returns:
|
| 35 |
str: 생성된 페어링 정보
|
| 36 |
"""
|
| 37 |
|
| 38 |
SYSTEM_PROMPT = f"""
|
| 39 |
-
당신은
|
| 40 |
-
사용자가
|
| 41 |
-
한국인의 취향에 맞는
|
| 42 |
상황이나 분위기를 반드시 고려하여 최적의 페어링을 추천해주세요. 상황이나 분위기에 맞춘 특별한 추천 이유를 추가하고, 해당 상황에 적합한 맛과 향의 요소를 강조해주세요.
|
| 43 |
다음은 페어링 추천에 필요한 정보입니다.
|
| 44 |
**페어링 구성 요소:**
|
| 45 |
-
1. 추천
|
| 46 |
2. 맛과 향 설명
|
| 47 |
3. 추천 이유
|
| 48 |
4. 추가 추천 페어링
|
|
@@ -66,16 +66,16 @@ def generate_pairing_recommendation(input_text, input_type, situation):
|
|
| 66 |
|
| 67 |
# Streamlit Interface
|
| 68 |
st.set_page_config(
|
| 69 |
-
page_title="
|
| 70 |
-
page_icon="
|
| 71 |
layout="centered",
|
| 72 |
initial_sidebar_state="expanded",
|
| 73 |
)
|
| 74 |
|
| 75 |
colored_header(
|
| 76 |
-
label="
|
| 77 |
-
description="
|
| 78 |
-
color_name="
|
| 79 |
)
|
| 80 |
|
| 81 |
add_vertical_space(1)
|
|
@@ -84,22 +84,22 @@ add_vertical_space(1)
|
|
| 84 |
st.sidebar.markdown("## 🛌️ 입력 정보")
|
| 85 |
|
| 86 |
# 사용자 입력 영역 (사이드바로 이동)
|
| 87 |
-
tabs = st.sidebar.tabs(["
|
| 88 |
|
| 89 |
with tabs[0]:
|
| 90 |
-
st.markdown("####
|
| 91 |
-
|
| 92 |
|
| 93 |
with tabs[1]:
|
| 94 |
-
st.markdown("####
|
| 95 |
-
|
| 96 |
|
| 97 |
-
input_type = "
|
| 98 |
-
input_text =
|
| 99 |
|
| 100 |
# 상황 또는 분위기 입력 (사이드바로 이동)
|
| 101 |
st.sidebar.markdown("#### 상황이나 분위기를 입력해 주세요:")
|
| 102 |
-
situation = st.sidebar.text_area("예: 친구들과의
|
| 103 |
|
| 104 |
generate_button = st.sidebar.button("🍻 페어링 추천 받기")
|
| 105 |
|
|
@@ -121,6 +121,6 @@ if generate_button and input_text:
|
|
| 121 |
# 추가 정보 및 FAQ
|
| 122 |
add_vertical_space(2)
|
| 123 |
stoggle(
|
| 124 |
-
"📜
|
| 125 |
-
"이 앱은
|
| 126 |
-
)
|
|
|
|
| 5 |
from streamlit_extras.colored_header import colored_header
|
| 6 |
from streamlit_extras.add_vertical_space import add_vertical_space
|
| 7 |
import markdown
|
| 8 |
+
from streamlit_extras.stoggle import stoggle
|
| 9 |
|
| 10 |
# Google Gemini API Key 설정
|
| 11 |
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
|
|
|
|
| 26 |
|
| 27 |
def generate_pairing_recommendation(input_text, input_type, situation):
|
| 28 |
"""
|
| 29 |
+
입력받은 티 또는 다과에 어울리는 페어링 정보를 생성합니다.
|
| 30 |
Args:
|
| 31 |
+
input_text (str): 티 또는 다과 정보
|
| 32 |
+
input_type (str): 입력 종류 ('티' 또는 '다과')
|
| 33 |
situation (str): 상황 또는 분위기 정보
|
| 34 |
Returns:
|
| 35 |
str: 생성된 페어링 정보
|
| 36 |
"""
|
| 37 |
|
| 38 |
SYSTEM_PROMPT = f"""
|
| 39 |
+
당신은 티 페어링 전문가입니다.
|
| 40 |
+
사용자가 티 또는 다과를 입력하면, 상황/분위기: {situation}를 고려하여 해당 티에 어울리는 다과 또는 해당 다과에 어울리는 티를 구체적으로 설명해주세요. 또한 각각의 특징, 맛, 향, 그리고 추천 이유를 포함하여 상세하게 작성해주세요.
|
| 41 |
+
한국인의 취향에 맞는 티나 다과를 추천해주세요. 추천 점수를 10점 만점으로 표현해주세요. 티나 다과 추천은 종류별로 다양하게 해주세요.(4가지 이상)
|
| 42 |
상황이나 분위기를 반드시 고려하여 최적의 페어링을 추천해주세요. 상황이나 분위기에 맞춘 특별한 추천 이유를 추가하고, 해당 상황에 적합한 맛과 향의 요소를 강조해주세요.
|
| 43 |
다음은 페어링 추천에 필요한 정보입니다.
|
| 44 |
**페어링 구성 요소:**
|
| 45 |
+
1. 추천 티/다과 소개
|
| 46 |
2. 맛과 향 설명
|
| 47 |
3. 추천 이유
|
| 48 |
4. 추가 추천 페어링
|
|
|
|
| 66 |
|
| 67 |
# Streamlit Interface
|
| 68 |
st.set_page_config(
|
| 69 |
+
page_title="티 페어링 도우미",
|
| 70 |
+
page_icon="🍵",
|
| 71 |
layout="centered",
|
| 72 |
initial_sidebar_state="expanded",
|
| 73 |
)
|
| 74 |
|
| 75 |
colored_header(
|
| 76 |
+
label="🍵 티 페어링 도우미",
|
| 77 |
+
description="티 또는 다과를 입력하시면 어울리는 페어링 정보를 추천해드립니다. 한국인의 입맛에 딱 맞는 페어링 정보를 찾아보세요!",
|
| 78 |
+
color_name="green-70",
|
| 79 |
)
|
| 80 |
|
| 81 |
add_vertical_space(1)
|
|
|
|
| 84 |
st.sidebar.markdown("## 🛌️ 입력 정보")
|
| 85 |
|
| 86 |
# 사용자 입력 영역 (사이드바로 이동)
|
| 87 |
+
tabs = st.sidebar.tabs(["🍭 다과 입력", "🍵 티 입력"])
|
| 88 |
|
| 89 |
with tabs[0]:
|
| 90 |
+
st.markdown("#### 다과를 입력해 주세요:")
|
| 91 |
+
input_text_snack = st.text_input("예: 마카롱, 스콘, 다크 초콜릿 등")
|
| 92 |
|
| 93 |
with tabs[1]:
|
| 94 |
+
st.markdown("#### 티를 입력해 주세요:")
|
| 95 |
+
input_text_tea = st.text_input("예: 녹차, 홍차, 캐모마일 등")
|
| 96 |
|
| 97 |
+
input_type = "다과" if input_text_snack else "티"
|
| 98 |
+
input_text = input_text_snack if input_text_snack else input_text_tea
|
| 99 |
|
| 100 |
# 상황 또는 분위기 입력 (사이드바로 이동)
|
| 101 |
st.sidebar.markdown("#### 상황이나 분위기를 입력해 주세요:")
|
| 102 |
+
situation = st.sidebar.text_area("예: 오후의 여유로운 시간, 친구들과의 티타임, 집중이 필요한 공부 시간 등", height=100)
|
| 103 |
|
| 104 |
generate_button = st.sidebar.button("🍻 페어링 추천 받기")
|
| 105 |
|
|
|
|
| 121 |
# 추가 정보 및 FAQ
|
| 122 |
add_vertical_space(2)
|
| 123 |
stoggle(
|
| 124 |
+
"📜 티 페어링 FAQ",
|
| 125 |
+
"이 앱은 티와 다과에 대한 전문적인 페어링 정보를 제공합니다. 한국인의 입맛에 맞춘 추천을 통해 최고의 티와 다과 조합을 즐기세요!\n\n\n**Q: 모든 티와 다과를 추천받을 수 있나요?**\n\nA: 예, 다양한 티와 다과에 대해 추천받을 수 있으며, 지속적으로 업데이트됩니다.",
|
| 126 |
+
)
|