Python集成ChatGPT API实现图形图形交互
作者:惰惰猴
来源:知乎
为了体现Python的敏捷性,我拿着Tkinter很长时间,跌跌撞撞地做出了简单的图形。主要是我想使用pyinstaller将其打包成MacOS应用程序。
这样我就可以每天用我做的图形软件调用ChatGPT了。虽然简单,但却充满了成就。
1。分享代码
代码比较简单。直接用关键词注释来解释。 Tkinter的语法这里就不展开了。
from tkinter import *
import openai
# 答案保存函数,把ChatGPT的回答文本,保存到日志文件中
def saveAnswer(chatText):
filename = f'ChatGPT_Answer.log'
with open(filename, 'a+') as f:
f.write(chatText)
# 调用ChatGPT API函数,主要功能在上篇文章中讲过了
def chatGPT_Answer():
# 注意,请使用自己的openai.api_key,代码里的openai.api_key为虚构
openai.api_key = "sk-FGRGGsabcdefghijklmnopqrstuvwxyz"
# 把tkinter Text空间的文本全部读取,再调用get方法给变量prompt获取
prompt = str(GUI_Question.get('0.0', 'end'))
response = openai.Completion.create(
model="text-davinci-003",
prompt=prompt,
temperature=0,
max_tokens=2000,
top_p=1,
frequency_penalty=0.2,
presence_penalty=0
)
# 把ChatGPT返回的文本答案,放入变量chatAnswer
chatAnswer = response['choices'][0].text.strip() + '\n\n'
# 把ChatGPT返回的文本答案,放到主函数的label变量out中
out.configure(text='ChatGPT_Answer: ' + '\n' + chatAnswer)
# 把ChatGPT返回的文本答案,传递给答案保存函数
saveAnswer(chatAnswer)
if __name__ == '__main__':
root = Tk()
root.title('OpenAI ChatGPT GUI')
label = Label(root, text='请输入要ChatGPT回答的问题:',font='Calibri 25 bold', fg='white')
label.pack()
GUI_Question = Text(root, bg='grey', width=100, font='Calibri 18')
GUI_Question.pack(pady=5)
out = Label(root, justify=LEFT)
out.pack()
button = Button(root, text='ChatGPT', fg='green', command=chatGPT_Answer)
button.pack()
root.mainloop()
2。代码效果展示
从图中可以看到,效果还不错,但是图形太简单了。
3。针对 MacOS 应用程序打包
在打包之前,先介绍一下初步的准备工作:
(1)图标要求
Windows 环境下 pyinstaller 常用的图标格式是 30x30 像素 位 .ico。 Mac 环境下 pyinstaller 常用的图标格式为 30x30 像素 .icons 位图
(2) pyinstaller 包的通用参数
-i 为应用程序添加图标 -F 指定之后只创建一个 exe。 package (windows)/app (MacOS) 格式文件 -D –onedir 创建一个包含 exe 文件但依赖于许多文件的目录(默认) -c –console, –nowindowed 使用控制台,而不是 UI(默认) -w – windowed, – noconsole 使用窗口,无控制台 -p 添加搜索路径
(3) 最常用的压缩命令
# 上下两个命令都是一样的效果
pyinstaller -w -i picName.icns -F programName.py
pyinstaller -F -w programName.py -i picName.icns
(4) MacOS 压缩介绍
进入主目录中的 Downloads 文件夹并进行设置 复制图标和你刚刚写的程序。
cd ~/Downloads

如你所见,我准备了一个马里奥叔叔的图标,它将打包到我的Python程序QandAgui.py
使用以下命令打包它。
pyinstaller -F -w QandAgui.py -i m.icns
稍等一下,包裹已打包成功。
重新进入主目录下的Downloads文件夹,找到dist文件夹,将马里奥分身APP复制到MacOS的Application文件夹即可使用。
4。软件介绍
在MacOS中,直接点击Mario图标即可打开软件。
3。 Postscript
ChatGPT 的 Python API 为我们提供了很大的定制自由度。无论是 Django Web 调用、GUI 图形调用还是 CLI 文本调用。他们都值得同事和朋友的积极陪伴。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。