ll7098ll commited on
Commit
5829c7a
·
verified ·
1 Parent(s): 461c838

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -49
app.py CHANGED
@@ -1,63 +1,62 @@
1
-
2
  import os
 
3
  import google.generativeai as genai
4
- import gradio as gr
5
 
 
6
  genai.configure(api_key=os.environ["GEMINI_API_KEY"])
7
 
8
- # Create the model
9
  generation_config = {
10
- "temperature": 1,
11
- "top_p": 0.95,
12
- "top_k": 64,
13
- "max_output_tokens": 8192,
14
- "response_mime_type": "text/plain",
15
  }
16
 
17
  model = genai.GenerativeModel(
18
- model_name="gemini-1.5-flash-exp-0827",
19
- generation_config=generation_config,
20
  )
21
 
22
- def generate_questions(context):
23
- """
24
- 학습 주제, 내용, 성취 기준을 포함한 문맥을 입력받아 질문을 생성하는 함수
25
- """
26
-
27
- prompt = f"""질문 수업 전문가, 학습 내용이나 목표를 입력하면
28
- 아래와 같은 유형의 질문을 각 5개 이상씩 만들어줘
29
-
30
- ## 질문 유형
31
-
32
- **1. 바탕 질문(사실적 질문)**:
33
- * 정보를 기억하고 떠올리는 능력을 평가합니다.
34
- * 명확한 답변이 존재하고, 교과서나 자료에서 직접 찾을 수 있는 정보를 묻습니다.
35
-
36
- **2. 궁금 질문(해석적 질문)**:
37
- * 정보를 분석하고 이해하는 능력을 평가합니다.
38
- * 단순히 정보를 기억하는 것을 넘어, 정보 간의 관계를 파악하고 의미를 해석하는 능력을 요구합니다.
39
-
40
- **3. 새롬 질문(적용적 질문)**:
41
- * 정보를 활용하여 문제를 해결하고 새로운 상황에 적용하는 능력을 평가합니다.
42
- * 새로운 상황이나 문제에 답변을 적용하고, 창의적인 해결책을 제시하도록 요구합니다.
43
 
44
-
45
- input: {context}
46
-
47
- output:
48
- """
49
-
50
- response = model.generate_content([prompt])
51
- return response.text
52
-
53
- # Gradio 인터페이스 생성
54
- iface = gr.Interface(
55
- fn=generate_questions,
56
- inputs=gr.Textbox(lines=10, label="학습 주제, 내용, 성취 기준자유롭게 입력하세요."),
57
- outputs=gr.Textbox(lines=20, label="생성된 질문"),
58
- title="🧠 교사용 질문 생성기",
59
- description="학습 정보를 입력 다양한 유형의 질문생성해줍니다.",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  )
61
 
62
- # 인터페이스 실행
63
- iface.launch()
 
 
 
 
 
 
 
1
  import os
2
+ import streamlit as st
3
  import google.generativeai as genai
 
4
 
5
+ # Gemini API 설정
6
  genai.configure(api_key=os.environ["GEMINI_API_KEY"])
7
 
8
+ # 모델 설정
9
  generation_config = {
10
+ "temperature": 1,
11
+ "top_p": 0.95,
12
+ "top_k": 64,
13
+ "max_output_tokens": 8192,
14
+ "response_mime_type": "text/plain",
15
  }
16
 
17
  model = genai.GenerativeModel(
18
+ model_name="gemini-1.5-flash-exp-0827",
19
+ generation_config=generation_config,
20
  )
21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
 
23
+ def generate_questions(context):
24
+ """
25
+ 학습 주제, 내용, 성취 기준을 포함한 문맥을 입력받아 질문을 생성하는 함수
26
+ """
27
+
28
+ prompt = f"""질문 수업 전문가, 학습 내용이나 목표를 입력하면
29
+ 아래와 같은 유형의 질문을 각 10개 이상씩 만들어줘
30
+ ## 질문 유형
31
+ **1. 바탕 질문(사실적 질문)**:
32
+ * 정보를 기억하고 떠올리는 능력을 평가합니다.
33
+ * 명확한 답변이 존재하고, 교과서나 자료에서 직접 찾을 수 있는 정보를 묻습니다.
34
+ **2. 궁금 질문(해석적 질문)**:
35
+ * 정보를 분석하고 이해하는 능력평가합니다.
36
+ * 단순히 정보를 기억하는 것을 넘어, 정보 간의 관계를 파악하고 의미를 해석하는 능력을 요구합니다.
37
+ **3. 새롬 질문(적용적 질문)**:
38
+ * 정보를 활용 문제를 해결하고 새로운 상황에 적용하는 능력평가합니다.
39
+ * 새로운 상황이나 문제에 답변을 적용하고, 창의적인 해결책을 제시하도록 요구합니다.
40
+ input: {context}
41
+ output:
42
+ """
43
+
44
+ response = model.generate_content([prompt])
45
+ return response.text
46
+
47
+
48
+ # Streamlit 앱 제목
49
+ st.title("🧠 교사용 질문 생성기")
50
+
51
+ # 입력 텍스트 박스
52
+ context = st.text_area(
53
+ "학습 주제, 내용, 성취 기준을 자유롭게 입력하세요.", height=200
54
  )
55
 
56
+ # 질문 생성 버튼
57
+ if st.button("질문 생성"):
58
+ # 질문 생성 함수 호출
59
+ questions = generate_questions(context)
60
+
61
+ # 생성된 질문 출력
62
+ st.text_area("생성된 질문", questions, height=400)