File size: 2,220 Bytes
5d5df43 1d355ad fabb74d 22032f3 fabb74d 79f7c7e 122580d fabb74d 1855eaa fabb74d 5d5df43 fabb74d d623fff cb8f0ba d623fff 5d5df43 5803d11 fabb74d 39688bd 5d5df43 5803d11 fabb74d 5803d11 fabb74d 217a78d fabb74d 5803d11 fabb74d feb03cf fabb74d e39486f 940b028 5d5df43 940b028 5803d11 39688bd 03d0703 fabb74d 8683182 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | import gradio as gr
import google.generativeai as genai
import os
import time
# Google Gemini API ํค ์ค์
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
# ๋ชจ๋ธ ์ค์
generation_config = {
"temperature": 1,
"top_p": 0.8,
"top_k": 64,
"max_output_tokens": 8192,
"response_mime_type": "text/plain",
}
model = genai.GenerativeModel(
model_name="gemini-2.0-flash",
generation_config=generation_config,
)
# ์์คํ
ํ๋กฌํํธ
SYSTEM_PROMPT = """
๋น์ ์ ์ฐฝ์์ ์ธ ๋ฐ๋ช
๊ฐ์ด์ ๋ง์ดํฌ๋ก๋นํธ ์ ๋ฌธ๊ฐ์
๋๋ค. Python ์ฝ๋ฉ ์ ๋ฌธ๊ฐ์
๋๋ค.
์ฌ์ฉ์๊ฐ ์ ํํ ๋ง์ดํฌ๋ก๋นํธ ์ผ์ ์กฐํฉ์ ๊ธฐ๋ฐ์ผ๋ก,
ํฅ๋ฏธ๋กญ๊ณ ์ค์ฉ์ ์ธ ๋ฐ๋ช
ํ ์์ด๋์ด๋ฅผ 3๊ฐ์ง ์ด์ ์ ์ํด์ฃผ์ธ์.
์ต๋ํ ๋ค์ํ ๋ถ์ผ์ ์ฌ๋ก๋ฅผ ์ ๊ณตํด์ผ ํ๋ฉฐ, ํน์ดํ๊ณ ์ฐฝ์์ ์ธ ์์ด๋์ด๋ฅผ ์ฐ์ ์ ์ผ๋ก ์ ์ํด์ผ ํฉ๋๋ค.
์
๋ ฅํ ๋๋ง๋ค ๋ค๋ฅธ ๋ฐ๋ช
ํ์ ์ถ๋ ฅํด์ผ ํฉ๋๋ค.
**์๋ต ํ์:**
1. **๋ฌธ์ ์ํฉ ๋ถ์:** (์
๋ ฅ๋ ๋ฌธ์ ์ํฉ์ ๋ํ ๋ถ์)
2. **ํด๊ฒฐ ๋ฐฉ์:** (๋ง์ดํฌ๋ก๋นํธ๋ฅผ ์ด์ฉํ ํด๊ฒฐ ๋ฐฉ์ ์ ์)
3. **ํ์ฉ ์ผ์:** (ํ์ํ ์ผ์ ๋ชฉ๋ก)
4. **์์ธ ์ค๋ช
:** (ํด๊ฒฐ ๋ฐฉ์์ ๋ํ ์์ธํ ์ค๋ช
, ๋ง์ดํฌ๋ก๋นํธ ๋์ ๋ฐฉ์, ํ์ฉ ์์ ํฌํจ)
"""
def generate_solution(problem_situation):
"""
์
๋ ฅ๋ ๋ฌธ์ ์ํฉ์ ๋ํ ๋ง์ดํฌ๋ก๋นํธ ๊ธฐ๋ฐ ํด๊ฒฐ ๋ฐฉ์์ ์์ฑํฉ๋๋ค.
"""
prompt = [
SYSTEM_PROMPT,
f"**๋ฌธ์ ์ํฉ:** {problem_situation}",
]
response = model.generate_content(prompt, stream=True)
collected_text = ""
for token in response:
chunk = token.text
collected_text += chunk
yield collected_text
time.sleep(0.03)
# Gradio ์ธํฐํ์ด์ค ์ค์
iface = gr.Interface(
fn=generate_solution,
inputs=gr.Textbox(lines=5, label="๋ฌธ์ ์ํฉ"),
outputs=gr.Textbox(lines=15, label="๋ง์ดํฌ๋ก๋นํธ ํด๊ฒฐ ๋ฐฉ์"),
title="๋ง์ดํฌ๋ก๋นํธ ๋ฌธ์ ํด๊ฒฐ ๋์ฐ๋ฏธ",
description="๋ฌธ์ ์ํฉ์ ์
๋ ฅํ๋ฉด, ๋ง์ดํฌ๋ก๋นํธ๋ฅผ ํ์ฉํ ํด๊ฒฐ ๋ฐฉ์์ ์ ์ํด์ค๋๋ค.",
)
# ์ธํฐํ์ด์ค ์คํ
iface.launch() |