我一直在努力理解 Microsoft Bot Emulator 如何根据其侦听的端口工作。
问题 - 我正在尝试使用 Chatterbot(一个 python 包)构建一个将在模拟器上运行的玩具机器人。Chatterbot 具有 Microsoft 的输入和输出适配器(使用 Directline)。根据他们的教程,我创建了一个看起来像这样的玩具示例:
from chatterbot import ChatBot
data_path = 'XXXX'
# Uncomment the following lines to enable verbose logging
import logging
logging.basicConfig(level=logging.INFO)
bot = ChatBot('toybot',
storage_adapter = 'chatterbot.storage.SQLStorageAdapter',
input_adapter = 'chatterbot.input.Microsoft',
output_adapter = 'chatterbot.output.Microsoft',
directline_host = "http://localhost:3979",
logic_adapters=[
'chatterbot.logic.MathematicalEvaluation',
'chatterbot.logic.TimeLogicAdapter'
],
#database = data_path + 'database.sqlite3'
)
while True:
try:
bot_input = bot.get_response(None)
except(KeyboardInterrupt, EOFError, SystemExit):
break
我的问题:
- 这个代码片段可以在模拟器上运行吗?或者,这是否需要托管在 Azure 上的机器人?
现在,如果我运行此代码并启动模拟器,我要么遇到“连接被拒绝错误”,要么模拟器说找不到端点。
- 在该行
directline_host = "http://localhost:3979"
中,端口号是否应该是模拟器所需的端点?或者,它应该是模拟器正在监听的端口吗?(每次模拟器启动时都会更改的 5 位数字)