溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python如何調(diào)用兩個機器人聊天

發(fā)布時間:2021-09-01 14:44:07 來源:億速云 閱讀:165 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)Python如何調(diào)用兩個機器人聊天的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

機器人api接口

經(jīng)過一通百度,找到幾個推薦比較多的機器人接口,如下:

天行機器人: 天行機器人, 驗證郵箱之后每天可以有100次的免費調(diào)用次數(shù),測試用的話夠了,不想用自己的郵箱的話,可以找一些臨時郵箱(百度一搜一大堆)。

Python如何調(diào)用兩個機器人聊天

青云客機器人:青云客機器人,這個機器人好像叫菲菲,無所謂,主要可以白嫖,不用登陸,可以直接調(diào)用接口。

Python如何調(diào)用兩個機器人聊天

圖靈機器人: 圖靈機器人,據(jù)說這個挺智能的,但是好像不是免費的哎,19塊9,開玩笑,我能有那錢,也可能是我操作有問題,不管了,用前兩個了。

調(diào)用接口封裝機器人

發(fā)請求用的是requests庫,需要pip install requests進行安裝。

天行機器人:

class TXRobot:
    def __init__(self):
        self.api = "http://api.tianapi.com/txapi/robot/index?key={}&question={}"
        self.key = "xxxxxx"  # 填寫在官網(wǎng)申請的key

    def chat(self, msg):
        res = requests.get(tx_url.format(self.key, msg)).json()
        content = res["newslist"][0]["reply"]
        return content

注意:我這里self.key設(shè)置的假的,這里需要把self.key改成在官網(wǎng)申請的真實的key。
試一下,看看它回復(fù)個啥:

tx_robot = TXRobot()
print(tx_robot.chat("你好啊"))
# 您好,{robotname}是{robotname},有什么可以幫您的嗎?

青云客機器人:

class QYKRobot:
    def __init__(self):
        self.api = "http://api.qingyunke.com/api.php?key=free&appid=0&msg={}"

    def chat(self, msg):
        res = requests.get(self.api.format(msg)).json()
        content = res["content"]
        return content

同樣試一下:

qyk_robot = QYKRobot()
print(qyk_robot.chat("你好啊"))
# 我很好,你呢,你怎么樣

好了,兩個機器人封裝完畢,至少現(xiàn)在看起來,回復(fù)的還行,沒有特別的智障。接下來,就讓它倆對話吧!準(zhǔn)備看戲?。?!

實現(xiàn)兩個機器人聊天

邏輯就是輸入第一句話,然后讓其中一個機器人回答,然后把它的回答作為消息,讓另外一個機器人回答,就這樣循環(huán)起來。

if __name__ == '__main__':
    msg = input("輸入第一句聊天對話:")
    while True:
        tx_robot = TXRobot()
        content = tx_robot.chat(msg)
        print("天行機器人:", content)

        qyk_robot = QYKRobot()
        msg = qyk_robot.chat(content)
        print("青云客機器人:", msg)

Python如何調(diào)用兩個機器人聊天

青云客機器人有句話深得我心,那就是祖國尚未統(tǒng)一,你居然有還有心情去學(xué)習(xí),哈哈哈,說的對啊,全部都把魚摸起來?。?!

聊天文字轉(zhuǎn)語音

既然已經(jīng)實現(xiàn)了兩個機器人聊天了,那能不能實現(xiàn)聊天文字轉(zhuǎn)語音呢,這樣就可以聽它倆的對話了。找到一個第三方庫:pyttsx3,可以使用pip install pyttsx3進行安裝,這個庫可以把文字轉(zhuǎn)為語音并播放,使用起來也很簡單,例如:

import pyttsx3
engine = pyttsx3.init()

engine.say('hello 腳本')
engine.runAndWait()

那么修改一下代碼:

if __name__ == '__main__':
    msg = input("輸入第一句聊天對話:")
    engine = pyttsx3.init()
    while True:
        tx_robot = TXRobot()
        content = tx_robot.chat(msg)
        print("天行機器人:", content)
        engine.say('天行機器人說:{}'.format(content))
        engine.runAndWait()

        qyk_robot = QYKRobot()
        msg = qyk_robot.chat(content)
        print("青云客機器人:", msg)
        engine.say('青云客機器人說:{}'.format(msg))
        engine.runAndWait()

這樣就可以聽這兩個機器人的對話啦!

感謝各位的閱讀!關(guān)于“Python如何調(diào)用兩個機器人聊天”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI