我正在参加「兔了个兔」创意投稿大赛,概况请看:「兔了个兔」创意投稿大赛
小兔智能机器人
先放作用:
该智能谈天机器人的功能有如下几部分:
-前端GUI欢迎界面
-和“小兔兔”机器人进行互动
-翻开俄罗斯方块游戏
-支撑语音唤醒
-接入微信小程序API
小兔智能音箱实现过程
语音帮手——小兔项目目录结构
├──README.md
├──aip//SDK目录
│├──background.gif
│├──weixinAPI.py
│└──game.py
│└── Sounce.py
└──main.py
榜首部分——GUI实现
部分代码展示:
#欢迎界面GUI
defGUI_welcome(self):
welcome=![]()tkinter.Tk()
welcome.title("小兔兔智能音响")
welcome.geometry("540x400")
canvas=tk.Canvas(welcome,width=540,height=400,bd=0,highlightthickness=0)
imgpath='background.gif'
img=Image.open(imgpath)
photo=ImageTk.PhotoImage(img)
canvas.create_image(270,200,image=photo)
canvas.pack()
button=tkinter.Button(welcome,text='开始',command=lambda:welcome.destroy(),width=5,height=1)
text=tkinter.Label(welcome,bd=10,fg='white',bg='blue',text='HI我是小兔兔')
text.place(relx=0.38,rely=0.3)#相对位置,放置文本
button.place(x=290,y=300,anchor='ne')
welcome.mainloop()
即出现以下作用
即使用python的tkinker库
生成一个简单的按钮界面,按下开始后,即可以语音唤醒“小兔同学”
第二部分——与小兔同学进行沟通
即经过注册ChatGPT,取得一个OpenAI账号,并将其接入python的API调用接口
- 使用GPT-3在 Python中,首先需要装置OpenAl的openai库。
pip install openai
- 装置完成后,使用以下代码片段来访问GPT-3:
#set your API keyopenai.api _key = "YOUR_API_K
# Use the GPT-3 modelcompletion = openai.Completion. create(
engine="text-davinci-002",
prompt="Once upon a time,in a land far, far away,there was a princesswho. . .",
max_tokens=1024,temperature=0.5,# Print the generated textprint(completion. choices[o].text)
(chat.openai.com/auth)
完成一个较为简单的谈天小帮手项目。
步骤:
-首先将对方的文字存入文本形式下,存为.txt文件.
-然后将txt文件进行辨认处理
-经过OpenAI的ChatGpt辨认后进行反应
这儿注意,在接入微信小程序时:可以考虑用这种布置方式 翻开gitee.com/shtml/wecha…
参阅大佬的笔记——OpenAI ChatGPT 接入微信,与AI互动! – ()
在OpenAI请求这儿,之前还需要做以下预备:
请求属于自己的AI开发者账号,装置SDK
2、SDK的下载与装置
应用创立完成后下载相应的开发SDK,这儿选用python开发,下载python-SDK即可
第三部分——经过小兔同学帮手翻开俄罗斯方块这一游戏功能
importpygame
importsys
importtime
importrandom
color_red=pygame.Color(255,0,0)
color_gray=pygame.Color(230,230,230)
color_green=pygame.Color(0,255,0)
。。。
ifdire==1:
x+=1
ifdire==2:
x-=1
ifdire==3:
y-=1
ifdire==4:
y+=1
if(x>80)or(y>60)or(x<1)or(y<1)or(arr[x][y]>0):
time.sleep(5)
pygame.quit()
sys.exit()
arr[x][y]=snake_lon
fora,binenumerate(arr,1):
forc,dinenumerate(b,1):
if(d>0):
arr[a-1][c-1]=arr[a-1][c-1]-1
pygame.draw.rect(screen,color_green,((a-1)*10,(c-1)*10,10,10))
if(d<0):
pygame.draw.rect(screen,color_red,((a-1)*10,(c-1)*10,10,10))
if(x==foodx)and(y==foody):
snake_lon+=1
while(arr[foodx][foody]!=0):
foodx=random.randint(1,80)
foody=random.randint(1,60)
arr[foodx][foody]=-1
pygame.display.flip()
if__name__=="__main__":
openGame()
部分首要代码如上:
依据俄罗斯方块游戏的特色:
- 方块下降
- 方块旋转
- 方块的左右移动
- 方块的填充
再结合用小兔帮手翻开后调用pygame的接口即可。
结语
兔年就来和小兔同学一同欢度春节吧,相信在不断训练该模型之后,小兔会越来越智能,并且附加更多的功能。