您好,登錄后才能下訂單哦!
這篇文章主要介紹“基于Python如何制作AI聊天軟件”,在日常操作中,相信很多人在基于Python如何制作AI聊天軟件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”基于Python如何制作AI聊天軟件”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
先看一下效果圖
就當是女友無聊的時候自己抽不出時間的小分身吧!
tkinter、time、urllib、requests
tkinter負責窗體、time顯示時間、urllib和requests負責請求
from tkinter import * win1 = Tk() win1.geometry('400x644+100+100') win1.title('xxx男神的AI分身') Label11 = Label(win1, text='男神白', font=('黑體', 12), anchor='center').place(y=13, x=15, width=380, height=20) Entry11 = Entry(win1, font=('等線', 11), width = 70) Entry11.place(y=600, x=15, width=310, height=26) Button11 = Button(win1, text='發送', font=('等線', 11), command = mecha).place(y=598, x=328, width=65, height=30) console = Text(win1, font=('等線', 11)) console.place(y=35, x=15, width=368, height=550) console.insert(1.0,' 歡迎來到你與男神的小天地!\n你可以把你想說的內容輸入到下面的輸入框哦\n') console.mark_set('markOne', 1.0) console.mark_set('markTwo', 3.0) console.tag_add('tag1', 'markOne', 'markTwo') console.tag_config('tag1', foreground='red') win1.bind("<Return>", test_fun) win1.mainloop()
在txet部件上顯示發送時間及顏色處理,使用requests和urllib庫來調用接口處理回復你女朋友的信息。
def liaotian(): global b import time b = 3 def mecha(): global b b+=2 console.insert('end',time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) + '\n') console.insert('end',str(Entry11.get())+'\n') console.mark_set(str(b-1), str(b-1)+'.0') console.mark_set(str(b), str(b)+'.0') console.tag_add(str(b), str(b-1), str(b)) console.tag_config(str(b), foreground='blue') console.see(END) console.update() console.insert('end',time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) + '\n') console.insert('end',aicha()+'\n') console.mark_set(str(b-1), str(b-1)+'.0') console.mark_set(str(b), str(b)+'.0') console.tag_add(str(b), str(b-1), str(b)) console.tag_config(str(b), foreground='red') console.see(END) Entry11.delete(0,END) console.update() def test_fun(self): mecha() def aicha(): global b b+=2 msg = str(Entry11.get()) else: import urllib import requests def qingyunke(msg): url = 'http://api.qingyunke.com/api.php?key=free&appid=0&msg={}'.format(urllib.parse.quote(msg)) html = requests.get(url) return html.json()["content"] print("原話>>", msg) res = qingyunke(msg) res = res.replace('菲菲', '你男神') res = res.replace('我', '你男神') print("智能回復>>", res) return res
根據女友輸入的內容自定義回復
我自己添加的內容太肉麻的,不太適合分享給你們哈。于是我就給你們做多了一個自定義回復的功能。嘿嘿!那就是獨一無二的代碼了
堅持著你們直接能使用代碼不做任何修改的原則,我就不讓你們在代碼里面添加了,當你第一次運行此代碼的時候會自動創建一個txt文件(甚至還不用讓你創建文件),你就可以在txt文件中自定義回復內容了。
使用異常處理模塊try來嘗試open讀取名為“自定義回復.txt”的文件,若不存在except就創建,若已存在直接讀取即可。操作讀取的字符串逐個添加到zidingyi字典中,判斷輸入的語句是否在zidingyi.keys()中即可做出相應回復。
添加后的效果圖:
zidingyi = {} try: with open("自定義回復.txt", "r", encoding='utf8') as f: asd = f.readlines() print(asd) for line in asd: line = line.strip('\n') wen, da = line.split(':', 1) zidingyi[wen] = da except: with open("自定義回復.txt", "w+", encoding='utf8') as f: f.write('提示——>采用“輸入:回復”格式 如——>你吃飯了嗎?:我吃飯啦 回車以繼續下一自定義回復(注意使用英文的冒號)') with open("自定義回復.txt", "r", encoding='utf8') as f: asd = f.readlines() print(asd) for line in asd[1:]: line = line.strip('\n') wen, da = line.split(':', 1) zidingyi[wen] = da print(line) print(zidingyi)
from tkinter import * def liaotian(): global b import time b = 3 def mecha(): global b b += 2 console.insert('end', time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) + '\n') console.insert('end', str(Entry11.get()) + '\n') console.mark_set(str(b - 1), str(b - 1) + '.0') console.mark_set(str(b), str(b) + '.0') console.tag_add(str(b), str(b - 1), str(b)) console.tag_config(str(b), foreground='blue') console.see(END) console.update() console.insert('end', time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) + '\n') console.insert('end', aicha() + '\n') console.mark_set(str(b - 1), str(b - 1) + '.0') console.mark_set(str(b), str(b) + '.0') console.tag_add(str(b), str(b - 1), str(b)) console.tag_config(str(b), foreground='red') console.see(END) Entry11.delete(0, END) console.update() def test_fun(self): mecha() def aicha(): global b b += 2 msg = str(Entry11.get()) if msg in zidingyi.keys(): res = zidingyi[msg] return res else: import urllib import requests def qingyunke(msg): url = 'http://api.qingyunke.com/api.php?key=free&appid=0&msg={}'.format(urllib.parse.quote(msg)) html = requests.get(url) return html.json()["content"] print("原話>>", msg) res = qingyunke(msg) res = res.replace('菲菲', '你男神') res = res.replace('我', '你男神') print("智能回復>>", res) return res zidingyi = {} try: with open("自定義回復.txt", "r", encoding='utf8') as f: asd = f.readlines() print(asd) for line in asd: line = line.strip('\n') wen, da = line.split(':', 1) zidingyi[wen] = da except: with open("自定義回復.txt", "w+", encoding='utf8') as f: f.write('提示——>采用“輸入:回復”格式 如——>你吃飯了嗎?:我吃飯啦 回車以繼續下一自定義回復(注意使用英文的冒號)') with open("自定義回復.txt", "r", encoding='utf8') as f: asd = f.readlines() print(asd) for line in asd[1:]: line = line.strip('\n') wen, da = line.split(':', 1) zidingyi[wen] = da print(line) print(zidingyi) win1 = Tk() win1.geometry('400x644+100+100') win1.title('男神的AI分身') Label11 = Label(win1, text='你男神', font=('黑體', 12), anchor='center').place(y=13, x=15, width=380, height=20) Entry11 = Entry(win1, font=('等線', 11), width=70) Entry11.place(y=600, x=15, width=310, height=26) Button11 = Button(win1, text='發送', font=('等線', 11), command=mecha).place(y=598, x=328, width=65, height=30) console = Text(win1, font=('等線', 11)) console.place(y=35, x=15, width=368, height=550) console.insert(1.0, ' 歡迎來到你與男神的小天地!\n 你可以把你想說的內容輸入到下面的輸入框哦\n') console.mark_set('markOne', 1.0) console.mark_set('markTwo', 3.0) console.tag_add('tag1', 'markOne', 'markTwo') console.tag_config('tag1', foreground='red') win1.bind("<Return>", test_fun) win1.mainloop() liaotian()
到此,關于“基于Python如何制作AI聊天軟件”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。