sciencefair / app.py
ll7098ll's picture
Update app.py
cc0ee74 verified
raw
history blame contribute delete
No virus
1.79 kB
import os
import time
import gradio as gr
import google.generativeai as genai
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
# Create the model
generation_config = {
"temperature": 1,
"top_p": 0.95,
"top_k": 64,
"max_output_tokens": 8192,
"response_mime_type": "text/plain",
}
model = genai.GenerativeModel(
model_name="gemini-1.5-pro-exp-0827",
generation_config=generation_config,
)
def generate_research_plan(question):
"""
์งˆ๋ฌธ์ด๋‚˜ ํƒ๊ตฌ์ฃผ์ œ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ํ†ตํ•ฉํƒ๊ตฌ ๊ณ„ํš์„ ์ƒ์„ฑํ•˜๋Š” ํ•จ์ˆ˜
"""
# ์ „์ฒด ํ”„๋กฌํ”„ํŠธ ์ƒ์„ฑ
prompt = f"""ํ•™์ƒ๋“ค์ด ์งˆ๋ฌธ์ด๋‚˜ ํƒ๊ตฌ์ฃผ์ œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ณผํ•™์ž๋กœ์„œ ํ†ตํ•ฉํƒ๊ตฌ์˜ ์ ˆ์ฐจ์— ๋”ฐ๋ผ ์‹คํ—˜์„ ๊ตฌ์ฒด์ , ๋‹จ๊ณ„์ , ์ฒด๊ณ„์ ์œผ๋กœ ์„ค๊ณ„ํ•˜๊ณ  ์˜ˆ์ƒ๋˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์„ค๋ช…ํ•ด์ค˜.
์งˆ๋ฌธ ๋ฐ ํƒ๊ตฌ ์ฃผ์ œ: {question}
ํ†ตํ•ฉํƒ๊ตฌ ๊ณผ์ •:
1. ๋ฌธ์ œ ์ธ์‹:
2. ๊ฐ€์„ค ์„ค์ •:
3. ๋ณ€์ธ ํ†ต์ œ:
4. ์ž๋ฃŒ ํ•ด์„ ๋ฐฉ๋ฒ• ๋ฐ ์ ˆ์ฐจ:
5. ๊ฒฐ๋ก  ๋„์ถœ ๋ฐฉ๋ฒ• ๋ฐ ์ ˆ์ฐจ:
6. ์˜ˆ์ƒ๋˜๋Š” ์ผ๋ฐ˜ํ™”:
7. ํƒ๊ตฌ๋ฅผ ์œ„ํ•œ ํŒ:"""
# ์ดˆ๊ธฐ ๋นˆ ํ…์ŠคํŠธ ์ถœ๋ ฅ
full_text = ""
yield full_text
try:
# ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐฉ์‹์œผ๋กœ ์‘๋‹ต ์ƒ์„ฑ
response = model.generate_content([prompt], stream=True)
for chunk in response:
full_text += chunk.text
yield full_text
time.sleep(0.05)
except Exception as e:
yield f"์—๋Ÿฌ ๋ฐœ์ƒ: {str(e)}"
# Gradio ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ
iface = gr.Interface(
fn=generate_research_plan,
inputs=gr.Textbox(lines=5, label="์งˆ๋ฌธ์ด๋‚˜ ํƒ๊ตฌ์ฃผ์ œ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”"),
outputs=gr.Textbox(lines=10, label="ํ†ตํ•ฉํƒ๊ตฌ ๊ณ„ํš"),
title="๐Ÿ”ฌ ํ†ตํ•ฉํƒ๊ตฌ ๊ณ„ํš ์ƒ์„ฑ๊ธฐ",
description="๊ณผํ•™ ํƒ๊ตฌ ์ฃผ์ œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๊ณ„ํš์„ ์„ธ์šฐ์„ธ์š”!"
)
# ์ธํ„ฐํŽ˜์ด์Šค ์‹คํ–‰
iface.launch()