Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -2,8 +2,7 @@ import gradio as gr
|
|
2 |
import google.generativeai as genai
|
3 |
import os
|
4 |
|
5 |
-
#
|
6 |
-
# μμ: IT λ° μ½λ© μ§λ¬Έμ μ λ¬Έμ μΌλ‘ λ΅λ³νλ AI μ΄μμ€ν΄νΈ
|
7 |
SYSTEM_PROMPT = "λ°ν λλ³Έμ λ§λ€μ΄μ£Όλ μ±λ΄μ
λλ€. λ°νν λ΄μ©μ μ
λ ₯νλ©΄ 'μλνλ©΄ ~μ΄κΈ° λλ¬Έμ
λλ€'λ‘ λλ³Έμ λ§λ€μ΄μ€λλ€"
|
8 |
|
9 |
# API ν€ μ€μ
|
@@ -12,18 +11,12 @@ if api_key:
|
|
12 |
genai.configure(api_key=api_key)
|
13 |
|
14 |
def chat(message, history):
|
15 |
-
# --- μμ 1: λ€μ¬μ°κΈ° μμ ---
|
16 |
-
# if λ¬Έ μλμ λͺ¨λ μ½λλ 4μΉΈ λ€μ¬μ°κΈ°κ° νμν©λλ€
|
17 |
if not api_key:
|
18 |
-
return "β API ν€κ° μ€μ λμ§ μμμ΅λλ€.
|
19 |
|
20 |
-
# --- μμ 2: try λΈλ‘ λ€μ¬μ°κΈ° μμ ---
|
21 |
-
# try λΈλ‘μ΄ if λ¬Έκ³Ό λμΌν λ 벨μ μλλ‘ μμ
|
22 |
try:
|
23 |
-
# --- μμ 3: λͺ¨λΈλͺ
λ³κ²½ ---
|
24 |
-
# 'gemini-2.0-flash' β 'gemini-1.5-flash'λ‘ λ³κ²½ (νμ¬ μ¬μ© κ°λ₯ν λͺ¨λΈ)
|
25 |
model = genai.GenerativeModel(
|
26 |
-
'gemini-1.5-flash',
|
27 |
system_instruction=SYSTEM_PROMPT
|
28 |
)
|
29 |
|
@@ -35,28 +28,59 @@ def chat(message, history):
|
|
35 |
if assistant:
|
36 |
chat_history.append({"role": "model", "parts": [assistant]})
|
37 |
|
38 |
-
# μ±ν
μΈμ
μμ
|
39 |
chat_session = model.start_chat(history=chat_history)
|
40 |
-
|
41 |
-
# μλ΅ μμ±
|
42 |
response = chat_session.send_message(message)
|
43 |
-
|
|
|
|
|
|
|
44 |
|
45 |
except Exception as e:
|
46 |
-
|
|
|
47 |
|
48 |
-
#
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
-
# --- μμ 5: __name__ μμ ---
|
60 |
-
# **name** β __name__ (μΈλμ€μ½μ΄ λ κ°μ©)
|
61 |
if __name__ == "__main__":
|
62 |
demo.launch()
|
|
|
2 |
import google.generativeai as genai
|
3 |
import os
|
4 |
|
5 |
+
# μμ€ν
ν둬ννΈ μ μ
|
|
|
6 |
SYSTEM_PROMPT = "λ°ν λλ³Έμ λ§λ€μ΄μ£Όλ μ±λ΄μ
λλ€. λ°νν λ΄μ©μ μ
λ ₯νλ©΄ 'μλνλ©΄ ~μ΄κΈ° λλ¬Έμ
λλ€'λ‘ λλ³Έμ λ§λ€μ΄μ€λλ€"
|
7 |
|
8 |
# API ν€ μ€μ
|
|
|
11 |
genai.configure(api_key=api_key)
|
12 |
|
13 |
def chat(message, history):
|
|
|
|
|
14 |
if not api_key:
|
15 |
+
return history + [[message, "β API ν€κ° μ€μ λμ§ μμμ΅λλ€."]]
|
16 |
|
|
|
|
|
17 |
try:
|
|
|
|
|
18 |
model = genai.GenerativeModel(
|
19 |
+
'gemini-1.5-flash',
|
20 |
system_instruction=SYSTEM_PROMPT
|
21 |
)
|
22 |
|
|
|
28 |
if assistant:
|
29 |
chat_history.append({"role": "model", "parts": [assistant]})
|
30 |
|
31 |
+
# μ±ν
μΈμ
μμ λ° μλ΅ μμ±
|
32 |
chat_session = model.start_chat(history=chat_history)
|
|
|
|
|
33 |
response = chat_session.send_message(message)
|
34 |
+
|
35 |
+
# νμ€ν 리μ μΆκ°
|
36 |
+
history.append([message, response.text])
|
37 |
+
return history
|
38 |
|
39 |
except Exception as e:
|
40 |
+
history.append([message, f"β μ€λ₯ λ°μ: {str(e)}"])
|
41 |
+
return history
|
42 |
|
43 |
+
# Gradio Blocks μΈν°νμ΄μ€
|
44 |
+
with gr.Blocks() as demo:
|
45 |
+
gr.Markdown("""
|
46 |
+
# π€ λ
Όλ¦¬μ μΌλ‘ λ§νλ λ°νλμ°λ―Έ Gemini μ±λ΄
|
47 |
+
λ
Όλ¦¬μ μΌλ‘ λ°ννλ λ°©λ²μ λμμ€λλ€.
|
48 |
+
""")
|
49 |
+
|
50 |
+
chatbot = gr.Chatbot()
|
51 |
+
msg = gr.Textbox(
|
52 |
+
placeholder="λ°νν λ΄μ©μ μ
λ ₯νμΈμ...",
|
53 |
+
label="λ©μμ§ μ
λ ₯"
|
54 |
+
)
|
55 |
+
|
56 |
+
with gr.Row():
|
57 |
+
submit = gr.Button("μ μ‘", variant="primary")
|
58 |
+
clear = gr.Button("λν μ΄κΈ°ν")
|
59 |
+
|
60 |
+
# μμ μΉμ
|
61 |
+
gr.Markdown("### π‘ μμ μ§λ¬Έ")
|
62 |
+
with gr.Row():
|
63 |
+
ex1 = gr.Button("νκΈνμλ λ§νλ λ°©λ²", size="sm")
|
64 |
+
ex2 = gr.Button("κ΅μ΄μκ°μ μ£Όμ₯νλ λ§ νλ λ°©λ²", size="sm")
|
65 |
+
ex3 = gr.Button("μ¬ννμμ λν μ견", size="sm")
|
66 |
+
|
67 |
+
# μ΄λ²€νΈ νΈλ€λ¬
|
68 |
+
def respond(message, chat_history):
|
69 |
+
if message.strip():
|
70 |
+
return chat(message, chat_history), ""
|
71 |
+
return chat_history, ""
|
72 |
+
|
73 |
+
# λ©μμ§ μ μ‘
|
74 |
+
msg.submit(respond, [msg, chatbot], [chatbot, msg])
|
75 |
+
submit.click(respond, [msg, chatbot], [chatbot, msg])
|
76 |
+
|
77 |
+
# λν μ΄κΈ°ν
|
78 |
+
clear.click(lambda: [], None, chatbot)
|
79 |
+
|
80 |
+
# μμ λ²νΌ ν΄λ¦
|
81 |
+
ex1.click(lambda h: chat("νκΈνμλ λ§νλ λ°©λ²", h), [chatbot], [chatbot])
|
82 |
+
ex2.click(lambda h: chat("κ΅μ΄μκ°μ μ£Όμ₯νλ λ§ νλ λ°©λ²", h), [chatbot], [chatbot])
|
83 |
+
ex3.click(lambda h: chat("μ¬ννμμ λν μ견", h), [chatbot], [chatbot])
|
84 |
|
|
|
|
|
85 |
if __name__ == "__main__":
|
86 |
demo.launch()
|