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 219ChatGPT是一款最近非常火的人工智能系统,我的站长站为了体验一下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]