背景:最近chatgpt很火,前几天也想注册体验一下,一顿操作之后,卡在该国家不支持。最后发现自己的代理开在香港,改在漂亮国就行了。虽然有chatgpt可以用,但是小平是自己封装了一个,我不能输。正好对python存在一点兴趣,索性直接研究python可视化openai api。
openai的注册就很简单。
OpenAI
1.用邮箱注册一下后会发一个邮箱验证(qq邮箱验证消息有点慢的,等了好一会)
2.验证成功之后,需要在一个网站上买一个手机号验证码,好像印度的验证码收的挺费劲的。我买了一个马来西亚的,速度很快。买了之后有20分钟的时间,要是期间没有验证,可以免费退一次。
SMS-Activate - service for receiving virtual SMS online to virtual SIM
3首先先介绍一下openai api的模型。
目前用的多是gpt-3和codex。翻译一下就知道一个是理解和创造语言。一个去编码(可以问怎么编码或者纠正代码啥的)
在gpt3,codex中也分为细致的小模型。第一个达芬奇用的最多,当然也是相对言贵点。
当然这边有很多例子可以去实现。
4.现在开始创造一个key。python调接口需要一个ak。
这边可以根据不同的场景去获得相对应的代码。
一般也就达芬奇2或者3用的最多吧。
model="text-davinci-003"
model="text-davinci-002"
5.配置python,将上图的代码复制到python上面就可以了。
pip install openai
还有几个忘记了,之前看过博客说的,下次一定补上。
这边openai api是可以调通了。
但是想做一个python gui的可视化页面。看了官网支持好几个gui。最后我选择了单调的tkinter。知乎看了说pyqt生成的文件很大,我只想简单的玩一下哈哈哈。
python tkinter 看了别人的博客。我只会用。最初页面,就加了一个text多行文本输入,一个button按钮还有一个lable标签。
哈哈哈还做了一个简单的小逻辑。
from tkinter import *
import openai
openai.api_key = 'your ak'
def button_event():
content = question.get(1.0, "end")
print(len(content))
if len(content) == 1:
answer['text'] = "怎么就没有问题呢"
else:
message = get_message(content)
answer['text'] = message
return
def get_message(message):
response = openai.Completion.create(
model="text-davinci-003",
prompt=message,
temperature=0.8,
top_p=1.0,
frequency_penalty=0.5,
presence_penalty=0.0,
max_tokens=1000)
return response.choices[0].text
# 创建窗口
main_window = Tk()
question = Text(main_window, height=6)
answer = Label(main_window, width=500, anchor=NW, wraplength=500)
main_window.title("又有新的问题了!!")
main_window.iconbitmap("640.jpeg")
main_window.geometry("500x500")
main_window.resizable()
question.insert('insert', '有问题吗?!')
question.pack()
B = Button(main_window, text="回答", command=button_event)
B.pack()
answer.pack()
# 消息循环
main_window.mainloop()
想起来了,这个ak先试用三个月,在之后就要收费,按请求次数收费。
算下来其实还是很便宜。现在免费使用,还是有点慢的。不知道收费之后能不能快点……
好了,回头好好整理一下,技术分享可以讲这个!