我已经在 Slack 上创建了工作场所,并在那里注册了应用程序,从那里我获得了必要的东西,例如 slack 令牌和通道,以将其放入 rasa 的 credential.yml 文件中。获得所有凭据后,我尝试使用以下命令在 rasa 机器人和 slack 之间进行连接:
rasa run
Run Code Online (Sandbox Code Playgroud)
我的凭证.yml 包含:
松弛:
slack_token: "xoxb-****************************************"
slack_channel: "#ghale"
Run Code Online (Sandbox Code Playgroud)
在这里,我使用 ngrok 将本地计算机上运行的 Web 服务器公开到互联网
但出现错误:
rasa.nlu.extractors.duckling_http_extractor - 无法连接到 duckling http 服务器。确保 duckling 服务器正在运行,并且在配置中设置了正确的主机和端口。有关如何运行服务器的更多信息可以在 github 上找到: https: //github.com/facebook/duckling#quickstart错误:HTTPConnectionPool(host='localhost', port=8000): url 超出最大重试次数:/parse (由NewConnectionError(':无法建立新连接:[WinError 10061]无法建立连接,因为目标机器主动拒绝',))
我正在使用 RASA 开发一个用于银行业务的机器人。我有资金转账、交易历史、贷款、余额、账单支付等意图。我已经实现了一次处理一项功能的意图。现在,我想一次处理多个意图。
例如,如果用户说,
显示我的最新交易,然后在显示余额后支付我的账单。
当用户在一次话语中要求超过一两个功能时,我该如何处理这些类型的输入?
我知道,我可以使用多个实体来实现意图,但这似乎对我不起作用,因为我有太多的意图,以至于我无法承担使用 2 或 3 个实体的组合来实现意图。
是否有可能使用 RASA 或任何其他技术来构建聊天机器人?
我正在创建一个智能聊天机器人。然而,这部分信息无关紧要。我想做的是调用字典中的指令 - 我将向您展示:
dictionary = ["command1": "print("I just called command1!")]
dictionary["command1"]
Run Code Online (Sandbox Code Playgroud)
有点像那样。显然你不能那样做。我希望能够拥有一个包含不同命令的字典,当您使用字典时将运行这些命令[whatever_command you Want_in_here]
你明白我的意思吗?
我可以使用函数,但显然这会占用大量空间和大量代码,当我的聊天机器人中有如此多的响应时,我无法承受这些空间和代码。
我真的需要知道如何以简单的方式做到这一点。
Rasa NLU版本(例如0.7.3
):rasa-nlu-0.11.3
使用的后端/管道:spacy_sklearn
操作系统:Windows 10
问题:我正在尝试按照rasa网站中所述的示例代码进行培训.
from rasa_nlu.training_data import load_data
from rasa_nlu.config import RasaNLUConfig
from rasa_nlu.model import Trainer
training_data = load_data('data/examples/rasa/demo-rasa.json')
trainer = Trainer(RasaNLUConfig("sample_configs/config_spacy.json"))
trainer.train(training_data)
model_directory = trainer.persist('./projects/default/')
Run Code Online (Sandbox Code Playgroud)
但是我找不到rasa_nlu.training_data中的load_data函数,因此,我收到以下错误:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-5-07f2f1a6c2ac> in <module>()
----> 1 from rasa_nlu.training_data import load_data
2 from rasa_nlu.config import RasaNLUConfig
3 from rasa_nlu.model import Trainer
ImportError: cannot import name 'load_data'
Run Code Online (Sandbox Code Playgroud)
有人可以帮帮我吗?
为了在 JS 中构建一个小 chabot,我需要检查我放在列表中的单词之一是否在字符串中,如下所示:
var helloWords = ["hello", "salut", "hi", "yo", "hey"];
var HowWords = [“你好吗”,“最近怎么样”,“最近怎么样”,“你怎么样”];
如果“来自 helloWords 的单词之一在字符串中”
-> 回复一些东西
如果“来自 howWords 的单词之一在字符串中”
-> 回复别的东西
我目前正在使用下面的方法,但它根本不实用,而且我在一个很长的 if/else 程序中迷路了......
var hello = /\bhello\b|\bhi\b|\byo\b|\bsalut\b/gi.test(commands);
如果(你好 == 真} ....
你知道是否有一种更干净、更有效的方法来构建这样的东西?也许用另一种语言?
非常感谢 !
我正在尝试使用Espresso自动执行Android应用程序,即聊天机器人。我可以说我是Android应用程序自动化的全新手。现在,我正苦苦等待。如果我使用thread.sleep,它可以很好地工作。但是我想等待特定的文本出现在屏幕上-我该怎么做?
@Rule
public ActivityTestRule<LoginActivity> mActivityTestRule = new ActivityTestRule<>(LoginActivity.class);
@Test
public void loginActivityTest() {
ViewInteraction loginName = onView(allOf(withId(R.id.text_edit_field),
childAtPosition(childAtPosition(withId(R.id.email_field),0), 1)));
loginName.perform(scrollTo(), replaceText("test@test.test"), closeSoftKeyboard());
ViewInteraction password= onView(allOf(withId(R.id.text_edit_field),
childAtPosition(childAtPosition(withId(R.id.password_field),0), 1)));
password.perform(scrollTo(), replaceText("12345678"), closeSoftKeyboard());
ViewInteraction singInButton = onView(allOf(withId(R.id.sign_in), withText("Sign In"),childAtPosition(childAtPosition(withId(R.id.scrollView), 0),2)));
singInButton .perform(scrollTo(), click());
Run Code Online (Sandbox Code Playgroud)
//这里我需要等待文本“ Hi ...” //一些解释:按下按钮签名后,聊天机器人说“ hi”,会提供更多信息,我想等待最后一条消息出现屏幕上。
我想要用于自然语言处理任务的英语问候短语列表,所以我想知道在哪里可以找到类似的东西?
好的,我正在研究聊天机器人,我有一个名为m_sResponse的私有std ::字符串.使用此字符串输出
void print_response() const {
if(m_sResponse.length() > 0) {
std::cout << m_sResponse << std::endl;
}
}
Run Code Online (Sandbox Code Playgroud)
我想创建一个错误拼写m_sRensponse的函数让我们说5%的时间让聊天机器人更像人.我怎么做到这一点?