- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个web-app chat and a Rasa server这是一个聊天机器人,我希望聊天机器人处理从第一个聊天机器人收到的消息。
在端口 8000 上启动应用程序并在端口 5000 上启动 rasa_nlu.server 后,我很难让服务器处理消息。事实上,在 app.py
终端上,获取所有路由的脚本:
* Detected change in '/home/mike/Programing/Rasa/myflaskapp/app.py', reloading
* Restarting with stat
* Debugger is active!
* Debugger PIN: 213-078-895
{'error': "No project found with name 'default'."}
HOUSTON ! WE GOT AN EXCETPITON !
'topScoringIntent'
127.0.0.1 - - [04/Jun/2018 17:28:12] "POST /chat HTTP/1.1" 200 -
{'error': 'Unable to initialize persistor'}
HOUSTON ! WE GOT AN EXCETPITON !
'topScoringIntent'
127.0.0.1 - - [04/Jun/2018 17:29:13] "POST /chat HTTP/1.1" 200 -
在我启动的终端上 python -m rasa_nlu.server --path ~/Programing/Rasa/myflaskapp/models/nlu/
:
(myFlaskAppenv) mike@mike-thinks:~/Programing/Rasa/myflaskapp$ python -m rasa_nlu.server --path ~/Programing/Rasa/myflaskapp/models/nlu/
2018-06-04 17:29:06+0100 [-] Log opened.
2018-06-04 17:29:06+0100 [-] Site starting on 5000
2018-06-04 17:29:06+0100 [-] Starting factory <twisted.web.server.Site object at 0x7fdec5825f60>
2018-06-04 17:29:13+0100 [-] 2018-06-04 17:29:13 WARNING rasa_nlu.project - Using default interpreter, couldn't fetch model: Unable to initialize persistor
2018-06-04 17:29:13+0100 [-] 2018-06-04 17:29:13 ERROR __main__ - Unable to initialize persistor
2018-06-04 17:29:13+0100 [-] Traceback (most recent call last):
2018-06-04 17:29:13+0100 [-] File "/home/mike/Programing/Rasa/myflaskapp/myFlaskAppenv/lib/python3.5/site-packages/rasa_nlu/server.py", line 241, in parse
2018-06-04 17:29:13+0100 [-] self.data_router.parse, data))
2018-06-04 17:29:13+0100 [-] File "/home/mike/Programing/Rasa/myflaskapp/myFlaskAppenv/lib/python3.5/site-packages/twisted/python/threadpool.py", line 250, in inContext
2018-06-04 17:29:13+0100 [-] result = inContext.theWork()
2018-06-04 17:29:13+0100 [-] File "/home/mike/Programing/Rasa/myflaskapp/myFlaskAppenv/lib/python3.5/site-packages/twisted/python/threadpool.py", line 266, in <lambda>
2018-06-04 17:29:13+0100 [-] inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
2018-06-04 17:29:13+0100 [-] File "/home/mike/Programing/Rasa/myflaskapp/myFlaskAppenv/lib/python3.5/site-packages/twisted/python/context.py", line 122, in callWithContext
2018-06-04 17:29:13+0100 [-] return self.currentContext().callWithContext(ctx, func, *args, **kw)
2018-06-04 17:29:13+0100 [-] File "/home/mike/Programing/Rasa/myflaskapp/myFlaskAppenv/lib/python3.5/site-packages/twisted/python/context.py", line 85, in callWithContext
2018-06-04 17:29:13+0100 [-] return func(*args,**kw)
2018-06-04 17:29:13+0100 [-] File "/home/mike/Programing/Rasa/myflaskapp/myFlaskAppenv/lib/python3.5/site-packages/rasa_nlu/data_router.py", line 241, in parse
2018-06-04 17:29:13+0100 [-] model)
2018-06-04 17:29:13+0100 [-] File "/home/mike/Programing/Rasa/myflaskapp/myFlaskAppenv/lib/python3.5/site-packages/rasa_nlu/project.py", line 118, in parse
2018-06-04 17:29:13+0100 [-] interpreter = self._interpreter_for_model(model_name)
2018-06-04 17:29:13+0100 [-] File "/home/mike/Programing/Rasa/myflaskapp/myFlaskAppenv/lib/python3.5/site-packages/rasa_nlu/project.py", line 197, in _interpreter_for_model
2018-06-04 17:29:13+0100 [-] metadata = self._read_model_metadata(model_name)
2018-06-04 17:29:13+0100 [-] File "/home/mike/Programing/Rasa/myflaskapp/myFlaskAppenv/lib/python3.5/site-packages/rasa_nlu/project.py", line 212, in _read_model_metadata
2018-06-04 17:29:13+0100 [-] self._load_model_from_cloud(model_name, path)
2018-06-04 17:29:13+0100 [-] File "/home/mike/Programing/Rasa/myflaskapp/myFlaskAppenv/lib/python3.5/site-packages/rasa_nlu/project.py", line 250, in _load_model_from_cloud
2018-06-04 17:29:13+0100 [-] raise RuntimeError("Unable to initialize persistor")
2018-06-04 17:29:13+0100 [-] RuntimeError: Unable to initialize persistor
2018-06-04 17:29:13+0100 [-] "127.0.0.1" - - [04/Jun/2018:16:29:13 +0000] "GET /parse?q=Hi HTTP/1.1" 500 47 "-" "python-requests/2.18.4"
这里是app.py
中涉及聊天机器人消息处理的部分,如果还有更多需要请告诉我,但我认为这不是最重要的:
@app.route('/chat',methods=["POST"])
def chat():
try:
user_message = request.form["text"]
response = requests.get("http://localhost:5000/parse",params={"q":user_message})
response = response.json()
entities = response.get("entities")
topresponse = response["topScoringIntent"]
intent = topresponse.get("intent")
print("Intent {}, Entities {}".format(intent,entities))
if intent == "gst-info":
response_text = gst_info(entities)# "Sorry will get answer soon" #get_event(entities["day"],entities["time"],entities["place"])
elif intent == "gst-query":
response_text = gst_query(entities)
else:
response_text = get_random_response(intent)
return jsonify({"status":"success","response":response_text})
except Exception as e:
print("HOUSTON ! WE GOT AN EXCETPITON !")
print(e)
return jsonify({"status":"success","response":"Sorry I am not trained to do that yet..."})
所以错误来自 project.py 中的 load_model_from_cloud :
...
class Project(object):
def __init__(self,
component_builder=None,
project=None,
project_dir=None,
remote_storage=None):
self._component_builder = component_builder
self._models = {}
self.status = 0
self._reader_lock = Lock()
self._loader_lock = Lock()
self._writer_lock = Lock()
self._readers_count = 0
self._path = None
self._project = project
self.remote_storage = remote_storage
...
def _load_model_from_cloud(self, model_name, target_path):
try:
from rasa_nlu.persistor import get_persistor
p = get_persistor(self.remote_storage)
if p is not None:
p.retrieve(model_name, self._project, target_path)
else:
raise RuntimeError("Unable to initialize persistor")
except Exception as e:
logger.warn("Using default interpreter, couldn't fetch "
"model: {}".format(e))
raise # re-raise this exception because nothing we can do now
所以问题是我没有设置remote_storage
。我什至不知道这是什么!
附录:
Rasa NLU 版本:
rasa 核心:0.9.0a3
拉萨-nlu:0.12.3
操作系统:Linux 16.04
模型配置文件内容:
slots:
location:
type: text
mood:
type: text
information:
type: text
adjective:
type: text
# intention the bot is able to recognize from the sentences
intents:
- greet
- goodbye
- inform
# entities he may be able to extract
entities:
- location
- mood
- information
- adjective
# actions the bot can take
actions:
- utter_greet
- utter_goodbye
- utter_ask_location
- actions.ActionWeather
- utter_joy
- utter_fear
- utter_anger
- utter_sadness
- utter_disgust
- utter_shame
- utter_guilt
templates:
utter_greet:
- 'Hello! How can I help?'
utter_goodbye:
- 'Talk to you later.'
- 'Bye bye :('
utter_ask_location:
- 'In what location?'
utter_joy:
- 'Am so happy for you'
utter_fear:
- 'you shouldn be afraid'
utter_anger:
- 'Calm down, everything gonna be alright'
utter_sadness:
- 'be a tough guy'
utter_disgust:
- 'I understand, this is disgusting, we should get over it'
utter_shame:
- 'Ridicule does not kill'
utter_guilt:
- 'You must not feel guilty, feel proud'
最佳答案
不要使用相对路径,而是尝试使用像 home/mike/Programming...
这样的完整路径,因为 Rasa 会检查您的路径是否是操作系统中的有效目录
关于python - 无法初始化 Flask 应用程序和 rasa_nlu.server 之间的持久器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50687057/
我刚刚用 java-swing 为我写了一个桌面时钟,我希望每次登录时该时钟都运行。 为此,我将我的 jar 文件添加到 start 文件夹,我让时钟开始运行。 但我的问题是 - 任务栏中显示的图标允
我正在尝试编写一个程序来检查用户是否上传了新视频。我想让它成为一项后端工作,不断检查用户最近的视频,然后使用我的应用程序向我的用户发送推送。有关于这个问题的任何文档或示例代码吗?我完全不知道从哪里开始
我正在为我的 Raspberry Pi 编写一个程序,该程序由两个主要部分组成: 使用 Spotify-API“Libspotify”搜索音乐并播放音乐的 C 程序。 一个在 apache2 We
我做了一个C++生成命令行并将命令转发给它的程序。目前,我正在将 cmd 控制台的输出发送到一个文件,并在我的 C++ 程序中读取它。但我想让它与管道一起工作。 是否可以从 Windows cmd 行
是否可以使用 C 程序和 malloc 找出处理器的页面大小?而不是使用 sysconf() 调用? 最佳答案 如果你可以#include一些linux内核头文件,你可以在中找到宏PAGE_SIZE
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 8 年前。 Improve this ques
我想实现一个算法: 从 Ruby on Rails 应用程序获取数据库对象作为输入, 对输入执行计算, 根据计算查询 Rails 数据库, 并根据查询生成一组有序结果。 我将用 C(也许是 Objec
我今天的任务是创建一个 Python 脚本(例如 A.py),它可以执行以下操作: 启动 C 程序(例如 CProg)并传递一些参数 启动另一个 Python 脚本(例如 B.py)并传递其他参数 加
我有一个在后台运行的 .NET 程序,需要创建一个可以与该程序通信的 Windows Shell 扩展。起初我以为我会在 .NET 中创建我的 Shell Extension,并使用 IpcServe
Python 程序做前端工作,C 程序做后端工作。它们中的每一个都是一个单独的过程。 Python 进程充当主进程,向 C 进程发送信号和事件。 C 进程生成统计信息、计数器和信息,这些信息被发送回
如何与 shell 脚本共享 C 头文件? shell 脚本通过命名管道与 C 程序通信。让我们假设 C 头文件中定义的枚举 SAMPLE_ONE 由 C 程序写入管道。 shell 脚本从管道中读出
我有一些客户/候选人提示我的程序不能在他们的 Windows 7 64 位版本上运行(已通过屏幕截图确认)。错误很奇怪,例如: in the trial version i am getting a
这个问题在这里已经有了答案: Why SDL defines main macro? (2 个答案) 关闭 7 年前。 我在 Windows 操作系统下使用 QT Creator 的简单程序中使用
我的导师给了我们一个基本的 C shell 来扩展,我目前正在努力让 shell 在用户在命令行中输入“cd [directory]”时更改目录。我已经得到它来停止段错误,但它不会更改目录。谁能告诉我
我以前有过这个工作,但我使用的是指针。 getenv() 不断崩溃,所以我使用 sprintf() 复制了结果。现在我想用 : 删除并只打印第一次出现的地方。请帮忙! #include #inclu
你好,我第一次使用 C primer plus book 学习 C,然后在第 16 章关于 C11 标准的 _Generic 我在 Eclipse c/c++ 中编写了一个程序并构建它产生了 8 个错
我正在尝试从另一个 C 程序执行 python 程序,其中 py 脚本的返回值为 int array[3] 我可以从 python 退出代码中获取这个数组吗?? 编辑:如果问题不清楚,我可以将 pyt
// The countChicken() method should count the number of occurrences of the word chicken (or some oth
我已经通过 ZMQ 使用同一类成功地从 C# 和 C++ 程序传输数据,其中 C++ 类是数据定义,编译器幸运地将字节数组屏蔽到类。 我如何在 C# 和 Node.js 程序之间做同样的事情?我认为他
任何人都可以为我指明有关 makefile 如何工作以及如何使用 eclipse 从头开始基本程序的好教程的方向吗?我正在为 fedora 和 C++ 使用 eclipse 3.4.1 版。提前致
我是一名优秀的程序员,十分优秀!