聊天机器人添加一个图形用户界面(GUI),我们可以使用Python的Tkinter库。Tkinter是Python的标准GUI库,适合快速开发简单的桌面应用。
步骤 1: 安装必要的库
确保你已经安装了requests库:
pip install requests
步骤 2: 创建Python脚本
创建一个名为deepseek_chatbot_gui.py的Python脚本,并在其中编写以下代码:
import tkinter as tk
from tkinter import scrolledtext
import requests
# 配置你的API密钥和DeepSeek的API端点
API_KEY = 'your_api_key_here'
DEEPSEEK_API_URL = 'https://api.deepSeek.com/v1/chat'
def get_response(prompt):
headers = {
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
data = {
'model': 'deepseek-7b', # 使用的模型名称
'messages': [{'role': 'user', 'content': prompt}],
'max_tokens': 150 # 生成的最大token数
}
response = requests.post(DEEPSEEK_API_URL, json=data, headers=headers)
if response.status_code == 200:
return response.json()['choices'][0]['message']['content']
else:
raise Exception(f"Error: {response.status_code}, {response.text}")
def send_message():
user_input = entry.get()
if user_input.strip():
chat_log.config(state=tk.NORMAL)
chat_log.insert(tk.END, f"你: {user_input}\n")
chat_log.config(state=tk.DISABLED)
try:
response = get_response(user_input)
chat_log.config(state=tk.NORMAL)
chat_log.insert(tk.END, f"DeepSeek: {response}\n")
chat_log.config(state=tk.DISABLED)
except Exception as e:
chat_log.config(state=tk.NORMAL)
chat_log.insert(tk.END, f"Error: {str(e)}\n")
chat_log.config(state=tk.DISABLED)
entry.delete(0, tk.END)
chat_log.yview(tk.END)
def on_closing():
root.destroy()
root = tk.Tk()
root.title("DeepSeek Chatbot")
# 设置窗口大小
root.geometry("600x400")
# 创建聊天记录区域
chat_log = scrolledtext.ScrolledText(root, wrap=tk.WORD, state=tk.DISABLED)
chat_log.pack(pady=10, padx=10, fill=tk.BOTH, expand=True)
# 创建输入框
entry = tk.Entry(root, width=80)
entry.pack(pady=10, padx=10, side=tk.LEFT, fill=tk.X, expand=True)
# 创建发送按钮
send_button = tk.Button(root, text="发送", command=send_message)
send_button.pack(pady=10, padx=10, side=tk.RIGHT)
# 绑定关闭事件
root.protocol("WM_DELETE_WINDOW", on_closing)
# 启动主循环
root.mainloop()
解释
导入库:
tkinter:用于创建GUI。
scrolledtext:用于创建带有滚动条的文本区域。
requests:用于发送HTTP请求。
配置API密钥和URL:
将API_KEY设置为你的DeepSeek API密钥。
DEEPSEEK_API_URL设置为DeepSeek的API端点。
定义get_response函数:
这个函数负责向DeepSeek API发送请求,并返回模型生成的响应。
定义send_message函数:
获取用户输入的消息。
将用户输入的消息显示在聊天记录中。
调用get_response函数获取DeepSeek的响应,并显示在聊天记录中。
清空输入框。
定义on_closing函数:
用于处理窗口关闭事件,确保程序正常退出。
创建主窗口:
使用tk.Tk()创建主窗口。
设置窗口标题和大小。
创建聊天记录区域,使用scrolledtext.ScrolledText。
创建输入框和发送按钮。
绑定关闭事件。
启动主循环。
运行脚本
保存脚本后,在命令行中运行:
python deepseek_chatbot_gui.py
这将启动一个带有图形界面的聊天机器人,用户可以在输入框中输入消息并点击“发送”按钮,与DeepSeek进行对话。