我已将 Kommunicate 聊天机器人集成到我的网站中,但是,我的网站上产生了大量流量,因此聊天的用户数量比我支持的带宽(代理方面)要多得多。 我似乎无法找到一种方法来限制一个代理/人员在任何给定时间可以处理的当前事件聊天的数量。我希望找到同样的解决方案。
这可以通过提供的 webhook 集成来完成吗?如果是这样,怎么办?
最佳答案
解决方案确实在于添加 webhook 集成。
首先,我启动一个简单的 Flask 服务器,为单个端点提供服务:/webhook。
app = Flask(__name__)
@app.route('/webhook', methods=['GET', 'POST'])
def webhook():
logger.debug('Webhook Triggered') #-> we know it's being trigerred.
resp_generated = make_response(jsonify(results()))
logger.debug(resp_generated)#-> always shows 200 anyway.
return resp_generated
if __name__ == '__main__':
app.run(host ='0.0.0.0', port = 5000, debug = True)
然后我使用 ngrok 创建到本地服务器的隧道(我计划在后期将其托管在 GKE 上)
ngrok http 5000
这为我提供了 Flask 服务器的 HTTPS URL,例如 https:\\534bbe.ngrok.io
然后我进入 DialogFlow -> Fulfillment -> 在那里输入我的 Webhooks 端点:
您必须为要添加服务器逻辑的 Intents 启用 Webhook 调用,就我而言,这是当我想转移到实时代理同时限制聊天数量时:
为了确保当我的服务器出现故障时 Kommunicate 的默认行为不会被破坏,我添加了自定义负载(如上图所示):
{
"metadata": {
"KM_ASSIGN_TO": ""
},
"platform": "kommunicate",
"message": "---- Redact that sweet sweet company Information. Yeah!!---"
}
[注意:在意图中进行更改后,请务必点击右上角的“保存”。]
然后我在 Kommunicate -> Settings -> Developer -> Webhooks 中添加了 Webhook URL(与 DialogFlow 中使用的相同) [注意:点击页面底部的保存更改按钮]
一旦一切设置完毕,您将开始在服务器中接收消息,并可以根据需要添加逻辑。请注意,这是非常乏味的,因为您必须阅读大量文档并添加一堆逻辑才能使其按照您想要的方式工作。
关于dialogflow-es - 如何限制聊天机器人 Kommunicate 中收到的聊天数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61507257/