ll7098ll commited on
Commit
3bdd93c
·
verified ·
1 Parent(s): 002f17a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -8
app.py CHANGED
@@ -7,6 +7,30 @@ import streamlit as st
7
  # Google Gemini API 설정
8
  genai.configure(api_key=os.environ["GEMINI_API_KEY"])
9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  def generate_text(grade, num_paragraphs, sentences_per_paragraph, structure, topic):
11
  generation_config = {
12
  "temperature": 0.3,
@@ -37,7 +61,7 @@ def generate_text(grade, num_paragraphs, sentences_per_paragraph, structure, top
37
  response = model.generate_content(prompt, stream=True)
38
  for chunk in response:
39
  full_text += chunk.text
40
- text_area.text_area("읽기 자료", value=full_text, height=200) # 텍스트 에어리어 업데트된 텍스트 출력
41
  time.sleep(0.05)
42
 
43
  except Exception as e:
@@ -45,14 +69,20 @@ def generate_text(grade, num_paragraphs, sentences_per_paragraph, structure, top
45
 
46
 
47
  # Streamlit 인터페이스 설정
48
- st.title("초등학생을 위한 읽기 자료 생성기")
49
  st.write("주제를 입력하면 초등학생이 이해하기 쉬운 읽기 자료를 만들어줍니다.")
50
 
51
- grade = st.selectbox("학년", [str(i) for i in range(1, 7)], index=0)
52
- num_paragraphs = st.number_input("문단 수", min_value=1, value=3)
53
- sentences_per_paragraph = st.selectbox("문단 당 문장 수", ["3-4", "5-6", "6-7", "7-8", "9-10"], index=0)
54
- structure = st.selectbox("설명문 구조", ["정의와 예시", "비교와 대조", "분류", "분석", "인과", "순서"], index=0)
55
- topic = st.text_area("주제 및 내용을 입력하세요", height=100)
 
 
 
 
 
56
 
57
- if st.button("읽기 자료 생성"):
 
58
  generate_text(grade, num_paragraphs, sentences_per_paragraph, structure, topic)
 
7
  # Google Gemini API 설정
8
  genai.configure(api_key=os.environ["GEMINI_API_KEY"])
9
 
10
+ # 스타일 설정
11
+ st.markdown(
12
+ """
13
+ <style>
14
+ .stApp {
15
+ background-color: #f0f2f6; /* 배경색 설정 */
16
+ }
17
+ .stTextInput>div>div>textarea {
18
+ font-size: 16px; /* 텍스트 입력 영역 폰트 크기 조정 */
19
+ }
20
+ .stButton>button {
21
+ background-color: #4CAF50; /* 버튼 배경색 설정 */
22
+ color: white; /* 버튼 텍스트 색상 설정 */
23
+ padding: 10px 20px; /* 버튼 패딩 설정 */
24
+ border: none; /* 버튼 테두리 없애기 */
25
+ border-radius: 5px; /* 버튼 모서리 둥글게 */
26
+ cursor: pointer; /* 마우스 커서 모양 변경 */
27
+ }
28
+ </style>
29
+ """,
30
+ unsafe_allow_html=True,
31
+ )
32
+
33
+
34
  def generate_text(grade, num_paragraphs, sentences_per_paragraph, structure, topic):
35
  generation_config = {
36
  "temperature": 0.3,
 
61
  response = model.generate_content(prompt, stream=True)
62
  for chunk in response:
63
  full_text += chunk.text
64
+ text_area.text_area("읽기 자료", value=full_text, height=300) # 텍스트 에어리어 조정
65
  time.sleep(0.05)
66
 
67
  except Exception as e:
 
69
 
70
 
71
  # Streamlit 인터페이스 설정
72
+ st.title("📖 초등학생을 위한 읽기 자료 생성기 📖") # 이모지 추가
73
  st.write("주제를 입력하면 초등학생이 이해하기 쉬운 읽기 자료를 만들어줍니다.")
74
 
75
+ # 사이드바 이용
76
+ with st.sidebar:
77
+ st.header("옵션 설정")
78
+ grade = st.selectbox("학년", [str(i) for i in range(1, 7)], index=0)
79
+ num_paragraphs = st.number_input("문단 ", min_value=1, value=3)
80
+ sentences_per_paragraph = st.selectbox("문단 당 문장 수", ["3-4", "5-6", "6-7", "7-8", "9-10"], index=0)
81
+ structure = st.selectbox("설명문 구조", ["정의와 예시", "비교와 대조", "분류", "분석", "인과", "순서"], index=0)
82
+
83
+ # 주제 입력 영역
84
+ topic = st.text_area("✏️ 주제 및 내용을 입력하세요 ✏️", height=150) # 이모지 추가, 높이 조정
85
 
86
+ # 버튼 스타일 변경
87
+ if st.button("✨ 읽기 자료 생성 ✨"): # 이모지 추가
88
  generate_text(grade, num_paragraphs, sentences_per_paragraph, structure, topic)