【问题标题】:Merging RestAPI with a chatbot将 RestAPI 与聊天机器人合并
【发布时间】:2021-07-09 09:09:41
【问题描述】:

我是 RestAPI 的初学者,现在我应该合并我构建到此 RestAPI 中的聊天机器人。 聊天机器人是用python完成的,有一个函数chat(),当调用这个函数时,程序进入一个无限循环与聊天机器人聊天,直到我写“退出”程序终止。

RestAPI 程序在这里

from flask import Flask
from flask_restful import Api, Resource
import chatting
app = Flask(__name__)
api = Api(app)

class chatbot(Resource):
    def get(self):
        return{"data": chatting.chat()}
    def post(self):
        return{"data": "posted"}

api.add_resource(chatbot, '/hello')


if __name__ == "__main__":
    app.run(debug= True)

我导入了聊天脚本,它是具有聊天功能的脚本,可以与聊天机器人聊天 该程序无法正常运行。

这是API测试程序:

import requests

Base = "http://127.0.0.1:5000/"
response = requests.get(Base + "/hello")
print(response.json())

【问题讨论】:

    标签: python python-3.x api rest flask


    【解决方案1】:

    调用该函数时程序进入无限循环

    如果没有看到您的代码,我不能肯定地说,但这是我的朋友的一个问题。 rest api 请求不应该存在那么久。 你应该改变你的程序逻辑。 每个休息电话应该只发送一个文本并得到响应。 您的无限 while 循环实际上现在是您的 api 服务器,它永远运行并等待请求。

    您的聊天功能应如下所示:

    def chat(text):
      response = do_your_thing(text)
      return response
    

    【讨论】:

    • 是的,但是 chat() 不带任何参数怎么办?
    • 如果你的机器人可以在没有任何输入的情况下回答,那么你可以省略它,否则你必须更改你的python代码。
    【解决方案2】:

    post 函数可用于发送音频并返回音频文件

    【讨论】:

      猜你喜欢
      • 2023-01-23
      • 1970-01-01
      • 1970-01-01
      • 2022-12-23
      • 2017-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-11
      相关资源
      最近更新 更多