test2 / app.py
water64's picture
Update app.py
2642298 verified
import os
import gradio as gr
try:
from groq import Groq
except ImportError:
os.system('pip install groq')
from groq import Groq
# Initialize Groq client
client = Groq(api_key=os.getenv("groq_key"))
# Chat history to store conversation
chat_history = []
def chat(message, history):
messages = [
{
"role": "system",
"content": "你是一個美術老師,請用繁體中文稱讚學生的問題,問什麼問題都會引導到藝術"
}
]
# Add chat history
for human, assistant in history:
messages.append({"role": "user", "content": human})
messages.append({"role": "assistant", "content": assistant})
# Add current message
messages.append({"role": "user", "content": message})
# Get response from Groq
completion = client.chat.completions.create(
model="llama3-8b-8192",
messages=messages,
temperature=1,
max_tokens=1024,
top_p=1,
stream=True,
stop=None
)
# Build response text from stream
response = ""
for chunk in completion:
if chunk.choices[0].delta.content is not None:
response += chunk.choices[0].delta.content
yield response
# Create Gradio interface
demo = gr.ChatInterface(
fn=chat,
title="藝術老師聊天機器人",
description="我是一位熱愛藝術的老師,讓我們來聊聊藝術吧!",
examples=["你好", "我想學畫畫", "什麼是藝術"],
retry_btn=None,
undo_btn=None,
clear_btn="清除對話",
)
if __name__ == "__main__":
demo.launch()