1、首先去下载这个ChatGPT库,用到的库是这个:https://github.com/acheong08/ChatGPT
2、安装这个ChatGPT库:
pip3 install revChatGPT==0.0.a42
3、同目录还需要一个“config.JSON”:
{
"session_token": "",
"cf_clearance": "",
"user_agent": ""
}3、Python代码:
from tkinter import *
from tkinter.ttk import *
import json
# from chatgpt_wrapper import ChatGPT
# from revChatGPT.revChatGPT import Chatbot
# pip3 install revChatGPT==0.0.a42
from revChatGPT.revChatGPT import AsyncChatbot as Chatbot
import asyncio
class WinGUI(Tk):
def __init__(self):
super().__init__()
self.__win()
self.tk_button_send = self.__tk_button_send()
self.tk_input_inputs = self.__tk_input_inputs()
self.tk_text_show = self.__tk_text_show()
self.tk_label_note = self.__tk_label_note()
self.process_done = False
def __win(self):
self.title("ChatGPT GUI")
# 设置窗口大小、居中
width = 500
height = 445
screenwidth = self.winfo_screenwidth()
screenheight = self.winfo_screenheight()
geometry = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
self.geometry(geometry)
self.resizable(width=False, height=False)
def __tk_button_send(self):
btn = Button(self, text="发送")
btn.place(x=420, y=20, width=60, height=40)
return btn
def __tk_input_inputs(self):
ipt = Entry(self)
ipt.place(x=20, y=20, width=380, height=40)
return ipt
def __tk_text_show(self):
text = Text(self)
text.place(x=20, y=103, width=460, height=336)
return text
def __tk_label_note(self):
label = Label(self,text="",anchor="center")
label.place(x=20, y=70, width=460, height=24)
return label
class Win(WinGUI):
def __init__(self):
super().__init__()
self.config(menu=self.create_menu())
self.__event_bind()
self.chatbot = Chatbot(json.loads(open('config.json', 'r').read()), conversation_id=None)
self.update_note('welcome!')
def create_menu(self):
menu = Menu(self,tearoff=False)
return menu
def update_show(self, strings):
self.tk_text_show.delete('1.0', END)
self.tk_text_show.insert('1.0', strings)
self.tk_text_show.update()
def update_note(self, strings):
self.tk_label_note.config(text=strings)
async def wait_for_response(self, inputs):
self.update_show('')
async for i in await self.chatbot.get_chat_response(inputs, output="stream"):
print(i['message'])
self.update_show(i['message'])
self.process_done = True
self.update_note('回复完成!')
def bot_ask(self, evt):
print("<tk_button_send>点击事件", evt)
inputs = self.tk_input_inputs.get().strip()
self.process_done = False
if inputs:
self.update_note(f'>> 输入内容为:{inputs}, 等待回复中...')
asyncio.run(self.wait_for_response(inputs))
else:
self.update_note('>> 请先输入内容。')
def __event_bind(self):
self.tk_button_send.bind('<Button-1>',self.bot_ask)
if __name__ == "__main__":
win = Win()
win.mainloop() ChatGPT
2023-02-13 384ChatGPT是一款最近非常火的人工智能系统,我的站长站为了体验一下ChatGPT的强大,在网络上收集了许多关于ChatGPT的信息,分享给大家.包含大家最关系的ChatGPT注册方...
- 免费ChatGPT4帐号分享网站 [2024-07-04]
- chatgpt连续对话本地搭建源码 [2024-02-07]
- ChatGPT+AI实战智能虚拟数字人项目教程 [2024-01-26]
- nodejs框架Nine AI ChatGPT系统网站源码2.4.2 [2024-01-16]
- GPT4All Chat一建本地部署Chatgpt [2023-12-31]


