Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,13 +1,14 @@
|
|
1 |
import os
|
2 |
-
import subprocess
|
3 |
-
import sys
|
4 |
import gradio as gr
|
5 |
-
|
6 |
-
# 安裝 groq 套件
|
7 |
-
subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'groq'])
|
8 |
-
|
9 |
from groq import Groq
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
# 從環境變數中獲取 Groq API 密鑰
|
12 |
groq_key = os.getenv("groq_key")
|
13 |
if not groq_key:
|
@@ -16,7 +17,8 @@ if not groq_key:
|
|
16 |
# 初始化 Groq 客戶端
|
17 |
client = Groq(api_key=groq_key)
|
18 |
|
19 |
-
def chatbot_response(
|
|
|
20 |
messages = [
|
21 |
{
|
22 |
"role": "system",
|
@@ -39,19 +41,18 @@ def chatbot_response(user_message):
|
|
39 |
)
|
40 |
|
41 |
response_message = completion.choices[0].message['content']
|
42 |
-
|
|
|
43 |
|
44 |
-
# 建立 Gradio 界面
|
45 |
with gr.Blocks() as demo:
|
46 |
chatbot = gr.Chatbot()
|
47 |
user_input = gr.Textbox(placeholder="輸入訊息...")
|
48 |
-
send_button = gr.Button("發送")
|
49 |
|
50 |
def user_message_handler(user_message, history):
|
51 |
-
|
52 |
-
history
|
53 |
return history, ""
|
54 |
|
55 |
-
|
56 |
|
57 |
demo.launch()
|
|
|
1 |
import os
|
|
|
|
|
2 |
import gradio as gr
|
|
|
|
|
|
|
|
|
3 |
from groq import Groq
|
4 |
|
5 |
+
# Install the groq package if it is not installed
|
6 |
+
try:
|
7 |
+
from groq import Groq
|
8 |
+
except ImportError:
|
9 |
+
os.system('pip install groq')
|
10 |
+
from groq import Groq
|
11 |
+
|
12 |
# 從環境變數中獲取 Groq API 密鑰
|
13 |
groq_key = os.getenv("groq_key")
|
14 |
if not groq_key:
|
|
|
17 |
# 初始化 Groq 客戶端
|
18 |
client = Groq(api_key=groq_key)
|
19 |
|
20 |
+
def chatbot_response(history):
|
21 |
+
user_message = history[-1]["content"]
|
22 |
messages = [
|
23 |
{
|
24 |
"role": "system",
|
|
|
41 |
)
|
42 |
|
43 |
response_message = completion.choices[0].message['content']
|
44 |
+
history.append({"role": "assistant", "content": response_message})
|
45 |
+
return history
|
46 |
|
|
|
47 |
with gr.Blocks() as demo:
|
48 |
chatbot = gr.Chatbot()
|
49 |
user_input = gr.Textbox(placeholder="輸入訊息...")
|
|
|
50 |
|
51 |
def user_message_handler(user_message, history):
|
52 |
+
history.append({"role": "user", "content": user_message})
|
53 |
+
history = chatbot_response(history)
|
54 |
return history, ""
|
55 |
|
56 |
+
user_input.submit(user_message_handler, [user_input, chatbot], [chatbot, user_input])
|
57 |
|
58 |
demo.launch()
|