小編寫這篇文章的一個主要目的,主要是給大家去做一個詳細解答,解答的內容是基于Python的,基于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()
綜上所述,這篇文章就給大家介紹到這里了,希望可以給各位讀者帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128345.html
摘要:基于和端微信開發的聊天機器人。使用的微信賬號即充當機器人的賬號為個人賬號,可自定義指令。關閉玫瑰感謝您的使用玫瑰閃電需要開啟請在控制臺啟動程序閃電微信發出關閉口令,程序退出。 Github: https://github.com/doterlin/wechat-robot showImg(https://segmentfault.com/img/remote/1460000010601...
摘要:前兩天朋友圈里看到一段號稱價值一億的代碼可以智能應答,很厲害是不是源碼極簡版嗎其實就是幾個字符替換抖了個機靈,也順便黑了把當下某些言必稱的風氣。方法一模塊是一個生成自動應答的第三方庫。那我這兩段代碼怎么也得值個億吧,可以直接輪了。 前兩天朋友圈里看到一段號稱價值一億的代碼: showImg(https://segmentfault.com/img/remote/146000001743...
摘要:的人工智能版圖人工智能版圖由應用平臺框架三大部分組成應用層是提供各種應用服務,比如平臺層是平臺。應用層主推三大成熟應用基于深度學習的圖像和視頻分析它能實現對象與場景檢測人臉分析面部比較人臉識別名人識別圖片調節等功能。 AWS的人工智能版圖AWS人工智能版圖由:應用、平臺、框架三大部分組成AI應用層:是提供各種...
摘要:也完美地將不需要應用開發人員了解的機器學習底層細節進行了封裝,我們將要做的這個聊天機器人甚至不需要太多的編碼。回到我創建的聊天機器人,目前沒有分配任何。最后,我們可以把這個創建好的聊天機器人進行發布,讓它可以被其他平臺消費。 很多SAP顧問朋友們對于人工智能/機器學習這個話題非常感興趣,也在不斷思考如何將這種新技術和SAP傳統產品相結合。Jerry之前的微信公眾號文章C4C和微信集成系...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1983·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02