EduTechTeam's picture
Update app.py
ded59e5 verified
raw
history blame
1.33 kB
import openai
import gradio as gr
import os
import time
from google.colab import userdata
client = openai.OpenAI(api_key=userdata.get('OPENAI_API_KEY'))
# 建立「男友」聊天機器人函數
def boyfriend_chatbot(user_input, history):
history = history or []
messages = [{"role": "system", "content": "你是一個溫柔、貼心的男友,總是關心對方的感受,給予支持和鼓勵,用輕鬆、暖心的語氣回應。"}]
for user_msg, bot_msg in history:
messages.append({"role": "user", "content": user_msg})
messages.append({"role": "assistant", "content": bot_msg})
messages.append({"role": "user", "content": user_input})
try:
completion = client.chat.completions.create(
model="gpt-4o-mini",
messages=messages,
temperature=0.7
)
response = completion.choices[0].message.content
except Exception as e:
response = f"❌ 發生錯誤:{str(e)}"
for i in range(len(response)):
yield response[: i + 1]
time.sleep(0.05)
# 建立 Gradio 介面
chat_interface = gr.ChatInterface(
boyfriend_chatbot,
chatbot=gr.Chatbot(type="messages"),
type="messages",
title="💕 貼心男友聊天機器人 💕"
)
# 啟動介面
chat_interface.launch(share=True)