Rasa Open Source 2.0 is out now! - Announcements / Important Updates - Rasa Community Forum
Rasa Open Source 2.0 is out now!
Announcements Important Updates
You have selected 0 posts.
5.6k views 23 likes 9 links 22 users
20](https://forum.rasa.com/u/petasis "petasis")
14](https://forum.rasa.com/u/akelad "akelad")
5](https://forum.rasa.com/u/noman "noman")
5](https://forum.rasa.com/u/depicus "depicus")
5](https://forum.rasa.com/u/tswordsmith "tswordsmith")
read 11 min
Top replies
74 / 74
Oct 2020
post by Emma on Oct 7, 2020
EmmaEmma Wightman Community Manager
6
Hey @community
Rasa Open Source 2.0 is centered on simplicity, especially unifying key concepts and reducing the learning curve for newcomers—while still expanding what advanced Rasa users can create. We’d like to thank each of you who have greatly helped us by testing and providing your feedback on the alpha versions, we appreciate your support in achieving this milestone and helping us shape the future direction of Rasa Open Source.
Heading link What’s new?
The release includes YAML formatting for training data, the new RulePolicy and rule snippets, and a new feature to suggest a pipeline configuration. Plus, we’ve done a major documentation update!
In addition, Rasa Open Source 2.0 will be fully compatible with the upcoming Rasa X release: 0.33.0. You will be able to upgrade to Rasa X 0.33.0 to get support for YAML training data and the ability to view, create, and edit rule snippets. It also includes complete support for retrieval intents, which now appear alongside regular intents in the UI, and you can view, add, and edit multimedia responses.
Read more in our blog:
Check out the details in our changelog:
Heading link Need to migrate from 1.10 to 2.0? Here’s a guide:
Heading link Get an in-depth look at everything in 2.0!
On Wednesday, October 14, our team will present a 90-minute deep dive into the major release!
Timezones: 8am - 9:30am PDT/5pm - 6:30pm CEST/8:30pm - 10pm IST
Heading link We very much look forward to your feedback!
5.6k views 23 likes 9 links 22 users
20](https://forum.rasa.com/u/petasis "petasis")
14](https://forum.rasa.com/u/akelad "akelad")
5](https://forum.rasa.com/u/noman "noman")
5](https://forum.rasa.com/u/depicus "depicus")
5](https://forum.rasa.com/u/tswordsmith "tswordsmith")
read 11 min
Top replies
post by mann2107 on Oct 9, 2020
mann2107Manish KumarRasa Certified Developer
Wow… Congratulations @community. Will explore asap
post by petasis on Oct 9, 2020
@Emma Well, frustrating. My working forms in 2.0.rc3 & 2.0rc4 stopped working. After 9 days (!) of migration, and I am again at zero. Are you sure the documentation is correct?
Rasa 2.0 returned back to FormValidationAction and validate_cuisine()? I tired to follow what is written here: Forms
While testing, rasa NEVER asked the form validation function, and in the action logs I only see:
2020-10-09 13:56:58 DEBUG rasa_sdk.executor - Received request to run 'validate_flight_departure_form' 2020-10-09 13:56:58 DEBUG rasa_sdk.executor - Finished running 'validate_flight_departure_form' 2020-10-09 13:56:58 DEBUG rasa_sdk.executor - Received request to run 'action_ask_sl_frm_flight_departure_info_city'
Form validation starts, from the user text (I am flying to Berlin), the validate_sl_frm_flight_departure_info_city is never called (to validate Berlin), and you end up asking for a city.
Also, are you sure you can have two actions by the same name? Like here: Forms The programmer should define another action, again with name “validate_restaurant_form”, for custom slot filling?
post by Ghostvv on Oct 9, 2020
@petasis what do you mean by “rasa NEVER asked the form validation function”?
in your logs, it says Received request to run 'validate_flight_departure_form' so validation action was run
post by petasis on Oct 9, 2020
@Ghostvv Yes, I see it in my logs, but what was run?
I have modified my validation form to be (according to today’s docs):
class ValidateFlightDepartureForm(FormValidationAction):
def name(self):
return "validate_flight_departure_form"
@staticmethod
def required_slots(tracker):
return ["sl_frm_flight_departure_info_city",\
"sl_frm_flight_departure_info_time"]
def validate_sl_frm_flight_departure_info_city(
self,
value: Any,
dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: DomainDict,
) -> Dict[Text, Any]:
"""Validate city value."""
logger.debug(f"Validating city value: {value}")
.....
But the “Validating city value:” is not in my logs. The validation method was never called. I am unaware what gets validated.
post by petasis on Oct 9, 2020
And the fact that the form then asks for a city, suggests that something happened (an error?) that is not shown.
post by petasis on Oct 9, 2020
@Ghostvv I suppose it is stil due to this (unsolved) bug that tracker.slots_to_validate() returns an empty list when the entities are defined in the user text.
The user asks: “I want to go to Berlin”. The entity “city” is identified, and the slot city is filled (it has the same value as the slot). The form slot must be filled from city:
forms: flight_departure_form: sl_frm_flight_departure_info_city: - type: from_entity entity: city intent: - flight_departure_info - inform
I modified validate() in forms.py in rasa-sdk to:
class FormValidationAction(Action, ABC):
"""An action that validates if every extracted slot is valid."""
async def validate(
self,
dispatcher: "CollectingDispatcher",
tracker: "Tracker",
domain: "DomainDict",
) -> List[EventType]:
"""Validate slots by calling a validation function for each slot.
Args:
dispatcher: the dispatcher which is used to
send messages back to the user.
tracker: the conversation tracker for the current user.
domain: the bot's domain.
Returns:
`SlotSet` events for every validated slot.
"""
print("Slots to validate:", flush=True)
slots: Dict[Text, Any] = tracker.slots_to_validate()
print("Slots to validate:", slots, flush=True)
And the log is:
2020-10-09 15:05:28 DEBUG rasa_sdk.executor - Received request to run 'validate_flight_departure_form'
Slots to validate:
Slots to validate: {}
2020-10-09 15:05:28 DEBUG rasa_sdk.executor - Finished running 'validate_flight_departure_form'
So, tracker.slots_to_validate() returns nothing.
post by petasis on Oct 9, 2020
It was called “tracker.form_slots_to_validate()” in 2.0.0rc4
post by petasis on Oct 9, 2020
@Ghostvv In rasa 2.0 it is impossible to bypass this bug. I tried to bring my “run()” from 2.0rc4 as "validate() in my FormValidationAction in rasa 2.0, but the form slots are not filled any more (as was done in 2.0rc2/3/4).
So, the only slots that are not None are {'city': Berlin', 'language': 'el'}, so there is absolutely no way to deduce that sl_frm_flight_departure_info_city must be validated.
I think it is urgent that tracker.slots_to_validate() is fixed. User texts that trigger a form and contain also slot values in the text, do not work at all.
post by bayesianwannabe on Oct 9, 2020
That’s nice! Congratulations!
Using the forms with the new syntax seems really nice.
Will the JSON format for NLU data still be a compatible format in Rasa 2.0?
post by Tobias_Wochinger on Oct 9, 2020
@petasis Could you please also print tracker.events and share the output? Sorry for the pain . Thanks for trying out the new forms and giving us this important feedback!
post by petasis on Oct 9, 2020
@Tobias_Wochinger Here it is:
2020-10-09 15:45:58 DEBUG rasa_sdk.executor - Received request to run 'validate_flight_departure_form'
[{'event': 'action', 'timestamp': 1602247557.9156418, 'name': 'action_session_start', 'policy': None, 'confidence': None}, {'event': 'session_started', 'timestamp': 1602247557.9156487}, {'event': 'action', 'timestamp': 1602247557.915664, 'name': 'action_listen', 'policy': None, 'confidence': None}, {'event': 'user', 'timestamp': 1602247558.7827165, 'text': 'Πάω Βερολίνο', 'parse_data': {'intent': {'id': -3941216509075261043, 'name': 'flight_departure_info', 'confidence': 0.8201098442077637}, 'entities': [{'start': 0, 'end': 12, 'value': 'el', 'entity': 'language', 'extractor': 'LanguageDetection', 'confidence': 0.8, 'processors': []}, {'entity': 'flying', 'start': 0, 'end': 3, 'confidence_entity': 0.9909201860427856, 'value': 'Πάω', 'extractor': 'DIETClassifier'}, {'entity': 'city', 'start': 4, 'end': 12, 'confidence_entity': 0.9995670914649963, 'role': 'destination', 'confidence_role': 0.9381487369537354, 'value': 'Βερολίνο', 'extractor': 'DIETClassifier'}], 'text': 'Πάω Βερολίνο', 'message_id': '87c00f56503c44e3bf86d65316592e5d', 'metadata': {}, 'intent_ranking': [{'id': -3941216509075261043, 'name': 'flight_departure_info', 'confidence': 0.8201098442077637}, {'id': 2664044872589260126, 'name': 'search_weather', 'confidence': 0.12625588476657867}, {'id': 7125258340380963357, 'name': 'inform', 'confidence': 0.044472575187683105}, {'id': -39451462298262712, 'name': 'flight_arrival_info', 'confidence': 0.003252280643209815}, {'id': -5768927727766554198, 'name': 'thank_you', 'confidence': 0.0018673756858333945}, {'id': -8692670432125223958, 'name': 'search_encyclopedia', 'confidence': 0.0017559383995831013}, {'id': 6588513445203812823, 'name': 'deny', 'confidence': 0.0009740469977259636}, {'id': -7785233749859444664, 'name': 'affirm', 'confidence': 0.0006402599974535406}, {'id': 7070374288436930481, 'name': 'chitchat_el', 'confidence': 0.0005440535605885088}, {'id': 6954701023244427238, 'name': 'chitchat_en', 'confidence': 0.00012771673209499568}], 'response_selector': {'all_retrieval_intents': ['chitchat_el', 'chitchat_en', 'thank_you', 'insult'], 'default': {'response': {'id': -5457300344229815958, 'response_templates': [{'text': 'Δεν νομίζω να αρέσει σε κανέναν ο πόλεμος.'}], 'confidence': 0.18031364679336548, 'intent_response_key': 'chitchat_el/trivia0el012', 'template_name': 'utter_chitchat_el/trivia0el012'}, 'ranking': [{'id': -5457300344229815958, 'confidence': 0.18031364679336548, 'intent_response_key': 'chitchat_el/trivia0el012'}, {'id': 7748575985266962142, 'confidence': 0.1385030597448349, 'intent_response_key': 'chitchat_el/AI0el0artificial0el0intelligence0el043'}, {'id': -7816006097834037261, 'confidence': 0.10925857722759247, 'intent_response_key': 'chitchat_el/AI0el0artificial0el0intelligence0el056'}, {'id': -3888007851385573483, 'confidence': 0.09588941931724548, 'intent_response_key': 'chitchat_el/AI0el0artificial0el0intelligence0el057'}, {'id': 8478890575344912681, 'confidence': 0.09179303795099258, 'intent_response_key': 'chitchat_el/trivia0el010'}, {'id': -6018272054094680420, 'confidence': 0.08424077183008194, 'intent_response_key': 'chitchat_el/trivia0el08'}, {'id': -4798333830252020586, 'confidence': 0.07688944041728973, 'intent_response_key': 'chitchat_el/AI0el0artificial0el0intelligence0el026'}, {'id': 6799014478740034578, 'confidence': 0.0765918642282486, 'intent_response_key': 'chitchat_el/AI0el0artificial0el0intelligence0el059'}, {'id': 6827961708562525567, 'confidence': 0.07622824609279633, 'intent_response_key': 'chitchat_el/pepper0el013'}, {'id': -5419568955056479616, 'confidence': 0.07029189169406891, 'intent_response_key': 'chitchat_el/philosophy0el04'}]}}}, 'input_channel': 'cmdline', 'message_id': '87c00f56503c44e3bf86d65316592e5d', 'metadata': {}}, {'event': 'slot', 'timestamp': 1602247558.7827384, 'name': 'city', 'value': 'Βερολίνο'}, {'event': 'slot', 'timestamp': 1602247558.782742, 'name': 'language', 'value': 'el'}, {'event': 'action', 'timestamp': 1602247558.7963033, 'name': 'flight_departure_form', 'policy': None, 'confidence': None}]
2020-10-09 15:45:58 DEBUG rasa_sdk.executor - Finished running 'validate_flight_departure_form'
post by petasis on Oct 9, 2020
@Tobias_Wochinger A first observation is that in all rasa versions (including 2.00rc) before 2.0, the form slots that should be filled according to the domain file, were filled before a form validation was requested. In rasa 2.0, the form slots are empty. And when validation is asked from the action server, now the slot filling has to somehow happen in the actions server. Was this change on purpose?
post by tatianaf on Oct 9, 2020
The documentation for writing forms has 2 different formats in the examples:
Im assuming the second link is the correct one but please correct the first one to match the second…
post by tatianaf on Oct 9, 2020
Has Rasa X been updated to work with Rasa 2.0? I don’t see a new tag in docker hub: Docker Hub
post by tswordsmith on Oct 11, 2020
tswordsmithTariq SegalRasa Certified Developer
The ‘download project’ button in the Rasa Playground does not work. Tried on Chrome ond Edge (both chromium) but the button is not recognised as a button.
post by tswordsmith on Oct 11, 2020
Executing ‘rasa train’ in Rasa 2.0 only uses the CPU for processing and does not take advantage of the GPU hardware available. I’ve been using a GPU with previous versions so I know it was previously finding this hardware. How do I get Rasa to recognise the GPU? As a test I removed the tensorflow package and then reinstalled the tensorflow-gpu package to try and force Rasa to use the only option available but still received the following error:
rasa train Traceback (most recent call last): File “c:\users\t\anaconda3\envs\aenv\lib\runpy.py”, line 194, in _run_module_as_main return run_code(code, main_globals, None, File “c:\users\t\anaconda3\envs\aenv\lib\runpy.py”, line 87, in run_code exec(code, run_globals) File "C:\Users\t\anaconda3\envs\aenv\Scripts\rasa.exe_main.py", line 7, in File "c:\users\t\anaconda3\envs\aenv\lib\site-packages\rasa_main.py", line 104, in main set_log_level(log_level) File “c:\users\t\anaconda3\envs\aenv\lib\site-packages\rasa\utils\common.py”, line 66, in set_log_level update_tensorflow_log_level() File “c:\users\t\anaconda3\envs\aenv\lib\site-packages\rasa\utils\common.py”, line 108, in update_tensorflow_log_level import tensorflow as tf ModuleNotFoundError: No module named ‘tensorflow’
post by petasis on Oct 12, 2020
In my setup, rasa 2.0 uses the GPU for training. Is tensorflow installed?
post by petasis on Oct 12, 2020
petasis](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
Is a fix expected for the forms problems? (like today?)
post by tswordsmith on Oct 12, 2020
petasis](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
I am not sure what is happening. Conda list doesn’t show tensorflow but does show tensorflow-gpu but when I run > rasa train CPU usage goes up to 80% and the GPU usage stays at 0%.
tabulate 0.8.7 pypi_0 pypi tensorboard 2.3.0 pypi_0 pypi tensorboard-plugin-wit 1.7.0 pypi_0 pypi tensorflow-addons 0.11.2 pypi_0 pypi tensorflow-estimator 2.3.0 pypi_0 pypi tensorflow-gpu 2.3.1 pypi_0 pypi tensorflow-gpu-estimator 2.3.0 pypi_0 pypi tensorflow-hub 0.9.0 pypi_0 pypi tensorflow-probability 0.11.1 pypi_0 pypi termcolor 1.1.0 pypi_0 pypi
\ image227×542 14.6 KB](https://europe1.discourse-cdn.com/flex013/uploads/rasa/original/2X/c/c58dea266c9e915ac5d0a63be263bc6a9f85b485.png "image")
post by petasis on Oct 12, 2020
If you run python, and type import tensorflow and print(tensorflow), what is happening?
post by tswordsmith on Oct 12, 2020
(auraenv) c:\devp\aura>python Python 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 Type “help”, “copyright”, “credits” or “license” for more information.
import tensorflow 2020-10-12 19:58:45.876092: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library ‘cudart64_101.dll’; dlerror: cudart64_101.dll not found 2020-10-12 19:58:45.876252: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
so tensorflow is not installed atm but the GPU is not being used.
print (tensorflow) <module ‘tensorflow’ from ‘C:\Users\tariq\anaconda3\envs\auraenv\lib\site-packages\tensorflow\ **init**.py’>
post by petasis on Oct 12, 2020
I understand that tensorflow is installed, but you have a driver problem, and it cannot load the needed dlls, so it uses CPU only. You have to resolve this issue before you can use the GPU.
post by akelad on Oct 12, 2020
akeladAkela Drissner Leader
tatianaf](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
which part is different? they look mostly identical to me, not sure if i’m missing something
post by akelad on Oct 12, 2020
akeladAkela Drissner Leader
petasis](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
we’re looking into it and will let you know when there’s a fix, might not be today though
post by petasis on Oct 12, 2020
@akelad If there is a patch, I would still like to try it.
post by Tobias_Wochinger on Oct 12, 2020
@Tobias_Wochinger Here it is:
The event order is for some reason wrong. The flight_departure_form should come before the slot events. I just tried this out myself and the order is definitely correct. How does your domain look like and which versions of Rasa Open Source and the Rasa SDK are you using?
the form slots that should be filled according to the domain file, were filled before a form validation was requested. In rasa 2.0, the form slots are empty. And when validation is asked from the action server, now the slot filling has to somehow happen in the actions server.
The slots should still be filled based on the slot mappings before the request is sent to the SDK. The SDK can 1) validate the extracted slots 2) Add new slot events (e.g. for custom slot mappings)
post by petasis on Oct 12, 2020
I am using rasa/sdk 2.0. In rasa 2.0.0rc4 I had a workarround. In rasa 2.0 I don’t know what to do. The domain is included in the archive.
When you mention the “The flight_departure_form should come before the slot events”, in which file you are referring to? Can you send me a “corrected” story?
(I generated the stories with rasa interactive).
rasa --version
Rasa Version : 2.0.0
Rasa SDK Version : 2.0.0
Rasa X Version : None
Python Version : 3.8.5 (default, Aug 12 2020, 00:00:00)
Operating System : Linux-5.8.12-200.fc32.x86_64-x86_64-with-glibc2.2.5
Python Path : /usr/bin/python3
Regarding running the form, no, no form slots are filled before calling the form activation/validation.
post by Tobias_Wochinger on Oct 12, 2020
That part should be done within Rasa Open Source so you don’t require a story for that.
The domain is included in the archive.
Sorry, but where can I find this archive?
post by Tobias_Wochinger on Oct 12, 2020
tatianaf](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
Has Rasa X been updated to work with Rasa 2.0? I don’t see a new tag in docker hub: Docker Hub
Hi @tatianaf, thanks for asking! We’ll release a compatible version end of this week / early next week
post by petasis on Oct 12, 2020
Tobias_Wochinger](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
I have created a small example, uploaded here: Rasa 2.0: How to resolve conflicting rules?
post by tswordsmith on Oct 13, 2020
petasis](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
Some observations from the upgrade to Rasa 2.0.
Rasa 2.0 installs tensorflow 2.3.1. which has specific environment requirements before it can utilize a GPU. Requirements listed here:
For reference my working environment is:
- GPU: GeForce GTX1070 (must be an approved GPU. see CUDA GPUs | NVIDIA Developer)
- GPU driver - 456.38 (latest will probably work)
- CUDA toolkit - 10.1.243 (must be 10.1 version)
- cuDNN - 7.6.5 (must be 7.6 version)
It is possible to make TF work with other version combinations but this will require a recompile of the toolkit.
post by petasis on Oct 14, 2020
When a new version with working forms will be released? It was been a week since the release of 2.0.
post by noman on Oct 14, 2020
nomanNoman Saleem Enthusiast
Facing almost the same problem . Slots gets extracted but does not get validated using validate_<slot_name> function.
post by noman on Oct 14, 2020
nomanNoman Saleem Enthusiast
1
@petasis are you able to validate the slot filled when asked explicitly rather than in the trigger message? if yes can you share how did you do that. Thanks
post by petasis on Oct 14, 2020
noman](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
Yes, I know It makes rasa 2.0 unusable, doesn’t it? It is surprising that it got released in the first place, and that a week without a fix has passed.
post by noman on Oct 14, 2020
nomanNoman Saleem Enthusiast
Yes totally agree, Form is an important feature. Also i was checking their implementation. required_slots and validate functions are still there then why are they providing a new interface. I was overriding validate before, without any issue . I am also stucked
post by petasis on Oct 14, 2020
noman](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
Yes, I think this is working. The problem is when the value to fill the slot is in the trigger message. I haven’t done anything special, I just followed the docs here:
(If you had your actions working according to 2.0.0rc4, you need to change them again).
post by akelad on Oct 14, 2020
akeladAkela Drissner Leader
noman](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
@noman you’re right that those functions still exist (they just read from different sources now), the idea behind moving e.g. the required_slots definition to the domain is to make it simpler to define a form - i.e. less code. And aside from that moving the logic of the FormAction to Rasa Open Source, means that creating action servers in different languages is a lot easier. You can also hear more about this in our 2.0 webinar today
post by noman on Oct 14, 2020
nomanNoman Saleem Enthusiast
@akelad so can we override validate even now? if yes, then why i should not override it? because current guidelines here Forms does not validate filled slots having logs
`2020-10-14 17:06:20 DEBUG rasa.core.processor - Logged UserUtterance - tracker now has 297 events. 2020-10-14 17:06:20 DEBUG rasa.core.policies.rule_policy - Predicted loop ‘order_form’. 2020-10-14 17:06:20 DEBUG rasa.core.policies.ensemble - Predicted next action using policy_0_RulePolicy 2020-10-14 17:06:20 DEBUG rasa.core.processor - Predicted next action ‘order_form’ with confidence 1.00. 2020-10-14 17:06:20 DEBUG rasa.core.actions.forms - Validating user input ‘UserUttered(text: lays, intent: {‘id’: 3152659454284902011, ‘name’: ‘inform’, ‘confidence’: 0.999991774559021}, entities: [{‘entity’: ‘snack’, ‘start’: 0, ‘end’: 4, ‘confidence_entity’: 0.8661425709724426, ‘value’: ‘lays’, ‘extractor’: ‘DIETClassifier’}])’. 2020-10-14 17:06:20 DEBUG rasa.core.actions.forms - Trying to extract requested slot ‘snack’ … 2020-10-14 17:06:20 DEBUG rasa.core.actions.forms - Got mapping ‘{‘type’: ‘from_entity’, ‘entity’: ‘snack’}’ 2020-10-14 17:06:20 DEBUG rasa.core.actions.forms - Successfully extracted ‘lays’ for requested slot ‘snack’ 2020-10-14 17:06:20 DEBUG rasa.core.actions.forms - Validating extracted slots: {‘snack’: ‘lays’} 2020-10-14 17:06:20 DEBUG rasa.core.actions.action - Calling action endpoint to run action ‘validate_order_form’. 2020-10-14 17:06:20 DEBUG rasa.core.actions.forms - Request next slot ‘size’
and My custom action: from typing import Dict, Text, List
from rasa_sdk import Tracker from rasa_sdk.events import EventType from rasa_sdk.executor import CollectingDispatcher from rasa_sdk import Action from rasa_sdk.events import SlotSet from typing import Text, List, Any, Dict from rasa_sdk import Tracker, FormValidationAction from rasa_sdk.types import DomainDict from rasa.shared.core.domain import Domain
class ActionSwitchFAQ(Action): def name(self) -> Text: return “action_switch_faq”
def run(
self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: Dict
) -> List[EventType]:
return [SlotSet("detailed_faq", not tracker.get_slot("detailed_faq"))]
class ValidateOrderForm(FormValidationAction, Action): def name(self) -> Text: “”“Unique identifier of the form”""
return "validate_order_form"
def run(
self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: Dict
) -> List[EventType]:
# dispatcher.utter_message("validate_some_slot")
return []
def validate_snack(
self,
slot_value: Any,
dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: DomainDict,
) -> Dict[Text, Any]:
"""Validate cuisine value."""
print("Slot Value=", slot_value)
if slot_value == "fries":
print("validation succeeded")
return {"snack": slot_value}
else:
print("validation failed")
# user will be asked for the slot again
return {"snack": None}
def validate_size(
self,
slot_value: Any,
dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: DomainDict,
) -> Dict[Text, Any]:
"""Validate cuisine value."""
print("Slot Value=", slot_value)
if slot_value == "large":
print("validation succeeded")
return {"size": slot_value}
else:
print("validation failed")
# user will be asked for the slot again
return {"size": None}
`
post by akelad on Oct 14, 2020
akeladAkela Drissner Leader
@noman do you mind creating a new forum post and tagging me in it? would be easier to separate out various issues we’re trying to figure out
post by noman on Oct 14, 2020
nomanNoman Saleem Enthusiast
sure that would be great
post by petasis on Oct 14, 2020
akelad](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
Any news for a fix for the forms problem to not filling/validating slots from the utterance triggering the form?
post by 123 on Oct 14, 2020
hi, how to control or select entity extracted by multi entity extractor? I am using RegexExtracor, CRFextractor, DIETextractor to extract my entity, as a result, the tracker will keep these three extracting results as a list, so how to control the tracker just keep only one result?
post by petasis on Oct 14, 2020
This is another difficult issue. Is these slots are for a form, you can write an action to validate the slot. The validation function will get the list of values, and you can select one of them. What I did (for my case) was to remove duplicates, and from the remaining values get the one with most characters.
If you not in a form, you can write a custom action, or a custom component.
post by akelad on Oct 14, 2020
akeladAkela Drissner Leader
@123 could you open a new post so we can address that issue separately?
@petasis could you a post for the issue you were originally talking about with all the details you shared already? this thread has a bunch of different discussions going on, and it’s gotten a little difficult to keep track of the issue/the data you’ve shared. Same goes for the second issue you just mentioned. Feel free to tag myself and/or Tobias
post by armanjindal on Oct 15, 2020
armanjindalAdvanced Rasa Certified Developer
Super excited there is now RasaX support! Will the Deep Dive Webinar be made available for those who missed it? Cheers.
post by poojadeshmukh on Oct 15, 2020
poojadeshmukhPoojaRasa Certified Developer
I am using Rasa 2.0. My action server is up and running, my endpoint is uptodate with action_endpoint URL, but there is no response from bot where we have action defined in story. There is no error, but it just listens and expects input from user. Is there any different way I need to handle custom actions in 2.0? this works good in 1.10 for me.
post by mbukovy on Oct 15, 2020
1
I can’t get API /model/train endpoint working on Rasa 2.0. Even if I copy your example from Rasa Open Source Documentation I’m keep getting 500
{
"version": "2.0.0",
"status": "failure",
"message": "Ran training, but it finished without a trained model.",
"reason": "TrainingError",
"details": {},
"help": null,
"code": 500
}
and this is in terminal
No training data given. Please provide stories and NLU data in order to train a Rasa model using the '--data' argument.
2020-10-15 09:40:20 ERROR rasa.server - Ran training, but it finished without a trained model.
I use rasa run --enable-api.
Edit: Here it is @akelad Rasa 2.0 - API /model/train doesn't work
post by akelad on Oct 15, 2020
akeladAkela Drissner Leader
armanjindal](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
Yep, will be uploaded to Youtube soon!
post by akelad on Oct 15, 2020
akeladAkela Drissner Leader
poojadeshmukh](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
Could you create a new post for your issue with the commands you ran etc? will be easier to solve there than in this thread with lots of different posts
post by akelad on Oct 15, 2020
akeladAkela Drissner Leader
mbukovy](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
Same to you, would be great if you can create a new forum post. Incl. the API call you made please
post by poojadeshmukh on Oct 16, 2020
akelad](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
Thanks. But this has been resolved. In 2.0, NLU is yaml, I was defining entities like like 1.X and that was causing issue. Removing this resolved the issue.
post by pitoulambert on Oct 18, 2020
pitoulambert Enthusiast
I am stuck at rasa 2.0 regarding the form validation. Could you please send me an example or a link of a project in which it is working, so that I could see the domain and actions file. Thanks in advance
post by akelad on Oct 19, 2020
akeladAkela Drissner Leader
here’s an example: https://github.com/RasaHQ/financial-demo/blob/rasa-2-0/actions/actions.py#L249
If you have any more questions, would be great if you can open a new forum post with all the details of the issue you’re having, and we’ll get back to you there
post by pitoulambert on Oct 19, 2020
pitoulambert Enthusiast
Thanks , will do it
post by martinavalogia on Oct 20, 2020
martinavalogiaS.MARTINA VALOGIA Enthusiast
I am getting this issue while trying to install Rasa 2.0.0 in Windows version 10.How can this be resolved ,any insights please With Python version 3.7.7 on Windows 10 got the below issue
Therefore I have reinstalled Python 3.6 to resolve the tensor flow issue ,now facing this
any suggestions on how to resolve this
Setting up Rasa 2.0 on a windows 10 setup using Python 3.6
Thanks in advance
post by skbushula on Oct 21, 2020
petasis](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
This is nice,
I have a form where a cellphone number is validated and it does work when a user type letters it throws that ValueError in the actions tab but i want to give a user a message like “wrong input a number is expected”
post by akelad on Oct 21, 2020
akeladAkela Drissner Leader
Hey @skbushula could you open a new post on the forum so we can help figure out whats going on? (easier to keep separate threads for all these issues)
post by dev on Oct 23, 2020
Hi!
I believe there is something amiss with the two stage fallback policy: it clears all slots when rewinding.
When the fallback is triggered, and the user correctly rephrases their input to something the bot recognises, the two stage fallback is supposed to revert the last interaction to prevent confusion when making the next prediction. It also clears all slots however.
I believe this is a bug, and it makes the two stage fallback unusable for my application. I hope this can be resolved quickly, because the fallback is a critical part of the project I am working on.
Thank you
post by akelad on Oct 23, 2020
akeladAkela Drissner Leader
Hey @dev could you create a new forum post for this please? Including some details on the rules you have for the two stage fallback policy, and a debug log of when this happens would also be great.
post by gaushh on Oct 23, 2020
gaushhGaurav Sharma Enthusiast
Hey @akelad, any update on Rasa X 0.33 ?
post by dev on Oct 23, 2020
akelad](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
@akelad, thank you for getting back
I’ve create a new topic here with an example Github repo to reproduce the issue here. Thanks again!
post by amardeep on Oct 28, 2020
amardeepAmar Deep SinghAdvanced Rasa Certified Developer
martinavalogia](https://forum.rasa.com/t/rasa-open-source-2-0-is-out-now/35577/75 "Load parent post")
I faced similar issues and i had to switch from 32 bit Python to 64 bit. Please verify your Python version , seems few packages are available in 64 bit only.
post by martinavalogia on Oct 28, 2020
martinavalogiaS.MARTINA VALOGIA Enthusiast
Hi Amar, Thanks for the info.I tried setting up using conda and it worked
Thanks
post by depicus on Oct 30, 2020
Would have been nice to get a heads up about the changes on the update page as I’ve just upgraded and now everything gone to shit.
post by akelad on Oct 30, 2020
akeladAkela Drissner Leader
@depicus could you clarify what went wrong?
post by depicus on Oct 30, 2020
Still trying to work out but using RASA X it now won’t train so having to build a RASA version on my laptop so I can see what the error is, so far half way through and no errors so far. Docker logs show a lot of 404 errors to http://rasa-x:5002/api/projects/default/models/tags/production?token=K1voLlDg0BdYQEK and still wading through the rest - some permissions errors for config but not found anything obvious yet.
post by depicus on Oct 30, 2020
Ok managed to train on the laptop but uploading the model to the server and if you ask a question it never replies !!! Going to be a long day today
p.s. this was a fresh install so no legacy except the old GitHub code.
back to the old version I think…
post by akelad on Oct 30, 2020
akeladAkela Drissner Leader
Right - this is an upgrade from 0.32 to 0.33 right? Could you zip up your logs and share them so we can try to resolve the issue? And is this using docker-compose or kubernetes?
post by depicus on Oct 30, 2020
Yes it was 0.32 to 0.33 rasa.zip (21.7 KB)
Sadly I’ve toasted the server to rebuild with 0.32 as it’s quicker than debugging so this is the only log I had downloaded
post by akelad on Oct 30, 2020
akeladAkela Drissner Leader
Ok I can see one issue in there to do with story parsing - does your repo contain training data in the old markdown format? we discovered a bug that if a file contains 3 hashtags or more, it fails to load the data. This will be fixed in a patch. And I think the bot not responding is something we’re investigating at the moment. Hopefully you can try again when a new patch is out
post by depicus on Oct 30, 2020
Yes old format because I didn’t know about the new one and it’s not front and centre on the upgrade info. Trained ok on the laptop so I’ll put into test next week when I have more time
post by satishavhad on Oct 30, 2020
I am getting below error while converting the NLU and stories data from 1.x to 2.0 format using commands “rasa data convert nlu” and “rasa data convert core”. Hoe to resolve it?
Traceback (most recent call last): File “C:\Users\avhadsa\Anaconda3\lib\runpy.py”, line 194, in run_module_as_main return run_code(code, main_globals, None, File “C:\Users\avhadsa\Anaconda3\lib\runpy.py”, line 87, in run_code exec(code, run_globals) File "C:\Users\avhadsa\Documents\GitHub\Conversational_Intelligence\venv\Scripts\rasa.exe_main.py", line 5, in File "c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\rasa_init.py", line 9, in from rasa.train import train File “c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\rasa\train.py”, line 13, in from rasa.nlu.model import Interpreter File "c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\rasa\nlu_init.py", line 5, in from rasa.nlu.test import run_evaluation as test File “c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\rasa\nlu\test.py”, line 22, in import rasa.utils.plotting as plot_utils File “c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\rasa\utils\plotting.py”, line 42, in fix_matplotlib_backend() File “c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\rasa\utils\plotting.py”, line 19, in fix_matplotlib_backend if matplotlib.get_backend() == “TkAgg”: File "c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\matplotlib_init.py", line 1188, in get_backend return rcParams[‘backend’] File "c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\matplotlib_init.py", line 702, in getitem from matplotlib import pyplot as plt File “c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\matplotlib\pyplot.py”, line 2336, in switch_backend(rcParams[“backend”]) File “c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\matplotlib_ init_.py”, line 703, in getitem plt.switch_backend(rcsetup._auto_backend_sentinel) File “c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\matplotlib\pyplot.py”, line 256, in switch_backend switch_backend(candidate) File “c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\matplotlib\pyplot.py”, line 276, in switch_backend class backend_mod(matplotlib.backend_bases. Backend): File “c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\matplotlib\pyplot.py”, line 277, in backend_mod locals().update(vars(importlib.import_module(backend_name))) File "C:\Users\avhadsa\Anaconda3\lib\importlib_init.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File “c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\matplotlib\backends\backend_qt5agg.py”, line 11, in from .backend_qt5 import ( File “c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\matplotlib\backends\backend_qt5.py”, line 16, in import matplotlib.backends.qt_editor.figureoptions as figureoptions File “c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\matplotlib\backends\qt_editor\figureoptions.py”, line 11, in from matplotlib.backends.qt_compat import QtGui File “c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\matplotlib\backends\qt_compat.py”, line 170, in _setup() File “c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\matplotlib\backends\qt_compat.py”, line 130, in _setup_pyqt4 _setup_pyqt4_internal(api=2) File “c:\users\avhadsa\documents\github\conversational_intelligence\venv\lib\site-packages\matplotlib\backends\qt_compat.py”, line 113, in _setup_pyqt4_internal sip.setapi(_sip_api, api) AttributeError: module ‘sip’ has no attribute ‘setapi’
Reply
Related topics
Topic list, column headers with buttons are sortable.
Loading complete
We collect and process your personal information for the following purposes: Visitor Statistics, Browsing Behavior. Learn more...
OKDecline