情人節已經過了但是情人節和我們程式員有什么關系,沒物件自己new一個不就完了,
話不多說直接上成品,

實作機器人的方式很多,可以深度學習訓練機器人使其能與我們進行交流,但是請記住,所擁有的資料越多,機器學習的效果越好,所有自行創建的機器人普遍比較智障,所有這里我推薦的使用網路上的機器人介面(當然也不是特別聰明)進行,而且方便簡單,
那么接下來就開始正題吧!
匯入requests 庫和Flask
這個不必多廢話吧,要進行請求介面,網頁就必須要用到的一個庫,安裝也是十分的簡單,pip insatll requests ,這里我用了flask框架,本來沒打算做這個網頁的突發奇想后加入,想著做個聊天框進行對話會不會更生動于是就做了這個,pip install flask(conda install flask),
注意
這里我們需要注意一點,那就是推薦創建檔案時選好Flask框架,我這就是沒有創建Flask框架所以css檔案有點問題(雖然不嚴重),我也不是很清楚但是問題出在了哪,所以推薦創建框架進行編程,

然后將圖片和css檔案這些靜態資源都放在static檔案底下,
python代碼
import requests
from flask import Flask, request, send_from_directory
app = Flask(__name__, static_folder='../static')
@app.route('/tryChat', methods=['GET', 'POST'])
def tryChat():
a = request.form.get('mydata') # 獲取ajax中mydata的內容,也就是你輸入的內容
word = str(a)
Chatword = smallchatbot(word) # 將你輸入的內容交給smallchatbot方法讓介面回傳回答
return Chatword
def smallchatbot(msg):
url = f'http://api.qingyunke.com/api.php?key=free&appid=0&msg={msg}' # 請求地址
html = requests.get(url)
content = html.json()["content"]
con = str(content)
c = con.replace('{br}', "\n") # 對其回傳的{br}進行轉換轉換為換行
return c
@app.route('/')
def search():
return send_from_directory('', 'ChatBot1.html')
if __name__ == '__main__':
app.run()
頁面代碼
<body>
<div class="guide">
<div class="chat" >
<div class="title">孤寡安慰機器人</div>
<ul class="text" id="msg_box">
<li class="t1">
<img src="static/pika2.gif">
<div class="txt">不開心要記得和我說哦!</div>
</li>
</ul>
<div class="cont">
<input type="text" placeholder="在這里輸入文字" class="inp" id="inp_msg"/>
<input type="button" value="發送" οnclick="sendmsg()" class="send">
</div>
</div>
</div>
</body>
ajax 請求代碼
$.ajax({
type:"POST", # 傳回資料用POST
url: "/tryChat", # 請求到該地址
data:{'mydata':msg}, # 上面說的mydata
dataType:"text",
success:function(data){
var content = data # 由于python部分已經對介面回傳的資料進行優化所有這里可以直接用
alert(content)
},
});
詳細代碼和css檔案太過于繁雜,這里就不一一展示,有需要的可以私信我獲取,
總結
本來當初用這個介面時準備直接純html加js完成的,但是遇到了跨域問題(雖然官方檔案有提示但是我就是想試試),用nignx進行反向代理了(正確使用!)但是不知道是什么原因沒成功,查了很久,發現有人說是電腦問題,換了臺電腦就行,我也沒去嘗試故改用flask框架進行,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/426550.html
標籤:AI
