├── .codeclimate.yml ├── .coveragerc ├── .deepsource.toml ├── .devcontainer ├── Dockerfile ├── devcontainer.json └── docker-compose.yml ├── .dockerignore ├── .env ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE.md ├── ISSUE_TEMPLATE │ └── config.yml ├── PULL_REQUEST_AUTOMATIC_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md ├── change_filters.yml ├── configs │ ├── mr-test-example.yaml │ ├── mr-test-schedule.json │ └── tf-cuda.json ├── dependabot.yml ├── matchers │ └── flake8-error-matcher.json ├── no-response.yml ├── poetry_version.txt ├── runner │ └── github-runner-deployment.yaml.tmpl ├── scripts │ ├── download_pretrained.py │ ├── mr_generate_summary.py │ ├── mr_publish_results.py │ ├── start_dd_agent.sh │ ├── validate_cpu.py │ └── validate_gpus.py ├── stale.yml ├── templates │ ├── README.md │ ├── configuration_variables.tmpl │ ├── model_regression_test_config_comment.tmpl │ ├── model_regression_test_config_to_json.tmpl │ ├── model_regression_test_read_dataset_branch.tmpl │ └── model_regression_test_results.tmpl ├── tests │ ├── test_data │ │ ├── bert_diet_response2t.yml │ │ ├── comment_body.json │ │ ├── comment_body_no_dataset_branch.json │ │ ├── intent_report.json │ │ ├── report-on-schedule-2022-02-02.json │ │ ├── report_listformat_core.json │ │ └── report_listformat_nlu.json │ ├── test_download_pretrained.py │ ├── test_model_regression_test_read_dataset_branch_tmpl.py │ ├── test_model_regression_test_results_tmpl.py │ ├── test_mr_generate_summary.py │ ├── test_mr_publish_results.py │ └── test_validate_gpus.py └── workflows │ ├── automatic-pr-update.yml │ ├── ci-docs-tests.yml │ ├── ci-github-actions.yml │ ├── ci-model-regression-on-schedule.yml │ ├── ci-model-regression.yml │ ├── continous-integration.yml │ ├── dependabot-batch-updater.yml │ ├── documentation.yml │ ├── nightly_release.yml │ ├── rasa-install-cron-check.yml │ ├── security-scans.yml │ ├── semgrep-check.yml │ └── spellcheck.yml ├── .gitignore ├── .mergepal.yml ├── .pre-commit-config.yaml ├── .typo-ci.yml ├── CHANGELOG.mdx ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE.txt ├── Makefile ├── NOTICE ├── PRINCIPLES.md ├── README.md ├── binder └── postBuild ├── changelog ├── README.md └── _template.md.jinja2 ├── cloudbuild.yaml ├── data ├── README.md ├── configs_for_docs │ ├── config_featurizers.yml │ ├── default_config.yml │ ├── default_english_config.yml │ ├── default_spacy_config.yml │ ├── example_for_suggested_config.yml │ ├── example_for_suggested_config_after_train.yml │ ├── pretrained_embeddings_convert_config.yml │ ├── pretrained_embeddings_mitie_config_1.yml │ ├── pretrained_embeddings_mitie_config_2.yml │ ├── pretrained_embeddings_spacy_config.yml │ └── supervised_embeddings_config.yml ├── examples │ ├── dialogflow │ │ ├── agent.json │ │ ├── entities │ │ │ ├── cuisine.json │ │ │ ├── cuisine_entries_en.json │ │ │ ├── cuisine_entries_es.json │ │ │ ├── flightNumber.json │ │ │ ├── flightNumber_entries_en.json │ │ │ ├── location.json │ │ │ ├── location_entries_en.json │ │ │ └── location_entries_es.json │ │ ├── intents │ │ │ ├── Default Fallback Intent.json │ │ │ ├── affirm.json │ │ │ ├── affirm_usersays_en.json │ │ │ ├── affirm_usersays_es.json │ │ │ ├── goodbye.json │ │ │ ├── goodbye_usersays_en.json │ │ │ ├── goodbye_usersays_es.json │ │ │ ├── hi.json │ │ │ ├── hi_usersays_en.json │ │ │ ├── hi_usersays_es.json │ │ │ ├── inform.json │ │ │ ├── inform_usersays_en.json │ │ │ └── inform_usersays_es.json │ │ └── package.json │ ├── luis │ │ └── demo-restaurants_v7.json │ ├── rasa │ │ ├── demo-rasa-multi-intent.yml │ │ ├── demo-rasa-responses.yml │ │ ├── demo-rasa.json │ │ └── demo-rasa.yml │ └── wit │ │ └── demo-flights.json ├── graph_schemas │ ├── config_pretrained_embeddings_mitie_predict_schema.yml │ ├── config_pretrained_embeddings_mitie_train_schema.yml │ ├── config_pretrained_embeddings_mitie_zh_predict_schema.yml │ ├── config_pretrained_embeddings_mitie_zh_train_schema.yml │ ├── config_pretrained_embeddings_spacy_duckling_predict_schema.yml │ ├── config_pretrained_embeddings_spacy_duckling_train_schema.yml │ ├── default_config_core_predict_schema.yml │ ├── default_config_core_train_schema.yml │ ├── default_config_e2e_predict_schema.yml │ ├── default_config_e2e_train_schema.yml │ ├── default_config_finetune_epoch_fraction_schema.yml │ ├── default_config_finetune_schema.yml │ ├── default_config_nlu_predict_schema.yml │ ├── default_config_nlu_train_schema.yml │ ├── default_config_predict_schema.yml │ ├── default_config_train_schema.yml │ ├── graph_config_short_predict_schema.yml │ ├── graph_config_short_train_schema.yml │ ├── keyword_classifier_config_predict_schema.yml │ ├── keyword_classifier_config_train_schema.yml │ ├── max_hist_config_predict_schema.yml │ └── max_hist_config_train_schema.yml ├── rasa_yaml_examples │ └── nlu.yml ├── test │ ├── config_embedding_test.yml │ ├── demo-rasa-composite-entities.yml │ ├── demo-rasa-lookup-ents.yml │ ├── demo-rasa-more-ents-and-multiplied.yml │ ├── demo-rasa-no-ents.yml │ ├── demo-rasa-noents.json │ ├── demo-rasa-small.json │ ├── demo-rasa-zh.json │ ├── dialogflow_en_converted_to_rasa.json │ ├── dialogflow_es_converted_to_rasa.json │ ├── duplicate_intents_yaml │ │ ├── demo-rasa-intents-1.yml │ │ ├── demo-rasa-intents-2.yml │ │ └── demo-rasa-intents-3.yml │ ├── hf_transformers_models.txt │ ├── incorrect_nlu_format.yml │ ├── lookup_tables │ │ ├── lookup_table.json │ │ ├── lookup_table.yml │ │ └── plates.txt │ ├── luis_converted_to_rasa.json │ ├── many_intents.yml │ ├── md_converted_to_json.json │ ├── multiple_files_json │ │ ├── demo-rasa-affirm.json │ │ ├── demo-rasa-chitchat.json │ │ ├── demo-rasa-goodbye.json │ │ ├── demo-rasa-greet.json │ │ └── demo-rasa-restaurant_search.json │ ├── overlapping_regex_entities.yml │ ├── simple_retrieval_intent_nlu.yml │ ├── stories_default_retrieval_intents.yml │ ├── synonyms_only.yml │ ├── test_integration │ │ ├── data │ │ │ ├── nlu.yml │ │ │ ├── rules.yml │ │ │ └── stories.yml │ │ └── domain.yml │ ├── test_integration_err │ │ ├── data │ │ │ ├── nlu.yml │ │ │ ├── rules.yml │ │ │ └── stories.yml │ │ └── domain.yml │ ├── training_data_containing_special_chars.json │ └── wit_converted_to_rasa.json ├── test_action_extract_slots_11333 │ ├── config.yml │ ├── data │ │ ├── nlu.yml │ │ └── stories.yml │ ├── domain.yml │ ├── models │ │ └── .gitkeep │ └── tests │ │ └── test_stories.yml ├── test_classes │ ├── custom_graph_components │ │ ├── nlu_dense.py │ │ ├── nlu_meta_fallback.py │ │ ├── nlu_meta_intent_featurizer.py │ │ └── nlu_sparse.py │ ├── custom_slots.py │ ├── graph_component_interface.py │ ├── nlu_component_skeleton.py │ └── registered_component.py ├── test_config │ ├── config_crf_custom_features.yml │ ├── config_crf_no_pattern_feature.yml │ ├── config_crf_no_regex.yml │ ├── config_crf_no_synonyms.yml │ ├── config_default_assistant_id_value.yml │ ├── config_defaults.yml │ ├── config_embedding_intent_response_selector.yml │ ├── config_empty_en.yml │ ├── config_empty_en_after_dumping.yml │ ├── config_empty_en_after_dumping_core.yml │ ├── config_empty_en_after_dumping_nlu.yml │ ├── config_empty_fr.yml │ ├── config_empty_fr_after_dumping.yml │ ├── config_language_only.yml │ ├── config_no_assistant_id.yml │ ├── config_no_assistant_id_with_comments.yml │ ├── config_pipeline_empty.yml │ ├── config_pipeline_missing.yml │ ├── config_policies_empty.yml │ ├── config_policies_missing.yml │ ├── config_pretrained_embeddings_convert.yml │ ├── config_pretrained_embeddings_mitie.yml │ ├── config_pretrained_embeddings_mitie_2.yml │ ├── config_pretrained_embeddings_mitie_diet.yml │ ├── config_pretrained_embeddings_mitie_zh.yml │ ├── config_pretrained_embeddings_spacy.yml │ ├── config_pretrained_embeddings_spacy_de.yml │ ├── config_pretrained_embeddings_spacy_duckling.yml │ ├── config_response_selector_minimal.yml │ ├── config_spacy_entity_extractor.yml │ ├── config_supervised_embeddings.yml │ ├── config_supervised_embeddings_duckling.yml │ ├── config_ted_policy_model_checkpointing.yml │ ├── config_ted_policy_model_checkpointing_zero_eval_num_examples.yml │ ├── config_ted_policy_model_checkpointing_zero_every_num_epochs.yml │ ├── config_ted_policy_no_model_checkpointing.yml │ ├── config_train_server_json.yml │ ├── config_train_server_md.yml │ ├── config_unique_assistant_id.yml │ ├── config_with_comment_between_suggestions.yml │ ├── config_with_comments.yml │ ├── config_with_comments_after_dumping.yml │ ├── embedding_random_seed.yaml │ ├── example_config.yaml │ ├── graph_config.yml │ ├── graph_config_short.yml │ ├── keyword_classifier_config.yml │ ├── max_hist_config.yml │ ├── no_max_hist_config.yml │ ├── stack_config.yml │ └── test_moodbot_config_no_assistant_id.yml ├── test_custom_action_triggers_action_extract_slots │ ├── config.yml │ ├── domain.yml │ ├── nlu.yml │ └── stories.yml ├── test_domains │ ├── conditional_response_variations.yml │ ├── custom_slot_domain.yml │ ├── default.yml │ ├── default_retrieval_intents.yml │ ├── default_unfeaturized_entities.yml │ ├── default_with_mapping.yml │ ├── default_with_slots.yml │ ├── domain_with_categorical_slot.yml │ ├── duplicate_actions.yml │ ├── duplicate_entities.yml │ ├── duplicate_intents.yml │ ├── duplicate_responses.yml │ ├── empty_response_format.yml │ ├── form.yml │ ├── initial_slot_values_greet_and_goodbye.yml │ ├── invalid_format.yml │ ├── minimal_domain_validate_files_with_active_loop_null.yml │ ├── missing_chitchat_response.yml │ ├── missing_text_for_templates.yml │ ├── mixed_retrieval_intents.yml │ ├── people_form.yml │ ├── query_form.yml │ ├── response_selector_responses_in_domain.yml │ ├── restaurant_form.yml │ ├── selectors.yml │ ├── simple_retrieval_intent.yml │ ├── test_domain_files_with_no_session_config_and_custom_session_config │ │ ├── config.yml │ │ ├── data │ │ │ ├── nlu.yml │ │ │ ├── responses.yml │ │ │ └── stories.yml │ │ └── domain.yml │ ├── test_domain_from_directory │ │ ├── domain_invalid.yml │ │ └── domain_valid.yml │ ├── test_domain_from_directory_for_entities │ │ ├── game_1.yml │ │ ├── game_2.yml │ │ └── game_3.yml │ ├── test_domain_from_directory_tree │ │ ├── domain_pt1.yml │ │ ├── skill_1_domain │ │ │ └── domain_pt2.yml │ │ └── skill_2_domain │ │ │ ├── domain_pt3.yml │ │ │ └── skill_2_subdirectory │ │ │ └── domain_pt4.yml │ ├── test_domain_from_multiple_files │ │ ├── drum.yml │ │ ├── last_month.yml │ │ ├── main_menu.yml │ │ ├── selection.yml │ │ ├── small_talk.yml │ │ ├── tomorrow.yml │ │ └── wallets.yml │ ├── test_domain_with_duplicates │ │ ├── domain1.yml │ │ └── domain2.yml │ ├── test_domain_with_separate_session_config │ │ ├── configuration.yml │ │ ├── intents.yml │ │ └── responses.yml │ ├── test_domain_without_duplicates │ │ ├── domain1.yml │ │ └── domain2.yml │ ├── travel_form.yml │ ├── valid_actions.yml │ ├── wrong_custom_response_format.yml │ └── wrong_response_format.yml ├── test_e2ebot │ ├── config.yml │ ├── data │ │ ├── nlu.yml │ │ └── stories.yml │ ├── domain.yml │ └── tests │ │ ├── test_stories.yml │ │ └── test_stories_with_unknown_bot_utterances.yml ├── test_endpoints │ ├── __init__.py │ ├── cert.pem │ ├── custom_tracker_endpoints.yml │ ├── endpoints_redis.yml │ ├── endpoints_sql.yml │ ├── event_brokers │ │ ├── kafka_invalid_sasl_mechanism.yml │ │ ├── kafka_invalid_security_protocol.yml │ │ ├── kafka_plaintext_endpoint.yml │ │ ├── kafka_plaintext_endpoint_no_url.yml │ │ ├── kafka_sasl_plaintext_endpoint.yml │ │ ├── kafka_sasl_ssl_endpoint.yml │ │ ├── kafka_ssl_endpoint.yml │ │ ├── pika_endpoint.yml │ │ └── sql_endpoint.yml │ ├── example_endpoints.yml │ └── model_endpoint.yml ├── test_evaluations │ ├── test_end_to_end_story.yml │ ├── test_end_to_end_trips_circuit_breaker.yml │ ├── test_form_end_to_end_stories.yml │ ├── test_stories_trip_circuit_breaker.yml │ └── test_story_unknown_entity.yml ├── test_from_trigger_intent_with_mapping_conditions │ ├── config.yml │ ├── domain.yml │ ├── nlu.yml │ └── stories.yml ├── test_from_trigger_intent_with_no_mapping_conditions │ ├── config.yml │ ├── domain.yml │ ├── nlu.yml │ └── stories.yml ├── test_incremental_training │ ├── iter1 │ │ ├── nlg_training_data.yml │ │ └── training_data.yml │ └── iter2 │ │ └── training_data.yml ├── test_logging_config_files │ ├── test_invalid_format_value_in_config.yml │ ├── test_invalid_handler_key_in_config.yml │ ├── test_invalid_value_for_level_in_config.yml │ ├── test_logging_config.yml │ ├── test_missing_required_key_invalid_config.yml │ └── test_non_existent_handler_id.yml ├── test_mixed_yaml_training_data │ └── training_data.yml ├── test_moodbot │ ├── config.yml │ ├── credentials.yml │ ├── data │ │ ├── nlu.yml │ │ ├── rules.yml │ │ └── stories.yml │ ├── domain.yml │ └── unexpected_intent_policy_config.yml ├── test_multi_domain │ ├── config.yml │ ├── data │ │ ├── GreetBot │ │ │ ├── data │ │ │ │ ├── nlu.yml │ │ │ │ └── stories.yml │ │ │ └── domain.yml │ │ ├── MoodBot │ │ │ ├── config.yml │ │ │ ├── data │ │ │ │ ├── nlu.yml │ │ │ │ └── stories.yml │ │ │ └── domain.yml │ │ ├── nlu.yml │ │ └── stories.yml │ └── domain.yml ├── test_multifile_yaml_stories │ ├── stories_part_1.yml │ └── stories_part_2.yml ├── test_multiline_intent_examples_yaml │ └── nlu.yml ├── test_multiproject │ ├── config.yml │ └── projects │ │ ├── ChitchatBot │ │ ├── data │ │ │ ├── nlu.yml │ │ │ └── rules.yml │ │ └── domain.yml │ │ └── GreetBot │ │ ├── data │ │ ├── nlu.yml │ │ └── rules.yml │ │ └── domain.yml ├── test_nlg │ └── domain_with_response_ids.yml ├── test_nlu │ └── test_nlu_validate_files_with_active_loop_null.yml ├── test_nlu_no_responses │ ├── domain_with_only_responses.yml │ ├── nlu_no_responses.yml │ ├── nlu_with_unicode.yml │ └── sara_nlu_data.yml ├── test_number_nlu_examples │ ├── nlu.yml │ ├── rules.yml │ └── stories.yml ├── test_response_selector_bot │ ├── __init__.py │ ├── config.yml │ ├── data │ │ ├── nlu.yml │ │ └── rules.yml │ ├── domain.yml │ └── tests │ │ └── test_stories.yml ├── test_responses │ ├── default.yml │ └── responses_utter_rasa.yml ├── test_restaurantbot │ ├── config.yml │ ├── data │ │ ├── nlu.yml │ │ ├── rules.yml │ │ └── stories.yml │ └── domain.yml ├── test_selectors │ └── nlu.yml ├── test_spacybot │ ├── config.yml │ ├── data │ │ ├── nlu.yml │ │ └── stories.yml │ └── domain.yml ├── test_tokenizers │ └── naughty_strings.json ├── test_trackers │ ├── tracker_moodbot.json │ └── tracker_moodbot_with_new_utterances.json ├── test_validation │ ├── data │ │ ├── nlu.yml │ │ └── stories.yml │ └── domain.yml ├── test_wrong_yaml_stories │ ├── intent_with_leading_slash.yml │ └── wrong_yaml.yml └── test_yaml_stories │ ├── non_test_full_retrieval_intent_story.yml │ ├── rules_greet_and_goodbye.yml │ ├── rules_missing_intent.yml │ ├── rules_with_stories_sorted.yaml │ ├── rules_without_stories.yml │ ├── rules_without_stories_and_wrong_names.yml │ ├── simple_story_with_only_end.yml │ ├── stories.yml │ ├── stories_and_rules.yml │ ├── stories_checkpoint_after_or.yml │ ├── stories_conflicting_1.yml │ ├── stories_conflicting_2.yml │ ├── stories_conflicting_3.yml │ ├── stories_conflicting_4.yml │ ├── stories_conflicting_5.yml │ ├── stories_conflicting_6.yml │ ├── stories_conflicting_at_1.yml │ ├── stories_defaultdomain.yml │ ├── stories_e2e.yml │ ├── stories_form.yml │ ├── stories_hybrid_e2e.yml │ ├── stories_missing_intent.yml │ ├── stories_restart.yml │ ├── stories_retrieval_intents.yml │ ├── stories_simple.yml │ ├── stories_unexpected_intent_unlearnable.yml │ ├── stories_unfeaturized_entities.yml │ ├── stories_unused_checkpoints.yml │ ├── stories_with_cycle.yml │ ├── stories_with_rules_conflicting.yml │ ├── story_slot_different_types.yml │ ├── story_with_or_and_entities.yml │ ├── story_with_or_and_entities_with_no_value.yml │ ├── story_with_or_slot_was_set.yml │ ├── story_with_slot_was_set.yml │ ├── story_with_two_equal_or_statements.yml │ ├── test_base_retrieval_intent_story.yml │ ├── test_base_retrieval_intent_wrong_prediction.yml │ ├── test_failed_entity_extraction_comment.yml │ ├── test_full_retrieval_intent_story.yml │ ├── test_full_retrieval_intent_wrong_prediction.yml │ ├── test_multiple_action_unlikely_intent_warnings.yml │ ├── test_prediction_with_correct_intent_wrong_entity.yml │ ├── test_prediction_with_wrong_intent_correct_entity.yml │ ├── test_prediction_with_wrong_intent_wrong_entity.yml │ └── test_stories_entity_annotations.yml ├── docker ├── .dockerignore ├── Dockerfile.base ├── Dockerfile.base-builder ├── Dockerfile.base-mitie ├── Dockerfile.base-poetry ├── Dockerfile.full ├── Dockerfile.pretrained_embeddings_mitie_en ├── Dockerfile.pretrained_embeddings_spacy_de ├── Dockerfile.pretrained_embeddings_spacy_en ├── Dockerfile.pretrained_embeddings_spacy_it ├── configs │ ├── config_pretrained_embeddings_mitie.yml │ ├── config_pretrained_embeddings_spacy_de.yml │ ├── config_pretrained_embeddings_spacy_en.yml │ ├── config_pretrained_embeddings_spacy_en_duckling.yml │ └── config_pretrained_embeddings_spacy_it.yml ├── docker-bake.hcl ├── docker-cloud.yml └── docker-compose.yml ├── docs ├── .gitignore ├── README.md ├── babel.config.js ├── docs │ ├── action-server │ │ ├── actions.mdx │ │ ├── events.mdx │ │ ├── index.mdx │ │ ├── knowledge-base-actions.mdx │ │ ├── running-action-server.mdx │ │ ├── sanic-extensions.mdx │ │ ├── sdk-actions.mdx │ │ ├── sdk-dispatcher.mdx │ │ ├── sdk-events.mdx │ │ ├── sdk-tracker.mdx │ │ └── validation-action.mdx │ ├── actions.mdx │ ├── arch-overview.mdx │ ├── architecture-img.png │ ├── architecture.mdx │ ├── business-logic.mdx │ ├── chitchat-faqs.mdx │ ├── command-line-interface.mdx │ ├── compatibility-matrix.mdx │ ├── component-lifecycle-img.png │ ├── components.mdx │ ├── connectors │ │ ├── audioodes-voiceai-connect.mdx │ │ ├── cisco-webex-teams.mdx │ │ ├── custom-connectors.mdx │ │ ├── facebook-messenger.mdx │ │ ├── hangouts.mdx │ │ ├── img │ │ │ ├── slack-app-home.png │ │ │ ├── slack-create-app.png │ │ │ ├── slack-events.png │ │ │ ├── slack-install-app.png │ │ │ ├── slack-interactivity.png │ │ │ ├── slack-request-url.png │ │ │ ├── slack-scopes.png │ │ │ ├── slack-secret.png │ │ │ ├── twilio-set-sip-webhook.png │ │ │ └── twilio-set-webhook.png │ │ ├── mattermost.mdx │ │ ├── microsoft-bot-framework.mdx │ │ ├── rocketchat.mdx │ │ ├── slack.mdx │ │ ├── telegram.mdx │ │ ├── twilio-voice.mdx │ │ ├── twilio.mdx │ │ └── your-own-website.mdx │ ├── contextual-conversations.mdx │ ├── conversation-driven-development.mdx │ ├── custom-actions.mdx │ ├── custom-graph-components.mdx │ ├── default-actions.mdx │ ├── deploy │ │ ├── deploy-action-server.mdx │ │ ├── deploy-rasa-pro-services.mdx │ │ ├── deploy-rasa.mdx │ │ └── introduction.mdx │ ├── docker │ │ ├── building-in-docker.mdx │ │ └── deploying-in-docker-compose.mdx │ ├── domain.mdx │ ├── event-brokers.mdx │ ├── fallback-handoff.mdx │ ├── forms.mdx │ ├── generating-nlu-data.mdx │ ├── glossary.mdx │ ├── graph-recipe.mdx │ ├── http-api.mdx │ ├── installation │ │ ├── environment-set-up.mdx │ │ ├── installing-rasa-open-source.mdx │ │ └── rasa-pro │ │ │ ├── installation.mdx │ │ │ └── rasa-pro-artifacts.mdx │ ├── introduction.mdx │ ├── jupyter-notebooks.mdx │ ├── language-support.mdx │ ├── lock-stores.mdx │ ├── markers.mdx │ ├── messaging-and-voice-channels.mdx │ ├── migrate-from.mdx │ ├── migrate-from │ │ ├── dialogflow_export.png │ │ ├── dialogflow_export_2.png │ │ ├── facebook-wit-ai-to-rasa.mdx │ │ ├── google-dialogflow-to-rasa.mdx │ │ ├── ibm-watson-to-rasa.mdx │ │ ├── luis_export.png │ │ └── microsoft-luis-to-rasa.mdx │ ├── migration-guide.mdx │ ├── model-configuration.mdx │ ├── model-storage.mdx │ ├── monitoring │ │ ├── analytics │ │ │ ├── data-structure-reference.mdx │ │ │ ├── example-queries.mdx │ │ │ ├── getting-started-with-analytics.mdx │ │ │ └── realtime-markers.mdx │ │ ├── load-testing-guidelines.mdx │ │ └── tracing.mdx │ ├── nlg.mdx │ ├── nlu-only-server.mdx │ ├── nlu-only.mdx │ ├── nlu-training-data.mdx │ ├── pii-management.mdx │ ├── policies.mdx │ ├── rasa-pro-changelog.mdx │ ├── rasa-pro.mdx │ ├── reaching-out-to-user.mdx │ ├── responses.mdx │ ├── rules.mdx │ ├── sdk_changelog.mdx │ ├── secrets-managers.mdx │ ├── setting-up-ci-cd.mdx │ ├── slot-validation-actions.mdx │ ├── sources │ │ └── .keep │ ├── spaces.mdx │ ├── stories.mdx │ ├── telemetry │ │ ├── events.json │ │ └── telemetry.mdx │ ├── testing-your-assistant.mdx │ ├── tracker-stores.mdx │ ├── training-data-format.mdx │ ├── training-data-importers.mdx │ ├── tuning-your-model.mdx │ ├── unexpected-input.mdx │ └── writing-stories.mdx ├── docusaurus.config.js ├── netlify.toml ├── package.json ├── plugins │ ├── google-tagmanager │ │ ├── client.js │ │ └── index.js │ ├── included_source.js │ └── program_output.js ├── pydoc-markdown.yml ├── scripts │ ├── compile_included_sources.js │ ├── compile_program_outputs.js │ ├── compile_telemetry_reference.js │ ├── compile_variables.js │ ├── copy_md_files.js │ └── update_versioned_sources.js ├── sidebars.js ├── static │ ├── img │ │ ├── analytics │ │ │ ├── analytics-db-schema-old.png │ │ │ ├── analytics-er-db.png │ │ │ ├── analytics-er-rasa-action.png │ │ │ ├── analytics-er-rasa-bot-message.png │ │ │ ├── analytics-er-rasa-event.png │ │ │ ├── analytics-er-rasa-sender.png │ │ │ ├── analytics-er-rasa-session-slot-state.png │ │ │ ├── analytics-er-rasa-session.png │ │ │ ├── analytics-er-rasa-slot.png │ │ │ ├── analytics-er-rasa-turn.png │ │ │ ├── analytics-er-rasa-user-message.png │ │ │ ├── analytics-examples.png │ │ │ ├── graph-abandonment-rate.png │ │ │ ├── graph-escalation-rate.png │ │ │ ├── graph-intent-distribution.png │ │ │ ├── graph-number-sessions-channel.png │ │ │ ├── graph-number-sessions-month.png │ │ │ ├── graph-top-5-intents.png │ │ │ └── realtime-markers.png │ │ ├── architecture.png │ │ ├── blocks.png │ │ ├── graph_architecture.png │ │ ├── intent_confusion_matrix_example.png │ │ ├── intent_histogram_example.png │ │ ├── introduction.png │ │ ├── logo-rasa-oss.png │ │ ├── logo-rasa-x.png │ │ ├── og-image.png │ │ ├── rasa-plus-architecture.png │ │ ├── rasa-pro-analytics-overview.png │ │ ├── spaces_hierarchy.png │ │ └── train-test-github-action.png │ ├── js │ │ └── rasa-chatblock.min.js │ └── spec │ │ ├── action-server.yml │ │ └── rasa.yml ├── themes │ └── theme-custom │ │ ├── custom.css │ │ ├── index.js │ │ └── theme │ │ ├── Grid │ │ └── index.jsx │ │ ├── RasaProBanner │ │ ├── index.jsx │ │ └── styles.module.css │ │ └── RasaProLabel │ │ ├── index.jsx │ │ └── styles.module.css └── yarn.lock ├── examples ├── __init__.py ├── concertbot │ ├── README.md │ ├── actions │ │ ├── __init__.py │ │ └── actions.py │ ├── config.yml │ ├── data │ │ ├── nlu.yml │ │ ├── rules.yml │ │ └── stories.yml │ ├── domain.yml │ └── endpoints.yml ├── e2ebot │ ├── config.yml │ ├── data │ │ ├── nlu.yml │ │ └── stories.yml │ ├── domain.yml │ └── tests │ │ └── test_stories.yml ├── formbot │ ├── README.md │ ├── actions │ │ ├── __init__.py │ │ └── actions.py │ ├── config.yml │ ├── data │ │ ├── nlu.yml │ │ ├── rules.yml │ │ └── stories.yml │ ├── domain.yml │ ├── endpoints.yml │ └── tests │ │ └── test_stories.yml ├── knowledgebasebot │ ├── README.md │ ├── actions │ │ ├── __init__.py │ │ └── actions.py │ ├── config.yml │ ├── data │ │ ├── nlu.yml │ │ ├── rules.yml │ │ └── stories.yml │ ├── domain.yml │ ├── endpoints.yml │ └── knowledge_base_data.json ├── moodbot │ ├── README.md │ ├── config.yml │ ├── credentials.yml │ ├── data │ │ ├── nlu.yml │ │ ├── rules.yml │ │ └── stories.yml │ └── domain.yml ├── nlg_server │ ├── __init__.py │ └── nlg_server.py ├── reminderbot │ ├── README.md │ ├── actions │ │ ├── __init__.py │ │ └── actions.py │ ├── callback_server.py │ ├── config.yml │ ├── credentials.yml │ ├── data │ │ ├── nlu.yml │ │ ├── rules.yml │ │ └── stories.yml │ ├── domain.yml │ └── endpoints.yml ├── responseselectorbot │ ├── README.md │ ├── config.yml │ ├── data │ │ ├── nlu.yml │ │ ├── rules.yml │ │ └── stories.yml │ └── domain.yml └── rules │ ├── actions │ ├── __init__.py │ └── actions.py │ ├── config.yml │ ├── data │ ├── nlu.yml │ └── rules.yml │ ├── domain.yml │ └── endpoints.yml ├── poetry.lock ├── pyproject.toml ├── rasa ├── __init__.py ├── __main__.py ├── api.py ├── cli │ ├── __init__.py │ ├── arguments │ │ ├── __init__.py │ │ ├── data.py │ │ ├── default_arguments.py │ │ ├── evaluate.py │ │ ├── export.py │ │ ├── interactive.py │ │ ├── run.py │ │ ├── shell.py │ │ ├── test.py │ │ ├── train.py │ │ ├── visualize.py │ │ └── x.py │ ├── data.py │ ├── evaluate.py │ ├── export.py │ ├── initial_project │ │ ├── actions │ │ │ ├── __init__.py │ │ │ └── actions.py │ │ ├── config.yml │ │ ├── credentials.yml │ │ ├── data │ │ │ ├── nlu.yml │ │ │ ├── rules.yml │ │ │ └── stories.yml │ │ ├── domain.yml │ │ ├── endpoints.yml │ │ └── tests │ │ │ └── test_stories.yml │ ├── interactive.py │ ├── run.py │ ├── scaffold.py │ ├── shell.py │ ├── telemetry.py │ ├── test.py │ ├── train.py │ ├── utils.py │ ├── visualize.py │ └── x.py ├── constants.py ├── core │ ├── __init__.py │ ├── actions │ │ ├── __init__.py │ │ ├── action.py │ │ ├── constants.py │ │ ├── forms.py │ │ ├── loops.py │ │ └── two_stage_fallback.py │ ├── agent.py │ ├── brokers │ │ ├── __init__.py │ │ ├── broker.py │ │ ├── file.py │ │ ├── kafka.py │ │ ├── pika.py │ │ └── sql.py │ ├── channels │ │ ├── __init__.py │ │ ├── botframework.py │ │ ├── callback.py │ │ ├── channel.py │ │ ├── console.py │ │ ├── facebook.py │ │ ├── hangouts.py │ │ ├── mattermost.py │ │ ├── rasa_chat.py │ │ ├── rest.py │ │ ├── rocketchat.py │ │ ├── slack.py │ │ ├── socketio.py │ │ ├── telegram.py │ │ ├── twilio.py │ │ ├── twilio_voice.py │ │ └── webexteams.py │ ├── constants.py │ ├── evaluation │ │ ├── __init__.py │ │ ├── marker.py │ │ ├── marker_base.py │ │ ├── marker_stats.py │ │ └── marker_tracker_loader.py │ ├── exceptions.py │ ├── exporter.py │ ├── featurizers │ │ ├── __init__.py │ │ ├── precomputation.py │ │ ├── single_state_featurizer.py │ │ └── tracker_featurizers.py │ ├── http_interpreter.py │ ├── jobs.py │ ├── lock.py │ ├── lock_store.py │ ├── migrate.py │ ├── nlg │ │ ├── __init__.py │ │ ├── callback.py │ │ ├── generator.py │ │ ├── interpolator.py │ │ └── response.py │ ├── policies │ │ ├── __init__.py │ │ ├── ensemble.py │ │ ├── memoization.py │ │ ├── policy.py │ │ ├── rule_policy.py │ │ ├── ted_policy.py │ │ └── unexpected_intent_policy.py │ ├── processor.py │ ├── run.py │ ├── test.py │ ├── tracker_store.py │ ├── train.py │ ├── training │ │ ├── __init__.py │ │ ├── converters │ │ │ ├── __init__.py │ │ │ └── responses_prefix_converter.py │ │ ├── interactive.py │ │ ├── story_conflict.py │ │ └── training.py │ ├── utils.py │ └── visualize.py ├── engine │ ├── __init__.py │ ├── caching.py │ ├── constants.py │ ├── exceptions.py │ ├── graph.py │ ├── loader.py │ ├── recipes │ │ ├── __init__.py │ │ ├── config_files │ │ │ └── default_config.yml │ │ ├── default_components.py │ │ ├── default_recipe.py │ │ ├── graph_recipe.py │ │ └── recipe.py │ ├── runner │ │ ├── __init__.py │ │ ├── dask.py │ │ └── interface.py │ ├── storage │ │ ├── __init__.py │ │ ├── local_model_storage.py │ │ ├── resource.py │ │ └── storage.py │ ├── training │ │ ├── __init__.py │ │ ├── components.py │ │ ├── fingerprinting.py │ │ ├── graph_trainer.py │ │ └── hooks.py │ └── validation.py ├── exceptions.py ├── graph_components │ ├── __init__.py │ ├── converters │ │ ├── __init__.py │ │ └── nlu_message_converter.py │ ├── providers │ │ ├── __init__.py │ │ ├── domain_for_core_training_provider.py │ │ ├── domain_provider.py │ │ ├── forms_provider.py │ │ ├── nlu_training_data_provider.py │ │ ├── responses_provider.py │ │ ├── rule_only_provider.py │ │ ├── story_graph_provider.py │ │ └── training_tracker_provider.py │ └── validators │ │ ├── __init__.py │ │ ├── default_recipe_validator.py │ │ └── finetuning_validator.py ├── jupyter.py ├── model.py ├── model_testing.py ├── model_training.py ├── nlu │ ├── __init__.py │ ├── classifiers │ │ ├── __init__.py │ │ ├── classifier.py │ │ ├── diet_classifier.py │ │ ├── fallback_classifier.py │ │ ├── keyword_intent_classifier.py │ │ ├── logistic_regression_classifier.py │ │ ├── mitie_intent_classifier.py │ │ ├── regex_message_handler.py │ │ └── sklearn_intent_classifier.py │ ├── constants.py │ ├── convert.py │ ├── emulators │ │ ├── __init__.py │ │ ├── dialogflow.py │ │ ├── emulator.py │ │ ├── luis.py │ │ ├── no_emulator.py │ │ └── wit.py │ ├── extractors │ │ ├── __init__.py │ │ ├── crf_entity_extractor.py │ │ ├── duckling_entity_extractor.py │ │ ├── entity_synonyms.py │ │ ├── extractor.py │ │ ├── mitie_entity_extractor.py │ │ ├── regex_entity_extractor.py │ │ └── spacy_entity_extractor.py │ ├── featurizers │ │ ├── __init__.py │ │ ├── dense_featurizer │ │ │ ├── __init__.py │ │ │ ├── convert_featurizer.py │ │ │ ├── dense_featurizer.py │ │ │ ├── lm_featurizer.py │ │ │ ├── mitie_featurizer.py │ │ │ └── spacy_featurizer.py │ │ ├── featurizer.py │ │ └── sparse_featurizer │ │ │ ├── __init__.py │ │ │ ├── count_vectors_featurizer.py │ │ │ ├── lexical_syntactic_featurizer.py │ │ │ ├── regex_featurizer.py │ │ │ └── sparse_featurizer.py │ ├── model.py │ ├── persistor.py │ ├── run.py │ ├── selectors │ │ ├── __init__.py │ │ └── response_selector.py │ ├── test.py │ ├── tokenizers │ │ ├── __init__.py │ │ ├── jieba_tokenizer.py │ │ ├── mitie_tokenizer.py │ │ ├── spacy_tokenizer.py │ │ ├── tokenizer.py │ │ └── whitespace_tokenizer.py │ └── utils │ │ ├── __init__.py │ │ ├── bilou_utils.py │ │ ├── hugging_face │ │ ├── __init__.py │ │ ├── registry.py │ │ └── transformers_pre_post_processors.py │ │ ├── mitie_utils.py │ │ ├── pattern_utils.py │ │ └── spacy_utils.py ├── plugin.py ├── server.py ├── shared │ ├── __init__.py │ ├── constants.py │ ├── core │ │ ├── __init__.py │ │ ├── constants.py │ │ ├── conversation.py │ │ ├── domain.py │ │ ├── events.py │ │ ├── generator.py │ │ ├── slot_mappings.py │ │ ├── slots.py │ │ ├── trackers.py │ │ └── training_data │ │ │ ├── __init__.py │ │ │ ├── loading.py │ │ │ ├── story_reader │ │ │ ├── __init__.py │ │ │ ├── story_reader.py │ │ │ ├── story_step_builder.py │ │ │ └── yaml_story_reader.py │ │ │ ├── story_writer │ │ │ ├── __init__.py │ │ │ ├── story_writer.py │ │ │ └── yaml_story_writer.py │ │ │ ├── structures.py │ │ │ ├── visualization.html │ │ │ └── visualization.py │ ├── data.py │ ├── exceptions.py │ ├── importers │ │ ├── __init__.py │ │ ├── importer.py │ │ ├── multi_project.py │ │ ├── rasa.py │ │ └── utils.py │ ├── nlu │ │ ├── __init__.py │ │ ├── constants.py │ │ ├── interpreter.py │ │ └── training_data │ │ │ ├── __init__.py │ │ │ ├── entities_parser.py │ │ │ ├── features.py │ │ │ ├── formats │ │ │ ├── __init__.py │ │ │ ├── dialogflow.py │ │ │ ├── luis.py │ │ │ ├── rasa.py │ │ │ ├── rasa_yaml.py │ │ │ ├── readerwriter.py │ │ │ └── wit.py │ │ │ ├── loading.py │ │ │ ├── lookup_tables_parser.py │ │ │ ├── message.py │ │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── data_schema.py │ │ │ ├── nlu.yml │ │ │ └── responses.yml │ │ │ ├── synonyms_parser.py │ │ │ ├── training_data.py │ │ │ └── util.py │ └── utils │ │ ├── __init__.py │ │ ├── cli.py │ │ ├── common.py │ │ ├── io.py │ │ ├── pykwalify_extensions.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── config.yml │ │ ├── domain.yml │ │ ├── events.py │ │ ├── model_config.yml │ │ └── stories.yml │ │ └── validation.py ├── telemetry.py ├── utils │ ├── __init__.py │ ├── common.py │ ├── converter.py │ ├── endpoints.py │ ├── io.py │ ├── log_utils.py │ ├── plotting.py │ ├── tensorflow │ │ ├── __init__.py │ │ ├── callback.py │ │ ├── constants.py │ │ ├── crf.py │ │ ├── data_generator.py │ │ ├── environment.py │ │ ├── exceptions.py │ │ ├── feature_array.py │ │ ├── layers.py │ │ ├── layers_utils.py │ │ ├── metrics.py │ │ ├── model_data.py │ │ ├── model_data_utils.py │ │ ├── models.py │ │ ├── rasa_layers.py │ │ ├── transformer.py │ │ └── types.py │ └── train_utils.py ├── validator.py └── version.py ├── scripts ├── download_transformer_model.py ├── evaluate_release_tag.py ├── lint_changelog_files.sh ├── lint_python_docstrings.sh ├── ping_slack_about_package_release.sh ├── poetry-version.sh ├── prepare_nightly_release.py ├── publish_gh_release_notes.py ├── push_docs_to_branch.sh ├── read_tensorflow_version.sh ├── release.py └── write_keys_file.sh ├── secrets.tar.enc ├── security.txt ├── stubs ├── aio_pika │ ├── __init__.pyi │ └── robust_channel.pyi ├── sanic.pyi └── socketio.pyi ├── test_environments ├── README.md └── message_and_event_brokers │ ├── README.md │ └── kafka │ ├── README.md │ ├── no_authentication │ ├── README.md │ └── docker-compose.yml │ ├── sasl_plain │ ├── no_tls │ │ ├── README.md │ │ ├── broker_jaas.conf │ │ └── docker-compose.yml │ └── with_tls │ │ ├── README.md │ │ ├── ssl_all_conections │ │ ├── .gitignore │ │ ├── README.md │ │ ├── broker_jaas.conf │ │ ├── ca-cert │ │ ├── docker-compose.yml │ │ ├── server.keystore.jks │ │ ├── signed-server-cert │ │ ├── ssl_key_credentials │ │ └── ssl_keystore_credentials │ │ └── ssl_localhost │ │ ├── .gitignore │ │ ├── README.md │ │ ├── broker_jaas.conf │ │ ├── ca-cert │ │ ├── docker-compose.yml │ │ ├── server.keystore.jks │ │ ├── signed-server-cert │ │ ├── ssl_key_credentials │ │ └── ssl_keystore_credentials │ └── sasl_scram │ ├── no_tls │ ├── README.md │ ├── scram_sha_256 │ │ ├── README.md │ │ ├── broker_jaas.conf │ │ ├── docker-compose.yml │ │ ├── zookeeper_client_jaas.conf │ │ └── zookeeper_server_jaas.conf │ └── scram_sha_512 │ │ ├── README.md │ │ ├── broker_jaas.conf │ │ ├── docker-compose.yml │ │ ├── zookeeper_client_jaas.conf │ │ └── zookeeper_server_jaas.conf │ └── with_tls │ ├── README.md │ ├── scram_sha_256 │ ├── README.md │ ├── broker_jaas.conf │ ├── docker-compose.yml │ ├── ssl │ │ ├── ca-cert │ │ ├── server.keystore.jks │ │ ├── ssl_key_credentials │ │ └── ssl_keystore_credentials │ ├── zookeeper_client_jaas.conf │ └── zookeeper_server_jaas.conf │ └── scram_sha_512 │ ├── README.md │ ├── broker_jaas.conf │ ├── docker-compose.yml │ ├── ssl │ ├── ca-cert │ ├── server.keystore.jks │ ├── ssl_key_credentials │ └── ssl_keystore_credentials │ ├── zookeeper_client_jaas.conf │ └── zookeeper_server_jaas.conf ├── tests ├── __init__.py ├── cli │ ├── __init__.py │ ├── conftest.py │ ├── test_cli.py │ ├── test_rasa_data.py │ ├── test_rasa_evaluate_markers.py │ ├── test_rasa_export.py │ ├── test_rasa_init.py │ ├── test_rasa_interactive.py │ ├── test_rasa_run.py │ ├── test_rasa_shell.py │ ├── test_rasa_test.py │ ├── test_rasa_train.py │ ├── test_rasa_visualize.py │ ├── test_rasa_x.py │ └── test_utils.py ├── conftest.py ├── core │ ├── __init__.py │ ├── actions │ │ ├── __init__.py │ │ ├── test_forms.py │ │ ├── test_loops.py │ │ └── test_two_stage_fallback.py │ ├── channels │ │ ├── __init__.py │ │ ├── test_botframework.py │ │ ├── test_cmdline.py │ │ ├── test_facebook.py │ │ ├── test_hangouts.py │ │ ├── test_slack.py │ │ ├── test_telegram.py │ │ ├── test_twilio.py │ │ └── test_twilio_voice.py │ ├── conftest.py │ ├── evaluation │ │ ├── __init__.py │ │ ├── test_marker.py │ │ ├── test_marker_stats.py │ │ └── test_marker_tracker_loader.py │ ├── featurizers │ │ ├── __init__.py │ │ ├── test_precomputation.py │ │ ├── test_single_state_featurizers.py │ │ └── test_tracker_featurizer.py │ ├── nlg │ │ ├── __init__.py │ │ ├── test_callback.py │ │ ├── test_generator.py │ │ └── test_response.py │ ├── policies │ │ ├── __init__.py │ │ ├── test_rule_policy.py │ │ ├── test_ted_policy.py │ │ └── test_unexpected_intent_policy.py │ ├── test_actions.py │ ├── test_agent.py │ ├── test_broker.py │ ├── test_channels.py │ ├── test_ensemble.py │ ├── test_evaluation.py │ ├── test_examples.py │ ├── test_exporter.py │ ├── test_http_interpreter.py │ ├── test_lock_store.py │ ├── test_migrate.py │ ├── test_nlg.py │ ├── test_policies.py │ ├── test_processor.py │ ├── test_restore.py │ ├── test_run.py │ ├── test_test.py │ ├── test_tracker_stores.py │ ├── test_training.py │ ├── test_utils.py │ ├── training │ │ ├── __init__.py │ │ ├── test_interactive.py │ │ └── test_story_conflict.py │ └── utilities.py ├── dialogues.py ├── docs │ ├── __init__.py │ ├── test_docs_embedded_modules.py │ ├── test_docs_header_hierarchy.py │ ├── test_docs_training_data.py │ └── test_docs_use_base_url.py ├── engine │ ├── __init__.py │ ├── conftest.py │ ├── graph_components_test_classes.py │ ├── recipes │ │ ├── __init__.py │ │ ├── test_default_recipe.py │ │ ├── test_graph_recipe.py │ │ └── test_recipe.py │ ├── runner │ │ ├── __init__.py │ │ └── test_dask.py │ ├── storage │ │ ├── __init__.py │ │ ├── test_local_model_storage.py │ │ ├── test_resource.py │ │ └── test_storage.py │ ├── test_caching.py │ ├── test_graph.py │ ├── test_graph_node.py │ ├── test_loader.py │ ├── test_validation.py │ └── training │ │ ├── __init__.py │ │ ├── test_components.py │ │ ├── test_fingerprinting.py │ │ ├── test_graph_trainer.py │ │ └── test_hooks.py ├── examples │ └── test_example_bots_training_data.py ├── graph_components │ ├── __init__.py │ ├── converters │ │ ├── __init__.py │ │ └── test_nlu_message_converter.py │ ├── providers │ │ ├── __init__.py │ │ ├── test_domain_for_core_training_provider.py │ │ ├── test_domain_provider.py │ │ ├── test_forms_provider.py │ │ ├── test_nlu_training_data_provider.py │ │ ├── test_responses_provider.py │ │ ├── test_rule_only_provider.py │ │ ├── test_story_graph_provider.py │ │ └── test_training_tracker_provider.py │ └── validators │ │ ├── __init__.py │ │ ├── test_default_recipe_validator.py │ │ └── test_finetuning_validator.py ├── integration_tests │ ├── __init__.py │ └── core │ │ ├── __init__.py │ │ ├── actions │ │ ├── __init__.py │ │ ├── conftest.py │ │ └── test_action.py │ │ ├── brokers │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_kafka.py │ │ └── test_pika.py │ │ ├── conftest.py │ │ ├── test_agent.py │ │ ├── test_cli_response.py │ │ ├── test_exporter.py │ │ ├── test_lock_store.py │ │ └── test_tracker_store.py ├── nlu │ ├── __init__.py │ ├── classifiers │ │ ├── __init__.py │ │ ├── test_diet_classifier.py │ │ ├── test_fallback_classifier.py │ │ ├── test_keyword_classifier.py │ │ ├── test_logistic_regression_classifier.py │ │ ├── test_mitie_intent_classifier.py │ │ ├── test_regex_message_handler.py │ │ └── test_sklearn_classifier.py │ ├── conftest.py │ ├── emulators │ │ ├── __init__.py │ │ ├── test_dialogflow.py │ │ ├── test_luis.py │ │ ├── test_no_emulator.py │ │ └── test_wit.py │ ├── extractors │ │ ├── __init__.py │ │ ├── test_crf_entity_extractor.py │ │ ├── test_duckling_entity_extractor.py │ │ ├── test_entity_synonyms.py │ │ ├── test_extractor.py │ │ ├── test_mitie_entity_extractor.py │ │ ├── test_regex_entity_extractor.py │ │ └── test_spacy_entity_extractors.py │ ├── featurizers │ │ ├── __init__.py │ │ ├── test_convert_featurizer.py │ │ ├── test_count_vectors_featurizer.py │ │ ├── test_featurizer.py │ │ ├── test_lexical_syntactic_featurizer.py │ │ ├── test_lm_featurizer.py │ │ ├── test_mitie_featurizer.py │ │ ├── test_regex_featurizer.py │ │ └── test_spacy_featurizer.py │ ├── selectors │ │ ├── __init__.py │ │ └── test_selectors.py │ ├── test_evaluation.py │ ├── test_persistor.py │ ├── test_spacy_utils.py │ ├── test_train.py │ ├── test_utils.py │ ├── tokenizers │ │ ├── __init__.py │ │ ├── test_jieba_tokenizer.py │ │ ├── test_mitie_tokenizer.py │ │ ├── test_spacy_tokenizer.py │ │ ├── test_tokenizer.py │ │ └── test_whitespace_tokenizer.py │ ├── utilities.py │ └── utils │ │ ├── __init__.py │ │ ├── test_bilou_utils.py │ │ ├── test_mitie_utils.py │ │ ├── test_pattern_utils.py │ │ └── test_spacy_utils.py ├── regressions │ ├── test_action_extract_slots_11333.py │ ├── test_action_two_stage_fallback_11294.py │ └── test_domain_merge_multiple_files_with_custom_session_config_and_no_session_config.py ├── scripts │ ├── __init__.py │ └── test_evaluate_release_tag.py ├── shared │ ├── __init__.py │ ├── core │ │ ├── __init__.py │ │ ├── test_constants.py │ │ ├── test_dialogues.py │ │ ├── test_domain.py │ │ ├── test_events.py │ │ ├── test_generator.py │ │ ├── test_slot_mappings.py │ │ ├── test_slots.py │ │ ├── test_trackers.py │ │ └── training_data │ │ │ ├── __init__.py │ │ │ ├── story_reader │ │ │ ├── __init__.py │ │ │ └── test_yaml_story_reader.py │ │ │ ├── story_writer │ │ │ ├── __init__.py │ │ │ └── test_yaml_story_writer.py │ │ │ ├── test_graph.py │ │ │ ├── test_structures.py │ │ │ └── test_visualization.py │ ├── importers │ │ ├── __init__.py │ │ ├── test_importer.py │ │ ├── test_multi_project.py │ │ └── test_rasa.py │ ├── nlu │ │ ├── __init__.py │ │ └── training_data │ │ │ ├── __init__.py │ │ │ ├── formats │ │ │ ├── __init__.py │ │ │ ├── test_rasa_yaml.py │ │ │ └── test_readerwriter.py │ │ │ ├── test_entities_parser.py │ │ │ ├── test_features.py │ │ │ ├── test_lookup_tables_parser.py │ │ │ ├── test_message.py │ │ │ ├── test_synonyms_parser.py │ │ │ ├── test_training_data.py │ │ │ └── test_util.py │ ├── test_data.py │ ├── test_shared.py │ └── utils │ │ ├── __init__.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── test_events.py │ │ ├── test_cli.py │ │ ├── test_common.py │ │ ├── test_io.py │ │ └── test_validation.py ├── test_default_project.py ├── test_dependencies.py ├── test_memory_leak.py ├── test_model.py ├── test_model_testing.py ├── test_model_training.py ├── test_plugin.py ├── test_server.py ├── test_telemetry.py ├── test_validator.py ├── train.py ├── utilities.py └── utils │ ├── __init__.py │ ├── tensorflow │ ├── __init__.py │ ├── conftest.py │ ├── test_callback.py │ ├── test_crf.py │ ├── test_data_generator.py │ ├── test_feature_array.py │ ├── test_layers.py │ ├── test_layers_utils.py │ ├── test_metrics.py │ ├── test_model_data.py │ ├── test_model_data_utils.py │ ├── test_models.py │ ├── test_rasa_layers.py │ ├── test_tf_environment.py │ └── test_transformer.py │ ├── test_common.py │ ├── test_endpoints.py │ ├── test_io.py │ ├── test_plotting.py │ └── test_train_utils.py ├── tests_deployment ├── .env.example ├── README.md ├── docker-compose.integration.yml ├── docker-compose.kafka.yml └── kafka_server_jaas.conf └── trivy-secret.yaml /.coveragerc: -------------------------------------------------------------------------------- 1 | [report] 2 | exclude_lines = 3 | pragma: no cover 4 | def __repr__ 5 | raise NotImplementedError 6 | if __name__ == .__main__.: 7 | def create_argument_parser 8 | if typing.TYPE_CHECKING 9 | # Ellipsis are used as placeholders in python 3 that will be overridden 10 | \.\.\. 11 | [run] 12 | source = rasa 13 | -------------------------------------------------------------------------------- /.deepsource.toml: -------------------------------------------------------------------------------- 1 | version = 1 2 | 3 | test_patterns = ["tests/**"] 4 | 5 | exclude_patterns = ["docs/**"] 6 | 7 | [[analyzers]] 8 | name = "python" 9 | enabled = true 10 | 11 | [analyzers.meta] 12 | runtime_version = "3.x.x" 13 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | docker* 2 | docs 3 | .git* 4 | **/*.pyc 5 | **/__pycache__ 6 | !docker/configs 7 | rasa/tests 8 | rasa/scripts 9 | data/ 10 | examples/ 11 | docker-data/* 12 | -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | TIMES=2 -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * -text 2 | # Reclassifies `Dockerfile*` files as Dockerfile: 3 | Dockerfile.* linguist-language=Dockerfile 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Bug Report 4 | url: https://rasa-open-source.atlassian.net/browse/OSS 5 | about: Create a report to help us improve https://rasa-open-source.atlassian.net/browse/OSS 6 | - name: Feature request 7 | url: https://rasa-open-source.atlassian.net/browse/OSS 8 | about: Suggest an idea on how to improve Rasa https://rasa-open-source.atlassian.net/browse/OSS 9 | - name: Ask a question 10 | url: https://forum.rasa.com/ 11 | about: If you have a "How do I?" question please ask in the forum https://forum.rasa.com 12 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_AUTOMATIC_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | :bulb: This pull request was created automatically to merge a release branch back into the `main` branch. 2 | 3 | The changes you see here should have already been reviewed by someone, and shouldn't need an extra 4 | review. Nonetheless, if you notice something that needs to be addressed, please reach out to the person 5 | responsible for the original changes. In case additional changes need to be made, they need to target the release branch 6 | (not this pull request nor `main`). 7 | 8 | :auto_rickshaw: This PR should be merged automatically once it has been approved. If it doesn't happen: 9 | - [ ] Handle merge conflicts 10 | - [ ] Fix build errors 11 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | **Proposed changes**: 2 | - ... 3 | 4 | **Status (please check what you already did)**: 5 | - [ ] added some tests for the functionality 6 | - [ ] updated the documentation 7 | - [ ] updated the changelog (please check [changelog](https://github.com/RasaHQ/rasa/tree/main/changelog) for instructions) 8 | - [ ] reformat files using `black` (please check [Readme](https://github.com/RasaHQ/rasa#code-style) for instructions) 9 | -------------------------------------------------------------------------------- /.github/change_filters.yml: -------------------------------------------------------------------------------- 1 | backend: 2 | - 'pyproject.toml' 3 | - 'poetry.lock' 4 | - 'rasa/**/*' 5 | - 'tests/**/*' 6 | - 'data/**/*' 7 | - 'examples/**/*' 8 | - 'Makefile' 9 | - '.github/workflows/continous-integration.yml' 10 | - '.github/workflows/security-scans.yml' 11 | 12 | docker: 13 | - 'pyproject.toml' 14 | - 'poetry.lock' 15 | - 'rasa/**/*' 16 | - 'docker/**/*' 17 | - 'Makefile' 18 | 19 | docs: 20 | - 'docs/**/*' 21 | - 'changelog/*' 22 | - 'CHANGELOG.mdx' 23 | - 'tests/docs/*' 24 | - 'data/**/*' 25 | - 'examples/**/*' 26 | - 'Makefile' 27 | - '.github/workflows/documentation.yml' 28 | - '.github/workflows/ci-docs-tests.yml' 29 | -------------------------------------------------------------------------------- /.github/configs/mr-test-schedule.json: -------------------------------------------------------------------------------- 1 | { 2 | "body": "```yml\r\ninclude:\r\n - dataset: [\"all\"]\r\n config: [\"all\"]\r\n```" 3 | } 4 | -------------------------------------------------------------------------------- /.github/configs/tf-cuda.json: -------------------------------------------------------------------------------- 1 | { 2 | "default_image_tag": "latest", 3 | "config": [ 4 | { 5 | "TF": "2.3", 6 | "IMAGE_TAG": "cuda-10.1-cudnn7" 7 | }, 8 | { 9 | "TF": "2.5", 10 | "IMAGE_TAG": "cuda-11.2.0-cudnn8" 11 | }, 12 | { 13 | "TF": "2.6", 14 | "IMAGE_TAG": "cuda-11.2.0-cudnn8" 15 | }, 16 | { 17 | "TF": "2.7", 18 | "IMAGE_TAG": "cuda-11.2.0-cudnn8" 19 | }, 20 | { 21 | "TF": "2.11", 22 | "IMAGE_TAG": "cuda-11.2.0-cudnn8" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /.github/matchers/flake8-error-matcher.json: -------------------------------------------------------------------------------- 1 | { 2 | "problemMatcher": [ 3 | { 4 | "owner": "flake8-error", 5 | "severity": "error", 6 | "pattern": [ 7 | { 8 | "regexp": "^([^:]+):(\\d+):(\\d+):\\s+([DCFNWE]\\d+\\s+.+)$", 9 | "file": 1, 10 | "line": 2, 11 | "column": 3, 12 | "message": 4 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /.github/no-response.yml: -------------------------------------------------------------------------------- 1 | # Configuration for probot-no-response - https://github.com/probot/no-response 2 | 3 | # Number of days of inactivity before an Issue is closed for lack of response 4 | daysUntilClose: 14 5 | # Label requiring a response 6 | responseRequiredLabel: status:more-details-needed 7 | # Comment to post when closing an Issue for lack of response. Set to `false` to disable 8 | closeComment: > 9 | This issue has been automatically closed because there has been no response 10 | to our request for more information from the original author. Without this, 11 | we don't have enough information to help you. Please comment below with the 12 | requested information if you still need help. 13 | -------------------------------------------------------------------------------- /.github/poetry_version.txt: -------------------------------------------------------------------------------- 1 | # The poetry version is stored in a separate file due to the https://github.com/python-poetry/poetry/issues/3316 2 | poetry-version=1.8.2 3 | -------------------------------------------------------------------------------- /.github/scripts/validate_cpu.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | import tensorflow as tf 4 | 5 | 6 | def check_gpu_not_available(): 7 | num_gpus = len(tf.config.list_physical_devices("GPU")) 8 | print(f"Num GPUs Available: {num_gpus}") 9 | if num_gpus > 0: 10 | sys.exit(1) 11 | 12 | 13 | if __name__ == "__main__": 14 | check_gpu_not_available() 15 | -------------------------------------------------------------------------------- /.github/scripts/validate_gpus.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | import tensorflow as tf 4 | 5 | 6 | def check_gpu_available(): 7 | num_gpus = len(tf.config.list_physical_devices("GPU")) 8 | print(f"Num GPUs Available: {num_gpus}") 9 | if num_gpus <= 0: 10 | sys.exit(1) 11 | 12 | 13 | if __name__ == "__main__": 14 | check_gpu_available() 15 | -------------------------------------------------------------------------------- /.github/templates/model_regression_test_read_dataset_branch.tmpl: -------------------------------------------------------------------------------- 1 | {{- /* 2 | 3 | The template reads a PR comment and gets the dataset branch for the training-data 4 | repository. 5 | 6 | */ -}} 7 | {{- $config := ((datasource "github").body | regexp.Find "```(?s)(.*)```" | regexp.ReplaceLiteral "```.*|\r" "" | yaml | toJSON | json) -}} 8 | {{- $dataset_branch := "main" -}} 9 | {{- /* if a branch name for dataset repository is not defined use the main branch */ -}} 10 | {{- if has $config "dataset_branch" -}} 11 | {{- $dataset_branch = $config.dataset_branch -}} 12 | {{- end -}} 13 | export DATASET_BRANCH="{{ $dataset_branch }}" 14 | -------------------------------------------------------------------------------- /.github/tests/test_data/bert_diet_response2t.yml: -------------------------------------------------------------------------------- 1 | # Configuration for Rasa NLU. 2 | # https://rasa.com/docs/rasa/nlu/components/ 3 | language: en 4 | pipeline: 5 | - name: WhitespaceTokenizer 6 | - name: LanguageModelFeaturizer 7 | alias: "lmf" 8 | - name: RegexFeaturizer 9 | alias: "rf" 10 | - name: LexicalSyntacticFeaturizer 11 | alias: "lsf" 12 | - name: DIETClassifier 13 | epochs: 50 14 | random_seed: 42 15 | - name: ResponseSelector 16 | epochs: 100 17 | num_transformer_layers: 2 18 | transformer_size: 256 19 | hidden_layers_size: 20 | text: [] 21 | label: [] 22 | random_seed: 42 23 | featurizers: ["lmf"] -------------------------------------------------------------------------------- /.github/tests/test_data/comment_body.json: -------------------------------------------------------------------------------- 1 | { 2 | "body": "/modeltest\r\n\r\n```yml\r\ndataset_branch: \"test_dataset_branch\"\r\ninclude:\r\n - dataset: [\"financial-demo\"]\r\n config: [\"TEST\"]\r\n ```\r\n\r\n" 3 | } 4 | -------------------------------------------------------------------------------- /.github/tests/test_data/comment_body_no_dataset_branch.json: -------------------------------------------------------------------------------- 1 | { 2 | "body": "/modeltest\r\n\r\n```yml\r\ninclude:\r\n - dataset: [\"financial-demo\"]\r\n config: [\"TEST\"]\r\n ```\r\n\r\n" 3 | } 4 | -------------------------------------------------------------------------------- /.github/workflows/dependabot-batch-updater.yml: -------------------------------------------------------------------------------- 1 | name: Check if dependencies can be updated and create a pull request with updated ones. 2 | on: 3 | schedule: 4 | # Run at 05:00 on Wednesday 5 | - cron: '0 5 * * 3' 6 | 7 | jobs: 8 | update_dependencies: 9 | runs-on: ubuntu-24.04 10 | name: Update dependencies 11 | steps: 12 | - uses: RasaHQ/dependabot-batch-updater@f049cbb0bbd3754bcb5ab154a79f00cd780fc633 # v1.0 13 | with: 14 | repo-token: ${{ secrets.RASABOT_GITHUB_TOKEN }} 15 | repository: RasaHQ/rasa 16 | directory: / 17 | package-manager: pip 18 | batch-size: 5 19 | -------------------------------------------------------------------------------- /.github/workflows/spellcheck.yml: -------------------------------------------------------------------------------- 1 | name: Typo CI 2 | 3 | on: 4 | push: 5 | branches-ignore: 6 | - main 7 | jobs: 8 | spellcheck: 9 | name: Typo CI (GitHub Action) 10 | runs-on: ubuntu-24.04 11 | timeout-minutes: 4 12 | if: "!contains(github.event.head_commit.message, '[ci skip]')" 13 | steps: 14 | - name: TypoCheck 15 | uses: typoci/spellcheck-action@a63b1430c8f0ceed9fd0bd0f3ad8f7466e6c695d # v1.1.0 16 | # with: 17 | # A license can be purchased via: 18 | # https://gumroad.com/l/MvvBE 19 | # typo_ci_license_key: ${{ secrets.TYPO_CI_LICENSE_KEY }} 20 | env: 21 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 22 | -------------------------------------------------------------------------------- /.mergepal.yml: -------------------------------------------------------------------------------- 1 | whitelist: 2 | - status:ready-to-merge 3 | method: merge 4 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | repos: 2 | - repo: https://github.com/ambv/black 3 | rev: 22.10.0 4 | hooks: 5 | - id: black 6 | args: [--line-length=88] 7 | - repo: https://github.com/thlorenz/doctoc 8 | rev: v2.1.0 9 | hooks: 10 | - id: doctoc 11 | files: "CONTRIBUTING.md" 12 | - repo: local 13 | hooks: 14 | - id: docstring-check 15 | name: docstring-check 16 | entry: bash -c 'make lint-docstrings' 17 | language: system 18 | types: [python] 19 | pass_filenames: false 20 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | /docs/docs/prototype-an-assistant.mdx @RasaHQ/atom-squad 2 | /.github/workflows/ @RasaHQ/infrastructure-squad 3 | /rasa/ @RasaHQ/dev-tribe-engineers 4 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Rasa Technologies GmbH 2 | Copyright 2016-2022 Rasa Technologies GmbH 3 | 4 | This product includes software from spaCy (https://github.com/explosion/spaCy), 5 | under the MIT License (see: rasa.nlu.extractors.crf_entity_extractor). 6 | -------------------------------------------------------------------------------- /binder/postBuild: -------------------------------------------------------------------------------- 1 | poetry run python -m spacy download en 2 | -------------------------------------------------------------------------------- /cloudbuild.yaml: -------------------------------------------------------------------------------- 1 | timeout: "20m" 2 | steps: 3 | - name: 'gcr.io/cloud-builders/docker' 4 | id: 'docker-build' 5 | args: ['build', '--file', './docker/Dockerfile_full', '-t', '$_IMAGE_REPO:$TAG_NAME', '.'] 6 | images: [ '$_IMAGE_REPO:$TAG_NAME' ] 7 | -------------------------------------------------------------------------------- /data/README.md: -------------------------------------------------------------------------------- 1 | These are some example training data files for a simple bot in the restaurant domain. 2 | They are in the format of the services rasa NLU can emulate, e.g. when you download an export 3 | of your app from one of these services it should look like one of these files. 4 | 5 | 6 | [examples/rasa](examples/rasa): examples in the native rasa NLU format 7 | 8 | [examples/luis](examples/luis): in LUIS format 9 | 10 | [examples/wit](examples/wit): in wit format 11 | 12 | [examples/api](examples/api): this is a dir and in Dialogflow format 13 | -------------------------------------------------------------------------------- /data/configs_for_docs/config_featurizers.yml: -------------------------------------------------------------------------------- 1 | assistant_id: example_featurizers_bot 2 | language: "en" 3 | 4 | pipeline: 5 | - name: ConveRTTokenizer 6 | - name: ConveRTFeaturizer 7 | alias: "convert" 8 | - name: RegexFeaturizer 9 | alias: "regex" 10 | - name: LexicalSyntacticFeaturizer 11 | alias: "lexical-syntactic" 12 | - name: CountVectorsFeaturizer 13 | alias: "cvf-word" 14 | - name: CountVectorsFeaturizer 15 | alias: "cvf-char" 16 | analyzer: "char_wb" 17 | min_ngram: 1 18 | max_ngram: 4 19 | - name: DIETClassifier 20 | epochs: 100 21 | - name: EntitySynonymMapper 22 | - name: ResponseSelector 23 | featurizers: ["convert", "cvf-word"] 24 | epochs: 100 25 | -------------------------------------------------------------------------------- /data/configs_for_docs/default_config.yml: -------------------------------------------------------------------------------- 1 | assistant_id: default_config_bot 2 | language: "fr" # your two-letter language code 3 | 4 | pipeline: 5 | - name: WhitespaceTokenizer 6 | - name: RegexFeaturizer 7 | - name: LexicalSyntacticFeaturizer 8 | - name: CountVectorsFeaturizer 9 | - name: CountVectorsFeaturizer 10 | analyzer: "char_wb" 11 | min_ngram: 1 12 | max_ngram: 4 13 | - name: DIETClassifier 14 | epochs: 100 15 | - name: EntitySynonymMapper 16 | - name: ResponseSelector 17 | epochs: 100 -------------------------------------------------------------------------------- /data/configs_for_docs/default_english_config.yml: -------------------------------------------------------------------------------- 1 | assistant_id: default_en_bot 2 | language: "en" 3 | 4 | pipeline: 5 | - name: ConveRTTokenizer 6 | - name: ConveRTFeaturizer 7 | - name: RegexFeaturizer 8 | - name: LexicalSyntacticFeaturizer 9 | - name: CountVectorsFeaturizer 10 | - name: CountVectorsFeaturizer 11 | analyzer: "char_wb" 12 | min_ngram: 1 13 | max_ngram: 4 14 | - name: DIETClassifier 15 | epochs: 100 16 | - name: EntitySynonymMapper 17 | - name: ResponseSelector 18 | epochs: 100 19 | -------------------------------------------------------------------------------- /data/configs_for_docs/default_spacy_config.yml: -------------------------------------------------------------------------------- 1 | assistant_id: default_spacy_bot 2 | language: "fr" # your two-letter language code 3 | 4 | pipeline: 5 | - name: SpacyNLP 6 | - name: SpacyTokenizer 7 | - name: SpacyFeaturizer 8 | - name: RegexFeaturizer 9 | - name: LexicalSyntacticFeaturizer 10 | - name: CountVectorsFeaturizer 11 | - name: CountVectorsFeaturizer 12 | analyzer: "char_wb" 13 | min_ngram: 1 14 | max_ngram: 4 15 | - name: DIETClassifier 16 | epochs: 100 17 | - name: EntitySynonymMapper 18 | - name: ResponseSelector 19 | epochs: 100 20 | -------------------------------------------------------------------------------- /data/configs_for_docs/example_for_suggested_config.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | assistant_id: example_bot 3 | language: en 4 | 5 | pipeline: 6 | # will be selected by the Suggested Config feature 7 | 8 | policies: 9 | - name: MemoizationPolicy 10 | - name: TEDPolicy 11 | max_history: 5 12 | epochs: 10 13 | -------------------------------------------------------------------------------- /data/configs_for_docs/pretrained_embeddings_convert_config.yml: -------------------------------------------------------------------------------- 1 | assistant_id: example_convert_bot 2 | language: "en" 3 | 4 | pipeline: 5 | - name: "ConveRTTokenizer" 6 | - name: "ConveRTFeaturizer" 7 | - name: "DIETClassifier" 8 | -------------------------------------------------------------------------------- /data/configs_for_docs/pretrained_embeddings_mitie_config_1.yml: -------------------------------------------------------------------------------- 1 | assistant_id: example_mitie_bot 2 | language: "en" 3 | 4 | pipeline: 5 | - name: "MitieNLP" 6 | model: "data/total_word_feature_extractor.dat" 7 | - name: "MitieTokenizer" 8 | - name: "MitieEntityExtractor" 9 | - name: "EntitySynonymMapper" 10 | - name: "RegexFeaturizer" 11 | - name: "MitieFeaturizer" 12 | - name: "SklearnIntentClassifier" 13 | -------------------------------------------------------------------------------- /data/configs_for_docs/pretrained_embeddings_mitie_config_2.yml: -------------------------------------------------------------------------------- 1 | assistant_id: example_mitie_bot 2 | language: "en" 3 | 4 | pipeline: 5 | - name: "MitieNLP" 6 | model: "data/total_word_feature_extractor.dat" 7 | - name: "MitieTokenizer" 8 | - name: "MitieEntityExtractor" 9 | - name: "EntitySynonymMapper" 10 | - name: "RegexFeaturizer" 11 | - name: "MitieIntentClassifier" 12 | -------------------------------------------------------------------------------- /data/configs_for_docs/pretrained_embeddings_spacy_config.yml: -------------------------------------------------------------------------------- 1 | assistant_id: example_spacy_bot 2 | language: "en" 3 | 4 | pipeline: 5 | - name: "SpacyNLP" 6 | model: "en_core_web_md" 7 | - name: "SpacyTokenizer" 8 | - name: "SpacyFeaturizer" 9 | - name: "RegexFeaturizer" 10 | - name: "CRFEntityExtractor" 11 | - name: "EntitySynonymMapper" 12 | 13 | - name: "SklearnIntentClassifier" 14 | -------------------------------------------------------------------------------- /data/configs_for_docs/supervised_embeddings_config.yml: -------------------------------------------------------------------------------- 1 | assistant_id: example_supervised_bot 2 | language: "en" 3 | 4 | pipeline: 5 | - name: "WhitespaceTokenizer" 6 | - name: "RegexFeaturizer" 7 | - name: "CRFEntityExtractor" 8 | - name: "EntitySynonymMapper" 9 | - name: "CountVectorsFeaturizer" 10 | - name: "CountVectorsFeaturizer" 11 | analyzer: "char_wb" 12 | min_ngram: 1 13 | max_ngram: 4 14 | - name: "DIETClassifier" 15 | -------------------------------------------------------------------------------- /data/examples/dialogflow/entities/cuisine.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "11c77228-4a02-4db8-a398-b286fe8098d2", 3 | "name": "cuisine", 4 | "isOverridable": true, 5 | "isEnum": false, 6 | "isRegexp": false, 7 | "automatedExpansion": false, 8 | "allowFuzzyExtraction": false 9 | } 10 | -------------------------------------------------------------------------------- /data/examples/dialogflow/entities/cuisine_entries_en.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "mexican", 4 | "synonyms": [ 5 | "mexican", 6 | "mexico" 7 | ] 8 | }, 9 | { 10 | "value": "chinese", 11 | "synonyms": [ 12 | "chinese", 13 | "china" 14 | ] 15 | }, 16 | { 17 | "value": "indian", 18 | "synonyms": [ 19 | "indian", 20 | "india" 21 | ] 22 | } 23 | ] 24 | -------------------------------------------------------------------------------- /data/examples/dialogflow/entities/cuisine_entries_es.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "mexicano", 4 | "synonyms": [ 5 | "mexicano", 6 | "mexicana", 7 | "méxico" 8 | ] 9 | }, 10 | { 11 | "value": "chino", 12 | "synonyms": [ 13 | "chino", 14 | "china", 15 | "chinos" 16 | ] 17 | }, 18 | { 19 | "value": "indio", 20 | "synonyms": [ 21 | "indio", 22 | "india" 23 | ] 24 | } 25 | ] 26 | -------------------------------------------------------------------------------- /data/examples/dialogflow/entities/flightNumber.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "fc93d510-e240-4b71-bafe-7dd7a3303e79", 3 | "name": "flightNumber", 4 | "isOverridable": true, 5 | "isEnum": false, 6 | "isRegexp": true, 7 | "automatedExpansion": false, 8 | "allowFuzzyExtraction": false 9 | } 10 | -------------------------------------------------------------------------------- /data/examples/dialogflow/entities/flightNumber_entries_en.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "flight [A-Z]{2} [0-9]{4}", 4 | "synonyms": [ 5 | "flight [A-Z]{2} [0-9]{4}" 6 | ] 7 | } 8 | ] 9 | -------------------------------------------------------------------------------- /data/examples/dialogflow/entities/location.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "8ee88034-01d3-49d4-bb58-531a705b963b", 3 | "name": "location", 4 | "isOverridable": true, 5 | "isEnum": false, 6 | "isRegexp": false, 7 | "automatedExpansion": false, 8 | "allowFuzzyExtraction": false 9 | } 10 | -------------------------------------------------------------------------------- /data/examples/dialogflow/entities/location_entries_en.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "centre", 4 | "synonyms": [ 5 | "centre" 6 | ] 7 | }, 8 | { 9 | "value": "west", 10 | "synonyms": [ 11 | "west" 12 | ] 13 | }, 14 | { 15 | "value": "central", 16 | "synonyms": [ 17 | "central" 18 | ] 19 | }, 20 | { 21 | "value": "north", 22 | "synonyms": [ 23 | "north" 24 | ] 25 | } 26 | ] 27 | -------------------------------------------------------------------------------- /data/examples/dialogflow/entities/location_entries_es.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "centro", 4 | "synonyms": [ 5 | "centro", 6 | "centrar" 7 | ] 8 | }, 9 | { 10 | "value": "oeste", 11 | "synonyms": [ 12 | "oeste", 13 | "occidente" 14 | ] 15 | }, 16 | { 17 | "value": "central", 18 | "synonyms": [ 19 | "central", 20 | "céntrico" 21 | ] 22 | }, 23 | { 24 | "value": "norte", 25 | "synonyms": [ 26 | "norte" 27 | ] 28 | } 29 | ] 30 | -------------------------------------------------------------------------------- /data/examples/dialogflow/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0.0" 3 | } 4 | -------------------------------------------------------------------------------- /data/examples/rasa/demo-rasa-responses.yml: -------------------------------------------------------------------------------- 1 | responses: 2 | utter_chitchat/ask_weather: 3 | - text: It's sunny where I live 4 | 5 | utter_chitchat/ask_name: 6 | - text: I am Mr. Bot 7 | -------------------------------------------------------------------------------- /data/rasa_yaml_examples/nlu.yml: -------------------------------------------------------------------------------- 1 | nlu: 2 | - intent: estimate_emissions 3 | # Arbitrary metadata 4 | metadata: 5 | author: Some example metadata! 6 | key: value 7 | # Multiline examples, each line is a separate training example. 8 | examples: | 9 | how much CO2 will that use? 10 | how much carbon will a one way flight from [new york]{"entity": "city", "role": "from"} to california produce? 11 | -------------------------------------------------------------------------------- /data/test/config_embedding_test.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | language: en 3 | pipeline: 4 | - name: "CountVectorsFeaturizer" 5 | max_ngram: 3 6 | - name: "DIETClassifier" 7 | epochs: 10 8 | -------------------------------------------------------------------------------- /data/test/demo-rasa-lookup-ents.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | nlu: 3 | - intent: affirm 4 | examples: | 5 | - yes 6 | - yep 7 | - yeah 8 | - indeed 9 | - that's right 10 | - ok 11 | - great 12 | - right, thank you 13 | - correct 14 | - great choice 15 | - sounds really good 16 | - intent: buy_groceries 17 | examples: | 18 | - I'd like to buy some [milk](product) 19 | - One pack of [butter](product) please 20 | - A loaf of [bread](product) 21 | - I want to make some [pasta](product) tonight 22 | - lookup: product 23 | examples: | 24 | - milk 25 | - bread 26 | - butter 27 | - pasta 28 | -------------------------------------------------------------------------------- /data/test/duplicate_intents_yaml/demo-rasa-intents-1.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | nlu: 3 | - intent: affirm 4 | examples: | 5 | - yes 6 | - yep 7 | - yeah 8 | - indeed 9 | - that's right 10 | - ok 11 | - great 12 | - right, thank you 13 | - correct 14 | - great choice 15 | - sounds really good 16 | - intent: goodbye 17 | examples: | 18 | - bye 19 | - goodbye 20 | - good bye 21 | - stop 22 | - end 23 | - intent: greet 24 | examples: | 25 | - hey 26 | - howdy 27 | - hey there 28 | - hello 29 | - hi 30 | - good morning 31 | - good evening 32 | - dear sir 33 | -------------------------------------------------------------------------------- /data/test/duplicate_intents_yaml/demo-rasa-intents-3.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | nlu: 3 | - intent: affirm 4 | examples: | 5 | - yes 6 | - yep 7 | - yeah 8 | - indeed 9 | - that's right 10 | - ok 11 | - great 12 | - right, thank you 13 | - correct 14 | - great choice 15 | - sounds really good 16 | - intent: chitchat/ask_name 17 | examples: | 18 | - What's your name? 19 | - What can I call you? 20 | - intent: chitchat/ask_weather 21 | examples: | 22 | - How's the weather? 23 | - Is it too hot outside? 24 | -------------------------------------------------------------------------------- /data/test/hf_transformers_models.txt: -------------------------------------------------------------------------------- 1 | bert-base-chinese 2 | openai-gpt 3 | gpt2 4 | xlnet-base-cased 5 | bert-base-uncased 6 | roberta-base 7 | distilbert-base-uncased 8 | camembert-base 9 | sentence-transformers/all-MiniLM-L6-v2 10 | -------------------------------------------------------------------------------- /data/test/incorrect_nlu_format.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | nlu: 3 | -------------------------------------------------------------------------------- /data/test/lookup_tables/lookup_table.json: -------------------------------------------------------------------------------- 1 | { 2 | "rasa_nlu_data": { 3 | "lookup_tables": [ 4 | { 5 | "name": "plates", 6 | "elements": "data/test/lookup_tables/plates.txt" 7 | } 8 | ], 9 | "common_examples": [ 10 | { 11 | "text": "hey", 12 | "intent": "greet", 13 | "entities": [] 14 | } 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /data/test/lookup_tables/lookup_table.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | nlu: 3 | - intent: restaurant_search 4 | examples: | 5 | - i'm looking for a [sushi](food) place to eat 6 | - I want to grab [tacos](food) 7 | - I am searching for a [pizza](food) spot 8 | - I would like to drink [sweet berry wine](beverage) with my meal 9 | - lookup: plates 10 | examples: | 11 | - tacos 12 | - beef 13 | - mapo tofu 14 | - burrito 15 | - lettuce wrap 16 | -------------------------------------------------------------------------------- /data/test/lookup_tables/plates.txt: -------------------------------------------------------------------------------- 1 | tacos 2 | beef 3 | mapo tofu 4 | burrito 5 | lettuce wrap -------------------------------------------------------------------------------- /data/test/multiple_files_json/demo-rasa-chitchat.json: -------------------------------------------------------------------------------- 1 | { 2 | "rasa_nlu_data": { 3 | "common_examples": [ 4 | { 5 | "text": "What's your name?", 6 | "intent": "chitchat/ask_name", 7 | "entitites": [] 8 | }, 9 | { 10 | "text": "What can I call you?", 11 | "intent": "chitchat/ask_name", 12 | "entitites": [] 13 | }, 14 | { 15 | "text": "How's the weather?", 16 | "intent": "chitchat/ask_weather", 17 | "entitites": [] 18 | }, 19 | { 20 | "text": "Is it too hot outside?", 21 | "intent": "chitchat/ask_weather", 22 | "entitites": [] 23 | } 24 | ] 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /data/test/overlapping_regex_entities.yml: -------------------------------------------------------------------------------- 1 | 2 | version: "3.1" 3 | nlu: 4 | - intent: restaurant_search 5 | examples: | 6 | - What [pizza](meal) places have been [buzzing](zz-words) lately? 7 | - What [pizza](meal) places have been [trendy](zz-words) lately? 8 | - regex: zz-words 9 | examples: | 10 | - \w*zz\w* 11 | - lookup: meal 12 | examples: | 13 | - pizza 14 | - pasta 15 | -------------------------------------------------------------------------------- /data/test/simple_retrieval_intent_nlu.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | nlu: 3 | - intent: chitchat/hello 4 | examples: | 5 | - hey 6 | - hello 7 | - hi 8 | - good morning 9 | - good evening 10 | - hey there 11 | -------------------------------------------------------------------------------- /data/test/synonyms_only.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | nlu: 3 | - synonym: chinese 4 | examples: | 5 | - Chines 6 | - Chinese 7 | -------------------------------------------------------------------------------- /data/test/test_integration/data/rules.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | rules: 4 | 5 | - rule: Say goodbye anytime the user says goodbye 6 | steps: 7 | - intent: goodbye 8 | - action: utter_goodbye 9 | 10 | - rule: Say 'I am a bot' anytime the user challenges 11 | steps: 12 | - intent: bot_challenge 13 | - action: utter_iamabot 14 | -------------------------------------------------------------------------------- /data/test/test_integration_err/data/rules.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | rules: 4 | 5 | - rule: Say goodbye anytime the user says goodbye 6 | steps: 7 | - intent: goodbye 8 | - action: utter_goodbye 9 | 10 | - rule: Say 'I am a bot' anytime the user challenges 11 | steps: 12 | - intent: bot_challenge 13 | - action: utter_iamabot 14 | -------------------------------------------------------------------------------- /data/test_action_extract_slots_11333/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/data/test_action_extract_slots_11333/models/.gitkeep -------------------------------------------------------------------------------- /data/test_classes/registered_component.py: -------------------------------------------------------------------------------- 1 | from rasa.engine.graph import GraphComponent 2 | from rasa.engine.recipes.default_recipe import DefaultV1Recipe 3 | 4 | 5 | @DefaultV1Recipe.register( 6 | component_types=[DefaultV1Recipe.ComponentType.INTENT_CLASSIFIER], 7 | is_trainable=True, 8 | model_from="SpacyNLP", 9 | ) 10 | class MyComponent(GraphComponent): 11 | ... 12 | -------------------------------------------------------------------------------- /data/test_config/config_crf_no_pattern_feature.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | language: en 3 | pipeline: 4 | - name: "WhitespaceTokenizer" 5 | - name: "RegexFeaturizer" 6 | - name: "CRFEntityExtractor" 7 | features: [['low', 'title', 'upper'],['bias', 'low', 'digit'],['low', 'title', 'upper']] 8 | - name: "EntitySynonymMapper" 9 | -------------------------------------------------------------------------------- /data/test_config/config_crf_no_regex.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | language: en 3 | pipeline: 4 | - name: "WhitespaceTokenizer" 5 | - name: "CRFEntityExtractor" 6 | - name: "EntitySynonymMapper" 7 | -------------------------------------------------------------------------------- /data/test_config/config_crf_no_synonyms.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | language: en 3 | pipeline: 4 | - name: "WhitespaceTokenizer" 5 | - name: "CRFEntityExtractor" 6 | -------------------------------------------------------------------------------- /data/test_config/config_default_assistant_id_value.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | assistant_id: placeholder_default 3 | language: en 4 | pipeline: [] 5 | data: null 6 | policies: null 7 | -------------------------------------------------------------------------------- /data/test_config/config_embedding_intent_response_selector.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | 3 | pipeline: 4 | - name: "WhitespaceTokenizer" 5 | - name: "CountVectorsFeaturizer" 6 | - name: "DIETClassifier" 7 | epochs: 2 8 | - name: "ResponseSelector" 9 | epochs: 2 10 | -------------------------------------------------------------------------------- /data/test_config/config_empty_en.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | assistant_id: placeholder_default 3 | language: en 4 | pipeline: 5 | policies: 6 | -------------------------------------------------------------------------------- /data/test_config/config_empty_en_after_dumping_core.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | assistant_id: placeholder_default 3 | language: en 4 | pipeline: 5 | policies: 6 | # # No configuration for policies was provided. The following default policies were used to train your model. 7 | # # If you'd like to customize them, uncomment and adjust the policies. 8 | # # See https://rasa.com/docs/rasa/policies for more information. 9 | # - name: MemoizationPolicy 10 | # - name: RulePolicy 11 | # - name: UnexpecTEDIntentPolicy 12 | # max_history: 5 13 | # epochs: 100 14 | # - name: TEDPolicy 15 | # max_history: 5 16 | # epochs: 100 17 | # constrain_similarities: true 18 | -------------------------------------------------------------------------------- /data/test_config/config_empty_fr.yml: -------------------------------------------------------------------------------- 1 | language: fr 2 | assistant_id: placeholder_default 3 | pipeline: 4 | policies: 5 | -------------------------------------------------------------------------------- /data/test_config/config_language_only.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | language: en 3 | -------------------------------------------------------------------------------- /data/test_config/config_no_assistant_id.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | language: en 3 | pipeline: [] 4 | data: null 5 | policies: null 6 | -------------------------------------------------------------------------------- /data/test_config/config_no_assistant_id_with_comments.yml: -------------------------------------------------------------------------------- 1 | # Random comments line 1 2 | recipe: default.v1 # Random comments line 2 3 | # Random comments line 3 4 | language: en # Random comments line 4 5 | pipeline: [] 6 | data: null 7 | policies: null 8 | # Random comments line 5 9 | -------------------------------------------------------------------------------- /data/test_config/config_pipeline_empty.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | assistant_id: placeholder_default 3 | language: en 4 | 5 | pipeline: 6 | 7 | policies: 8 | - name: "KerasPolicy" 9 | featurizer: 10 | - name: MaxHistoryTrackerFeaturizer 11 | max_history: 5 12 | state_featurizer: 13 | - name: SingleStateFeaturizer 14 | - name: "MemoizationPolicy" 15 | max_history: 5 16 | - name: "FallbackPolicy" 17 | nlu_threshold: 0.4 18 | core_threshold: 0.3 19 | fallback_action_name: "my_fallback_action" 20 | -------------------------------------------------------------------------------- /data/test_config/config_pipeline_missing.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | assistant_id: placeholder_default 3 | language: en 4 | 5 | policies: 6 | - name: "KerasPolicy" 7 | featurizer: 8 | - name: MaxHistoryTrackerFeaturizer 9 | max_history: 5 10 | state_featurizer: 11 | - name: SingleStateFeaturizer 12 | - name: "MemoizationPolicy" 13 | max_history: 5 14 | - name: "FallbackPolicy" 15 | nlu_threshold: 0.4 16 | core_threshold: 0.3 17 | fallback_action_name: "my_fallback_action" 18 | -------------------------------------------------------------------------------- /data/test_config/config_policies_empty.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | assistant_id: placeholder_default 3 | language: en 4 | 5 | pipeline: 6 | - name: ConveRTTokenizer 7 | - name: ConveRTFeaturizer 8 | - name: RegexFeaturizer 9 | - name: LexicalSyntacticFeaturizer 10 | - name: CountVectorsFeaturizer 11 | - name: CountVectorsFeaturizer 12 | analyzer: "char_wb" 13 | min_ngram: 1 14 | max_ngram: 4 15 | - name: DIETClassifier 16 | epochs: 100 17 | - name: EntitySynonymMapper 18 | - name: ResponseSelector 19 | epochs: 100 20 | 21 | policies: 22 | -------------------------------------------------------------------------------- /data/test_config/config_policies_missing.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | assistant_id: placeholder_default 3 | language: en 4 | 5 | pipeline: 6 | - name: ConveRTTokenizer 7 | - name: ConveRTFeaturizer 8 | - name: RegexFeaturizer 9 | - name: LexicalSyntacticFeaturizer 10 | - name: CountVectorsFeaturizer 11 | - name: CountVectorsFeaturizer 12 | analyzer: "char_wb" 13 | min_ngram: 1 14 | max_ngram: 4 15 | - name: DIETClassifier 16 | epochs: 100 17 | - name: EntitySynonymMapper 18 | - name: ResponseSelector 19 | epochs: 100 20 | -------------------------------------------------------------------------------- /data/test_config/config_pretrained_embeddings_convert.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | 3 | pipeline: 4 | - name: ConveRTTokenizer 5 | - name: ConveRTFeaturizer 6 | - name: DIETClassifier 7 | -------------------------------------------------------------------------------- /data/test_config/config_pretrained_embeddings_mitie.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | 3 | pipeline: 4 | - name: "MitieNLP" 5 | model: "data/total_word_feature_extractor.dat" 6 | - name: "MitieTokenizer" 7 | - name: "MitieEntityExtractor" 8 | - name: "EntitySynonymMapper" 9 | - name: "RegexFeaturizer" 10 | - name: "MitieFeaturizer" 11 | - name: "SklearnIntentClassifier" 12 | 13 | -------------------------------------------------------------------------------- /data/test_config/config_pretrained_embeddings_mitie_2.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | 3 | pipeline: 4 | - name: "MitieNLP" 5 | model: "data/total_word_feature_extractor.dat" 6 | - name: "MitieTokenizer" 7 | - name: "MitieEntityExtractor" 8 | - name: "EntitySynonymMapper" 9 | - name: "RegexFeaturizer" 10 | - name: "MitieIntentClassifier" 11 | -------------------------------------------------------------------------------- /data/test_config/config_pretrained_embeddings_mitie_diet.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | 3 | pipeline: 4 | - name: "MitieNLP" 5 | model: "data/total_word_feature_extractor.dat" 6 | - name: "MitieTokenizer" 7 | - name: "MitieEntityExtractor" 8 | - name: "EntitySynonymMapper" 9 | - name: "RegexFeaturizer" 10 | - name: "MitieFeaturizer" 11 | - name: "MitieIntentClassifier" 12 | num_threads: 200000 13 | finetuning_epoch_fraction: 0.75 14 | - name: "DIETClassifier" 15 | num_threads: 200000 16 | finetuning_epoch_fraction: 0.75 17 | - name: "SklearnIntentClassifier" 18 | 19 | -------------------------------------------------------------------------------- /data/test_config/config_pretrained_embeddings_mitie_zh.yml: -------------------------------------------------------------------------------- 1 | language: "zh" 2 | 3 | pipeline: 4 | - name: "MitieNLP" 5 | model: "data/total_word_feature_extractor_zh.dat" 6 | - name: "JiebaTokenizer" 7 | - name: "MitieEntityExtractor" 8 | - name: "EntitySynonymMapper" 9 | - name: "RegexFeaturizer" 10 | - name: "MitieFeaturizer" 11 | - name: "SklearnIntentClassifier" 12 | -------------------------------------------------------------------------------- /data/test_config/config_pretrained_embeddings_spacy.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | 3 | pipeline: 4 | - name: SpacyNLP 5 | - name: SpacyTokenizer 6 | - name: SpacyFeaturizer 7 | - name: RegexFeaturizer 8 | - name: CRFEntityExtractor 9 | - name: EntitySynonymMapper 10 | - name: SklearnIntentClassifier 11 | -------------------------------------------------------------------------------- /data/test_config/config_pretrained_embeddings_spacy_de.yml: -------------------------------------------------------------------------------- 1 | language: "de" 2 | 3 | pipeline: 4 | - name: SpacyNLP 5 | model: "de_core_news_sm" 6 | - name: SpacyTokenizer 7 | - name: SpacyFeaturizer 8 | - name: RegexFeaturizer 9 | - name: CRFEntityExtractor 10 | - name: EntitySynonymMapper 11 | - name: SklearnIntentClassifier 12 | -------------------------------------------------------------------------------- /data/test_config/config_pretrained_embeddings_spacy_duckling.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | 3 | pipeline: 4 | - name: "SpacyNLP" 5 | model: "en_core_web_md" 6 | - name: "SpacyTokenizer" 7 | - name: "RegexFeaturizer" 8 | - name: "SpacyFeaturizer" 9 | - name: "CRFEntityExtractor" 10 | - name: "EntitySynonymMapper" 11 | - name: "SklearnIntentClassifier" 12 | - name: "DucklingEntityExtractor" 13 | url: "http://duckling:8000" 14 | -------------------------------------------------------------------------------- /data/test_config/config_response_selector_minimal.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | assistant_id: placeholder_default 3 | language: en 4 | pipeline: 5 | - name: WhitespaceTokenizer 6 | - name: CountVectorsFeaturizer 7 | - name: ResponseSelector 8 | epochs: 1 9 | -------------------------------------------------------------------------------- /data/test_config/config_spacy_entity_extractor.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | language: en 3 | pipeline: 4 | - name: "SpacyNLP" 5 | model: "en_core_web_md" 6 | - name: "SpacyTokenizer" 7 | - name: "SpacyFeaturizer" 8 | - name: "RegexFeaturizer" 9 | - name: "SpacyEntityExtractor" 10 | - name: "EntitySynonymMapper" 11 | -------------------------------------------------------------------------------- /data/test_config/config_supervised_embeddings.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | 3 | pipeline: 4 | - name: WhitespaceTokenizer 5 | - name: RegexFeaturizer 6 | - name: CRFEntityExtractor 7 | - name: EntitySynonymMapper 8 | - name: CountVectorsFeaturizer 9 | - name: CountVectorsFeaturizer 10 | analyzer: "char_wb" 11 | min_ngram: 1 12 | max_ngram: 4 13 | - name: DIETClassifier 14 | -------------------------------------------------------------------------------- /data/test_config/config_supervised_embeddings_duckling.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | 3 | pipeline: 4 | - name: "CountVectorsFeaturizer" 5 | - name: "LogisticRegressionClassifier" 6 | - name: "DucklingEntityExtractor" 7 | url: "http://duckling:8000" 8 | -------------------------------------------------------------------------------- /data/test_config/config_ted_policy_model_checkpointing.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | assistant_id: placeholder_default 3 | policies: 4 | - name: TEDPolicy 5 | epochs: 2 6 | evaluate_on_number_of_examples: 14 7 | evaluate_every_number_of_epochs: 1 8 | checkpoint_model: True 9 | -------------------------------------------------------------------------------- /data/test_config/config_ted_policy_model_checkpointing_zero_eval_num_examples.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | assistant_id: placeholder_default 3 | policies: 4 | - name: TEDPolicy 5 | epochs: 1 6 | evaluate_on_number_of_examples: 0 7 | evaluate_every_number_of_epochs: 1 8 | checkpoint_model: True 9 | -------------------------------------------------------------------------------- /data/test_config/config_ted_policy_model_checkpointing_zero_every_num_epochs.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | assistant_id: placeholder_default 3 | policies: 4 | - name: TEDPolicy 5 | epochs: 1 6 | evaluate_on_number_of_examples: 14 7 | evaluate_every_number_of_epochs: 0 8 | checkpoint_model: True 9 | -------------------------------------------------------------------------------- /data/test_config/config_ted_policy_no_model_checkpointing.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | assistant_id: placeholder_default 3 | policies: 4 | - name: TEDPolicy 5 | epochs: 2 6 | checkpoint_model: False 7 | -------------------------------------------------------------------------------- /data/test_config/config_train_server_json.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | 3 | pipeline: 4 | - name: SpacyNLP 5 | - name: SpacyTokenizer 6 | - name: SpacyFeaturizer 7 | - name: RegexFeaturizer 8 | - name: CRFEntityExtractor 9 | - name: EntitySynonymMapper 10 | - name: SklearnIntentClassifier 11 | 12 | # data contains the same json, as described in the training data section 13 | data: { 14 | "rasa_nlu_data": { 15 | "common_examples": [ 16 | { 17 | "text": "hey", 18 | "intent": "greet", 19 | "entities": [] 20 | } 21 | ] 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /data/test_config/config_train_server_md.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | 3 | pipeline: 4 | - name: SpacyNLP 5 | - name: SpacyTokenizer 6 | - name: SpacyFeaturizer 7 | - name: RegexFeaturizer 8 | - name: CRFEntityExtractor 9 | - name: EntitySynonymMapper 10 | - name: SklearnIntentClassifier 11 | 12 | # data contains the same md, as described in the training data section 13 | data: | 14 | ## intent:affirm 15 | - yes 16 | - yep 17 | 18 | ## intent:goodbye 19 | - bye 20 | - goodbye 21 | -------------------------------------------------------------------------------- /data/test_config/config_with_comments.yml: -------------------------------------------------------------------------------- 1 | # here is some comment 2 | recipe: default.v1 3 | assistant_id: placeholder_default 4 | language: en 5 | 6 | # another comment 7 | pipeline: 8 | - name: ConveRTTokenizer 9 | - name: ConveRTFeaturizer 10 | - name: RegexFeaturizer 11 | - name: LexicalSyntacticFeaturizer 12 | - name: CountVectorsFeaturizer 13 | - name: CountVectorsFeaturizer 14 | analyzer: "char_wb" 15 | min_ngram: 1 16 | max_ngram: 4 17 | - name: DIETClassifier 18 | epochs: 100 19 | - name: EntitySynonymMapper 20 | - name: ResponseSelector 21 | epochs: 100 22 | # all the comments 23 | # so many 24 | policies: # even here 25 | # this one will disappear 26 | 27 | # comments everywhere 28 | -------------------------------------------------------------------------------- /data/test_config/embedding_random_seed.yaml: -------------------------------------------------------------------------------- 1 | policies: 2 | - name: TEDPolicy 3 | random_seed: 42 4 | epochs: 2 5 | -------------------------------------------------------------------------------- /data/test_config/example_config.yaml: -------------------------------------------------------------------------------- 1 | policies: 2 | - name: MemoizationPolicy 3 | max_history: 5 4 | - name: tests.core.test_config.ExamplePolicy 5 | example_arg: 10 6 | -------------------------------------------------------------------------------- /data/test_config/keyword_classifier_config.yml: -------------------------------------------------------------------------------- 1 | pipeline: 2 | - name: "KeywordIntentClassifier" 3 | -------------------------------------------------------------------------------- /data/test_config/max_hist_config.yml: -------------------------------------------------------------------------------- 1 | assistant_id: placeholder_default 2 | policies: 3 | - name: MemoizationPolicy 4 | max_history: 5 5 | - name: RulePolicy 6 | - name: TEDPolicy 7 | max_history: 5 8 | -------------------------------------------------------------------------------- /data/test_config/no_max_hist_config.yml: -------------------------------------------------------------------------------- 1 | policies: 2 | - name: MemoizationPolicy 3 | - name: RulePolicy 4 | -------------------------------------------------------------------------------- /data/test_config/stack_config.yml: -------------------------------------------------------------------------------- 1 | # Configuration for Rasa NLU. 2 | # https://rasa.com/docs/rasa/components 3 | recipe: default.v1 4 | # The assistant project unique identifier 5 | assistant_id: unique_stack_assistant_test_name 6 | language: en 7 | pipeline: 8 | - name: KeywordIntentClassifier 9 | - name: RegexEntityExtractor 10 | 11 | # Configuration for Rasa Core. 12 | # https://rasa.com/docs/rasa/policies 13 | policies: 14 | - name: MemoizationPolicy 15 | - name: RulePolicy 16 | -------------------------------------------------------------------------------- /data/test_config/test_moodbot_config_no_assistant_id.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | language: en 3 | 4 | pipeline: 5 | - name: WhitespaceTokenizer 6 | intent_tokenization_flag: True 7 | - name: RegexFeaturizer 8 | - name: LexicalSyntacticFeaturizer 9 | - name: CountVectorsFeaturizer 10 | - name: CountVectorsFeaturizer 11 | analyzer: char_wb 12 | min_ngram: 1 13 | max_ngram: 4 14 | - name: LogisticRegressionClassifier 15 | 16 | policies: 17 | # - name: TEDPolicy 18 | # max_history: 5 19 | # epochs: 1 20 | - name: MemoizationPolicy 21 | - name: RulePolicy 22 | -------------------------------------------------------------------------------- /data/test_custom_action_triggers_action_extract_slots/domain.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - activate_flow 5 | - mood_great 6 | 7 | entities: 8 | - mood 9 | 10 | slots: 11 | mood_slot: 12 | type: text 13 | influence_conversation: true 14 | mappings: 15 | - type: from_entity 16 | entity: mood 17 | 18 | responses: 19 | utter_happy: 20 | - text: Great, carry on! 21 | 22 | actions: 23 | - action_force_next_utter 24 | - action_fallback_universal_search 25 | -------------------------------------------------------------------------------- /data/test_custom_action_triggers_action_extract_slots/nlu.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | nlu: 4 | - intent: activate_flow 5 | examples: | 6 | - Trigger custom action. 7 | - Activate custom action. 8 | 9 | - intent: mood_great 10 | examples: | 11 | - I am so [happy](mood). 12 | - Feeling [sad](mood). 13 | -------------------------------------------------------------------------------- /data/test_custom_action_triggers_action_extract_slots/stories.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | stories: 4 | 5 | - story: happy path 6 | steps: 7 | - intent: activate_flow 8 | - action: action_force_next_utter 9 | 10 | - story: test next action 11 | steps: 12 | - intent: mood_great 13 | entities: 14 | - mood: happy 15 | - action: utter_happy 16 | -------------------------------------------------------------------------------- /data/test_domains/custom_slot_domain.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - inform 3 | - greet 4 | 5 | entities: 6 | - limit 7 | 8 | slots: 9 | limit: 10 | type: data.test_classes.custom_slots.LimitSlot 11 | limit: 1000 12 | mappings: 13 | - type: from_entity 14 | entity: limit 15 | 16 | actions: 17 | - action_greet 18 | 19 | -------------------------------------------------------------------------------- /data/test_domains/default.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - greet 3 | - default 4 | - goodbye 5 | 6 | slots: 7 | cuisine: 8 | type: text 9 | mappings: 10 | - type: from_entity 11 | entity: cuisine 12 | location: 13 | type: text 14 | mappings: 15 | - type: from_entity 16 | entity: location 17 | 18 | entities: 19 | - name 20 | - cuisine 21 | - location 22 | 23 | responses: 24 | utter_greet: 25 | - text: hey there! 26 | utter_goodbye: 27 | - text: goodbye :( 28 | utter_default: 29 | - text: default message 30 | -------------------------------------------------------------------------------- /data/test_domains/default_retrieval_intents.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - greet 3 | - goodbye 4 | - affirm 5 | - deny 6 | - mood_great 7 | - mood_unhappy 8 | - bot_challenge 9 | - chitchat 10 | 11 | responses: 12 | utter_greet: 13 | - text: Hey! How are you? 14 | utter_cheer_up: 15 | - text: 'Here is something to cheer you up:' 16 | image: https://i.imgur.com/nGF1K8f.jpg 17 | utter_did_that_help: 18 | - text: Did that help you? 19 | utter_happy: 20 | - text: Great, carry on! 21 | utter_goodbye: 22 | - text: Bye 23 | utter_iamabot: 24 | - text: I am a bot, powered by Rasa. 25 | -------------------------------------------------------------------------------- /data/test_domains/default_unfeaturized_entities.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - greet: {use_entities: [name, used_entity]} 3 | - default: {ignore_entities : [unrelated_recognized_entity]} 4 | - goodbye: {use_entities: null} 5 | - thank: {use_entities: False} 6 | - ask: {use_entities: True} 7 | - why: {use_entities: []} 8 | - pure_intent 9 | 10 | entities: 11 | - name 12 | - unrelated_recognized_entity 13 | - other 14 | - used_entity: 15 | influence_conversation: true 16 | - unused_entity: 17 | influence_conversation: false 18 | 19 | responses: 20 | utter_greet: 21 | - text: hey there! 22 | utter_goodbye: 23 | - text: goodbye :( 24 | utter_default: 25 | - text: default message 26 | -------------------------------------------------------------------------------- /data/test_domains/default_with_mapping.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - greet: 3 | triggers: utter_greet 4 | - default: 5 | triggers: utter_default 6 | - goodbye 7 | 8 | slots: 9 | cuisine: 10 | type: text 11 | mappings: 12 | - type: from_entity 13 | entity: cuisine 14 | location: 15 | type: text 16 | mappings: 17 | - type: from_entity 18 | entity: location 19 | 20 | entities: 21 | - name 22 | - cuisine 23 | - location 24 | 25 | responses: 26 | utter_greet: 27 | - text: hey there! 28 | utter_goodbye: 29 | - text: goodbye :( 30 | utter_default: 31 | - text: default message 32 | -------------------------------------------------------------------------------- /data/test_domains/domain_with_categorical_slot.yml: -------------------------------------------------------------------------------- 1 | slots: 2 | category_slot: 3 | type: categorical 4 | values: 5 | - value_one 6 | - value_two 7 | mappings: 8 | - type: custom 9 | 10 | responses: 11 | utter_greet: 12 | - text: "hey there!" 13 | -------------------------------------------------------------------------------- /data/test_domains/duplicate_actions.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - greet 3 | - default 4 | - goodbye 5 | 6 | slots: 7 | cuisine: 8 | type: text 9 | mappings: 10 | - type: from_entity 11 | entity: cuisine 12 | location: 13 | type: text 14 | mappings: 15 | - type: from_entity 16 | entity: location 17 | 18 | entities: 19 | - name 20 | - cuisine 21 | - location 22 | 23 | responses: 24 | utter_greet: 25 | - text: hey there! 26 | utter_goodbye: 27 | - text: goodbye :( 28 | utter_default: 29 | - text: default message 30 | 31 | actions: 32 | - utter_default 33 | - utter_greet 34 | - utter_goodbye 35 | - utter_default 36 | -------------------------------------------------------------------------------- /data/test_domains/duplicate_entities.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - greet 3 | - default 4 | - goodbye 5 | 6 | slots: 7 | cuisine: 8 | type: text 9 | mappings: 10 | - type: from_entity 11 | entity: cuisine 12 | location: 13 | type: text 14 | mappings: 15 | - type: from_entity 16 | entity: location 17 | 18 | entities: 19 | - name 20 | - name 21 | - cuisine 22 | - location 23 | 24 | responses: 25 | utter_greet: 26 | - text: hey there! 27 | utter_goodbye: 28 | - text: goodbye :( 29 | utter_default: 30 | - text: default message 31 | 32 | -------------------------------------------------------------------------------- /data/test_domains/duplicate_intents.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - greet 3 | - default 4 | - goodbye 5 | - default 6 | - goodbye 7 | 8 | slots: 9 | cuisine: 10 | type: text 11 | mappings: 12 | - type: from_entity 13 | entity: cuisine 14 | location: 15 | type: text 16 | mappings: 17 | - type: from_entity 18 | entity: cuisine 19 | 20 | entities: 21 | - name 22 | - cuisine 23 | - location 24 | 25 | responses: 26 | utter_greet: 27 | - text: hey there! 28 | utter_goodbye: 29 | - text: goodbye :( 30 | utter_default: 31 | - text: default message 32 | 33 | session_config: 34 | session_expiration_time: 60 35 | carry_over_slots_to_new_session: true 36 | -------------------------------------------------------------------------------- /data/test_domains/duplicate_responses.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - greet 3 | - default 4 | - goodbye 5 | 6 | slots: 7 | cuisine: 8 | type: text 9 | location: 10 | type: text 11 | 12 | entities: 13 | - name 14 | 15 | responses: 16 | utter_greet: 17 | - text: hey there! 18 | utter_goodbye: 19 | - text: goodbye :( 20 | utter_default: 21 | - text: default message 22 | utter_greet: 23 | - text: hey there! 24 | -------------------------------------------------------------------------------- /data/test_domains/empty_response_format.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - greet 3 | - default 4 | - goodbye 5 | 6 | slots: 7 | cuisine: 8 | type: text 9 | location: 10 | type: text 11 | 12 | entities: 13 | - name 14 | 15 | responses: 16 | utter_greet: 17 | utter_goodbye: 18 | - text: goodbye :( 19 | utter_default: 20 | - text: default message 21 | 22 | actions: 23 | - utter_default 24 | - utter_greet 25 | - utter_goodbye 26 | -------------------------------------------------------------------------------- /data/test_domains/form.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - greet 3 | - default 4 | - goodbye 5 | - start_form 6 | - stop 7 | - affirm 8 | - deny 9 | - inform 10 | 11 | slots: 12 | cuisine: 13 | type: text 14 | location: 15 | type: text 16 | 17 | entities: 18 | - name 19 | 20 | responses: 21 | utter_greet: 22 | - text: hey there! 23 | utter_goodbye: 24 | - text: goodbye :( 25 | utter_default: 26 | - text: default message 27 | utter_ask_continue: 28 | - text: should I continue? 29 | 30 | forms: 31 | some_form: {} 32 | -------------------------------------------------------------------------------- /data/test_domains/initial_slot_values_greet_and_goodbye.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - greet 5 | - goodbye 6 | 7 | slots: 8 | has_said_hi: 9 | type: bool 10 | initial_value: false 11 | mappings: 12 | - type: from_intent 13 | value: true 14 | intent: greet 15 | 16 | responses: 17 | utter_greet: 18 | - text: "Hey! How are you?" 19 | 20 | utter_goodbye: 21 | - text: "Bye" 22 | 23 | session_config: 24 | session_expiration_time: 60 25 | carry_over_slots_to_new_session: true 26 | -------------------------------------------------------------------------------- /data/test_domains/invalid_format.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - greet 3 | - default 4 | - goodbye 5 | 6 | slots: 7 | cuisine: 8 | type: text 9 | location: 10 | type: text 11 | 12 | entities 13 | - name 14 | 15 | responses: 16 | utter_greet: 17 | - text: hey there! 18 | utter_goodbye: 19 | - text: goodbye :( 20 | utter_default: 21 | - text: default message 22 | 23 | actions: 24 | utter_default 25 | - utter_greet 26 | - utter_goodbye 27 | -------------------------------------------------------------------------------- /data/test_domains/missing_chitchat_response.yml: -------------------------------------------------------------------------------- 1 | version: '3.0' 2 | intents: ['does_not_matter'] 3 | responses: 4 | greet: 5 | - text: hey there! 6 | -------------------------------------------------------------------------------- /data/test_domains/missing_text_for_templates.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - greet 3 | - default 4 | - goodbye 5 | 6 | responses: 7 | utter_greet: 8 | - hey there! 9 | utter_goodbye: 10 | - goodbye :( 11 | utter_default: 12 | - default message 13 | -------------------------------------------------------------------------------- /data/test_domains/people_form.yml: -------------------------------------------------------------------------------- 1 | # all hashtags are comments :) 2 | intents: 3 | - inform 4 | - enter_name 5 | 6 | slots: 7 | person_name: 8 | type: text 9 | requested_slot: 10 | type: text 11 | influence_conversation: false 12 | 13 | responses: 14 | utter_ask_person_name: 15 | - text: "what's the name of the person you're looking for?" 16 | 17 | actions: 18 | - action_search_people 19 | -------------------------------------------------------------------------------- /data/test_domains/query_form.yml: -------------------------------------------------------------------------------- 1 | # all hashtags are comments :) 2 | intents: 3 | - inform 4 | 5 | slots: 6 | username: 7 | type: text 8 | query: 9 | type: text 10 | requested_slot: 11 | type: text 12 | influence_conversation: false 13 | 14 | responses: 15 | utter_ask_username: 16 | - text: "what is your name?" 17 | utter_ask_query: 18 | - text: "hello {username}, what can I help you with?" 19 | 20 | actions: 21 | - action_perform_query 22 | -------------------------------------------------------------------------------- /data/test_domains/selectors.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - faq 3 | -------------------------------------------------------------------------------- /data/test_domains/simple_retrieval_intent.yml: -------------------------------------------------------------------------------- 1 | version: '3.0' 2 | intents: ['does_not_matter'] 3 | responses: 4 | utter_chitchat/hello: 5 | - text: hey there! 6 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_files_with_no_session_config_and_custom_session_config/data/responses.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | 4 | responses: 5 | utter_test: 6 | - text: "Hey! How are you?" 7 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_from_directory/domain_invalid.yml: -------------------------------------------------------------------------------- 1 | # invalid yml file should create warning 2 | # contains duplicate key 3 | version: "3.1" 4 | version: "3.1" 5 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_from_directory/domain_valid.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | intents: 3 | - greet 4 | - default 5 | - goodbye 6 | 7 | slots: 8 | cuisine: 9 | type: text 10 | mappings: 11 | - type: from_entity 12 | entity: cuisine 13 | location: 14 | type: text 15 | mappings: 16 | - type: from_entity 17 | entity: location 18 | 19 | entities: 20 | - name 21 | - cuisine 22 | - location 23 | 24 | responses: 25 | utter_greet: 26 | - text: hey there! 27 | utter_goodbye: 28 | - text: goodbye :( 29 | utter_default: 30 | - text: default message 31 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_from_directory_for_entities/game_1.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - play: 5 | use_entities: 6 | - ball 7 | - chess 8 | - stow_away: 9 | use_entities: true 10 | 11 | entities: 12 | - ball 13 | - chess 14 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_from_directory_for_entities/game_2.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - support_encouraging: 5 | use_entities: 6 | - automatic_cupcakes 7 | - anti_freeze_blankets 8 | - certify: 9 | use_entities: true 10 | - vacationing: 11 | ignore_entities: 12 | - tornadoes 13 | 14 | entities: 15 | - automatic_cupcakes 16 | - anti_freeze_blankets 17 | - tornadoes 18 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_from_directory_for_entities/game_3.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - question 5 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_from_directory_tree/domain_pt1.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - utter_root 5 | - utter_root2 6 | 7 | entities: 8 | - pandemic 9 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_from_directory_tree/skill_1_domain/domain_pt2.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - utter_skill_1 5 | 6 | entities: 7 | - ball 8 | - chess 9 | 10 | responses: 11 | utter_greet: 12 | - text: "Hey! How are you?" 13 | 14 | utter_cheer_up: 15 | - text: "Here is something to cheer you up:" 16 | image: "https://i.imgur.com/nGF1K8f.jpg" 17 | 18 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_from_directory_tree/skill_2_domain/domain_pt3.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - utter_skill_2 5 | 6 | utter_did_that_help: 7 | - text: "Did that help you?" 8 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_from_directory_tree/skill_2_domain/skill_2_subdirectory/domain_pt4.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - utter_subskill 5 | - utter_subroot 6 | 7 | entities: 8 | - cluedo 9 | - monopoly 10 | 11 | 12 | responses: 13 | utter_greet: 14 | - text: "Hey! How are you?" 15 | 16 | utter_cheer_up: 17 | - text: "Here is something to cheer you up:" 18 | image: "https://i.imgur.com/nGF1K8f.jpg" 19 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_from_multiple_files/last_month.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | session_config: 3 | session_expiration_time: 360 4 | carry_over_slots_to_new_session: True 5 | 6 | intents: 7 | - run_finish 8 | - run_finish_recent 9 | - run_finished 10 | 11 | actions: 12 | - utter_run_finish 13 | - utter_run_finished 14 | - utter_run_finish_recent 15 | 16 | entities: 17 | - pistachio_robot 18 | - caramel_robot: 19 | roles: 20 | - sauce 21 | - chips 22 | - rum_and_raisin_robot: 23 | groups: 24 | - rum 25 | - raisin 26 | 27 | 28 | forms: 29 | robot_form: 30 | required_slots: 31 | - propose_simulation 32 | - display_cure_method 33 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_from_multiple_files/main_menu.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - main_menu 5 | - self_selection 6 | 7 | actions: 8 | - action_utter_main_menu 9 | 10 | responses: 11 | utter_greet: 12 | - text: hey there! 13 | utter_goodbye: 14 | - text: goodbye :( 15 | utter_default: 16 | - text: default message 17 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_from_multiple_files/small_talk.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - bot_challenge 5 | - endless_love 6 | - thanks 7 | - are_you_there 8 | - greeting 9 | - profanity 10 | - affirm 11 | - deny 12 | 13 | actions: 14 | - action_utter_previous_message 15 | - action_utter_smalltalk_greeting 16 | - utter_thanks_response 17 | - utter_profanity 18 | - utter_tmo_love 19 | - utter_bot_challenge 20 | - utter_im_here 21 | - utter_smalltalk_greeting 22 | 23 | responses: 24 | utter_amazement: 25 | - text: awesomness! 26 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_with_duplicates/domain2.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - greet 5 | - test 6 | 7 | responses: 8 | utter_greet: 9 | - text: "Hey! How are you?" 10 | 11 | utter_did_that_help: 12 | - text: "Did that help you?" 13 | 14 | utter_happy: 15 | - text: "Great, carry on!" 16 | 17 | slots: 18 | mood: 19 | type: bool 20 | mappings: 21 | - type: from_entity 22 | entity: some_slot 23 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_with_separate_session_config/configuration.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | session_config: 4 | session_expiration_time: 1 5 | carry_over_slots_to_new_session: true 6 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_with_separate_session_config/intents.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - greet 5 | - goodbye 6 | - affirm 7 | - deny 8 | - mood_great 9 | - mood_unhappy 10 | - bot_challenge 11 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_with_separate_session_config/responses.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | responses: 4 | utter_greet: 5 | - text: "Hey! How are you?" 6 | 7 | utter_cheer_up: 8 | - text: "Here is something to cheer you up:" 9 | image: "https://i.imgur.com/nGF1K8f.jpg" 10 | 11 | utter_did_that_help: 12 | - text: "Did that help you?" 13 | 14 | utter_happy: 15 | - text: "Great, carry on!" 16 | 17 | utter_goodbye: 18 | - text: "Bye" 19 | 20 | utter_iamabot: 21 | - text: "I am a bot, powered by Rasa." 22 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_without_duplicates/domain1.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - goodbye 5 | - affirm 6 | - deny 7 | - mood_great 8 | - mood_unhappy 9 | - bot_challenge 10 | 11 | responses: 12 | utter_cheer_up: 13 | - text: "Here is something to cheer you up:" 14 | image: "https://i.imgur.com/nGF1K8f.jpg" 15 | 16 | utter_goodbye: 17 | - text: "Bye" 18 | 19 | utter_iamabot: 20 | - text: "I am a bot, powered by Rasa." 21 | 22 | slots: 23 | mood: 24 | type: bool 25 | mappings: 26 | - type: from_entity 27 | entity: some_slot 28 | 29 | session_config: 30 | session_expiration_time: 60 31 | carry_over_slots_to_new_session: true 32 | -------------------------------------------------------------------------------- /data/test_domains/test_domain_without_duplicates/domain2.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - greet 5 | - test 6 | 7 | responses: 8 | utter_greet: 9 | - text: "Hey! How are you?" 10 | 11 | utter_did_that_help: 12 | - text: "Did that help you?" 13 | 14 | utter_happy: 15 | - text: "Great, carry on!" 16 | -------------------------------------------------------------------------------- /data/test_domains/wrong_custom_response_format.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - greet 3 | - default 4 | - goodbye 5 | 6 | slots: 7 | cuisine: 8 | type: text 9 | location: 10 | type: text 11 | 12 | entities: 13 | - name 14 | 15 | responses: 16 | utter_greet: 17 | - super: cool 18 | utter_goodbye: 19 | - text: goodbye :( 20 | utter_default: 21 | - text: default message 22 | 23 | actions: 24 | - utter_default 25 | - utter_greet 26 | - utter_goodbye 27 | -------------------------------------------------------------------------------- /data/test_domains/wrong_response_format.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - greet 3 | - default 4 | - goodbye 5 | 6 | slots: 7 | cuisine: 8 | type: text 9 | location: 10 | type: text 11 | 12 | entities: 13 | - name 14 | 15 | responses: 16 | utter_greet: 17 | - hey there! 18 | utter_goodbye: 19 | - goodbye :( 20 | utter_default: 21 | - stuff: default message 22 | 23 | actions: 24 | - utter_default 25 | - utter_greet 26 | - utter_goodbye 27 | -------------------------------------------------------------------------------- /data/test_e2ebot/config.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | assistant_id: test_e2e_bot 3 | language: en 4 | pipeline: 5 | - name: WhitespaceTokenizer 6 | intent_tokenization_flag: True 7 | - name: RegexFeaturizer 8 | - name: LexicalSyntacticFeaturizer 9 | - name: CountVectorsFeaturizer 10 | - name: CountVectorsFeaturizer 11 | analyzer: char_wb 12 | min_ngram: 1 13 | max_ngram: 4 14 | - name: DIETClassifier 15 | epochs: 1 16 | run_eagerly: True 17 | policies: 18 | - name: TEDPolicy 19 | random_seed: 42 20 | epochs: 5 21 | - name: RulePolicy 22 | -------------------------------------------------------------------------------- /data/test_e2ebot/data/nlu.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | nlu: 4 | - intent: tell_name 5 | examples: | 6 | - my name is [joe](name) 7 | - my name is [bob](name) 8 | - I am [bob](name) 9 | - I am [jim](name) 10 | - I am called [bill](name) 11 | 12 | - intent: tell_mood 13 | examples: | 14 | - I am feeling [happy](mood) 15 | - I am quite [happy](mood) 16 | - I feel [sad](mood) 17 | - I feel [happy](mood) 18 | - I am so [sad](mood) 19 | -------------------------------------------------------------------------------- /data/test_e2ebot/data/stories.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | stories: 4 | - story: Tell name and mood 5 | steps: 6 | - user: my name is [joe](name) 7 | - bot: hi joe! 8 | - user: I am feeling [happy](mood) 9 | - bot: I'm glad 10 | 11 | - story: Tell name and mood 2 12 | steps: 13 | - user: my name is [bob](name) 14 | - bot: hi bob! 15 | - user: I am feeling [sad](mood) 16 | - bot: oh dear... 17 | -------------------------------------------------------------------------------- /data/test_e2ebot/domain.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - tell_name 5 | - tell_mood 6 | 7 | entities: 8 | - name 9 | - mood 10 | 11 | slots: 12 | name: 13 | type: text 14 | influence_conversation: false 15 | mappings: 16 | - type: from_entity 17 | entity: name 18 | mood: 19 | type: text 20 | influence_conversation: false 21 | mappings: 22 | - type: from_entity 23 | entity: mood 24 | 25 | responses: 26 | utter_greet: 27 | - text: "hi!" 28 | -------------------------------------------------------------------------------- /data/test_e2ebot/tests/test_stories.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | stories: 4 | - story: Test with two easy entities 5 | steps: 6 | - user: my name is [joe](name) 7 | - bot: hi joe! 8 | - user: I am feeling [happy](mood) 9 | - bot: I'm glad 10 | 11 | - story: Test with a hard entity 12 | steps: 13 | - user: today I was very [cranky](mood) 14 | - bot: I'm sorry! 15 | -------------------------------------------------------------------------------- /data/test_e2ebot/tests/test_stories_with_unknown_bot_utterances.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | stories: 4 | - story: Test with two easy entities 5 | steps: 6 | - user: my name is [joe](name) 7 | - bot: hi joe! 8 | - user: I am feeling [happy](mood) 9 | - bot: This is an unknown bot utterance 10 | 11 | - story: Test with a hard entity 12 | steps: 13 | - user: today I was very [cranky](mood) 14 | - bot: I'm sorry! 15 | -------------------------------------------------------------------------------- /data/test_endpoints/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/data/test_endpoints/__init__.py -------------------------------------------------------------------------------- /data/test_endpoints/custom_tracker_endpoints.yml: -------------------------------------------------------------------------------- 1 | tracker_store: 2 | type: tests.core.test_tracker_stores.ExampleTrackerStore 3 | url: localhost 4 | port: 6379 5 | db: 0 6 | password: password 7 | record_exp: 30000 8 | -------------------------------------------------------------------------------- /data/test_endpoints/endpoints_redis.yml: -------------------------------------------------------------------------------- 1 | tracker_store: 2 | type: redis 3 | url: localhost 4 | port: 6379 5 | db: 0 6 | -------------------------------------------------------------------------------- /data/test_endpoints/endpoints_sql.yml: -------------------------------------------------------------------------------- 1 | tracker_store: 2 | type: SQL 3 | dialect: "postgresql" 4 | url: "localhost" 5 | db: "rasa" 6 | -------------------------------------------------------------------------------- /data/test_endpoints/event_brokers/kafka_invalid_sasl_mechanism.yml: -------------------------------------------------------------------------------- 1 | event_broker: 2 | type: kafka 3 | security_protocol: SASL_SSL 4 | topic: topic 5 | url: localhost 6 | sasl_username: username 7 | sasl_password: password 8 | sasl_mechanism: SOMETHING 9 | ssl_cafile: CARoot.pem 10 | ssl_certfile: certificate.pem 11 | ssl_keyfile: key.pem 12 | ssl_check_hostname: True 13 | -------------------------------------------------------------------------------- /data/test_endpoints/event_brokers/kafka_invalid_security_protocol.yml: -------------------------------------------------------------------------------- 1 | event_broker: 2 | security_protocol: SOMETHING 3 | type: kafka 4 | -------------------------------------------------------------------------------- /data/test_endpoints/event_brokers/kafka_plaintext_endpoint.yml: -------------------------------------------------------------------------------- 1 | event_broker: 2 | type: kafka 3 | security_protocol: PLAINTEXT 4 | topic: topic 5 | url: localhost 6 | client_id: kafka-python-rasa 7 | -------------------------------------------------------------------------------- /data/test_endpoints/event_brokers/kafka_plaintext_endpoint_no_url.yml: -------------------------------------------------------------------------------- 1 | event_broker: 2 | client_id: kafka-python-rasa 3 | security_protocol: PLAINTEXT 4 | type: kafka 5 | -------------------------------------------------------------------------------- /data/test_endpoints/event_brokers/kafka_sasl_plaintext_endpoint.yml: -------------------------------------------------------------------------------- 1 | event_broker: 2 | type: kafka 3 | security_protocol: SASL_PLAINTEXT 4 | topic: topic 5 | url: localhost 6 | partition_by_sender: True 7 | sasl_username: username 8 | sasl_password: password 9 | sasl_mechanism: PLAIN 10 | -------------------------------------------------------------------------------- /data/test_endpoints/event_brokers/kafka_sasl_ssl_endpoint.yml: -------------------------------------------------------------------------------- 1 | event_broker: 2 | type: kafka 3 | security_protocol: SASL_SSL 4 | topic: topic 5 | url: localhost 6 | sasl_username: username 7 | sasl_password: password 8 | sasl_mechanism: PLAIN 9 | ssl_cafile: CARoot.pem 10 | ssl_certfile: certificate.pem 11 | ssl_keyfile: key.pem 12 | ssl_check_hostname: True -------------------------------------------------------------------------------- /data/test_endpoints/event_brokers/kafka_ssl_endpoint.yml: -------------------------------------------------------------------------------- 1 | event_broker: 2 | type: kafka 3 | security_protocol: SSL 4 | topic: topic 5 | url: localhost 6 | ssl_cafile: CARoot.pem 7 | ssl_certfile: certificate.pem 8 | ssl_keyfile: key.pem 9 | ssl_check_hostname: True -------------------------------------------------------------------------------- /data/test_endpoints/event_brokers/pika_endpoint.yml: -------------------------------------------------------------------------------- 1 | event_broker: 2 | type: pika 3 | url: localhost 4 | username: username 5 | password: password 6 | queues: 7 | - queue-1 8 | # you may supply more than one queue to publish to 9 | # - queue-2 10 | # - queue-3 11 | exchange_name: exchange 12 | -------------------------------------------------------------------------------- /data/test_endpoints/event_brokers/sql_endpoint.yml: -------------------------------------------------------------------------------- 1 | event_broker: 2 | db: ":memory:" 3 | dialect: "sqlite" 4 | type: "sql" 5 | -------------------------------------------------------------------------------- /data/test_endpoints/model_endpoint.yml: -------------------------------------------------------------------------------- 1 | model: 2 | url: localhost 3 | wait_time_between_pulls: 10 4 | -------------------------------------------------------------------------------- /data/test_evaluations/test_end_to_end_trips_circuit_breaker.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: story_trips_circuit_breaker 3 | steps: 4 | - intent: greet 5 | user: /greet 6 | - action: utter_greet 7 | - action: utter_greet 8 | - action: utter_greet 9 | - action: utter_greet 10 | - action: utter_greet 11 | - action: utter_greet 12 | - action: utter_greet 13 | - action: utter_greet 14 | - action: utter_greet 15 | - action: utter_greet 16 | - action: utter_greet 17 | -------------------------------------------------------------------------------- /data/test_evaluations/test_stories_trip_circuit_breaker.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: story_trips_circuit_breaker 3 | steps: 4 | - intent: greet 5 | - action: utter_greet 6 | - action: utter_greet 7 | - action: utter_greet 8 | - action: utter_greet 9 | - action: utter_greet 10 | - action: utter_greet 11 | - action: utter_greet 12 | - action: utter_greet 13 | - action: utter_greet 14 | - action: utter_greet 15 | - action: utter_greet 16 | -------------------------------------------------------------------------------- /data/test_evaluations/test_story_unknown_entity.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: simple_story_with_unknown_entity 3 | steps: 4 | - user: | 5 | I am [rasa](name) 6 | intent: utter_greet 7 | -------------------------------------------------------------------------------- /data/test_incremental_training/iter1/nlg_training_data.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | responses: 3 | utter_mood/great: 4 | - text: some response to mood/great 5 | utter_mood/unhappy: 6 | - text: some response to mood/unhappy 7 | -------------------------------------------------------------------------------- /data/test_incremental_training/iter2/training_data.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | nlu: 3 | - intent: affirm 4 | examples: | 5 | - indeed 6 | - that's right 12345 7 | - intent: mood/unhappy 8 | examples: | 9 | - I'm a disappointment 10 | - I feel lonely 11 | - regex: zipcode 12 | examples: | 13 | - [0-9]{5} 14 | -------------------------------------------------------------------------------- /data/test_logging_config_files/test_invalid_format_value_in_config.yml: -------------------------------------------------------------------------------- 1 | version: 1 2 | disable_existing_loggers: false 3 | formatters: 4 | normalFormatter: 5 | # invalid value 6 | format: None 7 | handlers: 8 | test_handler: 9 | level: INFO 10 | formatter: normalFormatter 11 | class: logging.FileHandler 12 | filename: "logging_test.log" 13 | loggers: 14 | root: 15 | handlers: [test_handler] 16 | level: INFO 17 | rasa: 18 | handlers: [test_handler] 19 | level: INFO 20 | propagate: 0 21 | -------------------------------------------------------------------------------- /data/test_logging_config_files/test_invalid_handler_key_in_config.yml: -------------------------------------------------------------------------------- 1 | version: 1 2 | disable_existing_loggers: false 3 | formatters: 4 | normalFormatter: 5 | format: "{\"time\": \"%(asctime)s\", \"name\": \"[%(name)s]\", \"levelname\": \"%(levelname)s\", \"message\": \"%(message)s\"}" 6 | handlers: 7 | test_handler: 8 | level: INFO 9 | formatter: normalFormatter 10 | class: logging.FileHandler 11 | filename: "logging_test.log" 12 | # invalid unknown key 13 | extra_key: "hello world" 14 | loggers: 15 | root: 16 | handlers: [test_handler] 17 | level: INFO 18 | rasa: 19 | handlers: [test_handler] 20 | level: INFO 21 | propagate: 0 22 | -------------------------------------------------------------------------------- /data/test_logging_config_files/test_invalid_value_for_level_in_config.yml: -------------------------------------------------------------------------------- 1 | version: 1 2 | disable_existing_loggers: false 3 | formatters: 4 | normalFormatter: 5 | format: "{\"time\": \"%(asctime)s\", \"name\": \"[%(name)s]\", \"levelname\": \"%(levelname)s\", \"message\": \"%(message)s\"}" 6 | handlers: 7 | test_handler: 8 | # invalid value for level 9 | level: HIGH 10 | formatter: normalFormatter 11 | class: logging.FileHandler 12 | filename: "logging_test.log" 13 | loggers: 14 | root: 15 | handlers: [test_handler] 16 | level: INFO 17 | rasa: 18 | handlers: [test_handler] 19 | level: INFO 20 | propagate: 0 21 | -------------------------------------------------------------------------------- /data/test_logging_config_files/test_logging_config.yml: -------------------------------------------------------------------------------- 1 | version: 1 2 | disable_existing_loggers: false 3 | formatters: 4 | normalFormatter: 5 | format: "{\"time\": \"%(asctime)s\", \"name\": \"[%(name)s]\", \"levelname\": \"%(levelname)s\", \"message\": \"%(message)s\"}" 6 | handlers: 7 | test_handler: 8 | level: INFO 9 | formatter: normalFormatter 10 | class: logging.FileHandler 11 | filename: "logging_test.log" 12 | loggers: 13 | root: 14 | handlers: [test_handler] 15 | level: INFO 16 | rasa: 17 | handlers: [test_handler] 18 | level: INFO 19 | propagate: 0 20 | -------------------------------------------------------------------------------- /data/test_logging_config_files/test_missing_required_key_invalid_config.yml: -------------------------------------------------------------------------------- 1 | # missing mandatory key 2 | # version: 1 3 | disable_existing_loggers: false 4 | formatters: 5 | normalFormatter: 6 | format: "{\"time\": \"%(asctime)s\", \"name\": \"[%(name)s]\", \"levelname\": \"%(levelname)s\", \"message\": \"%(message)s\"}" 7 | handlers: 8 | test_handler: 9 | level: INFO 10 | formatter: normalFormatter 11 | class: logging.FileHandler 12 | filename: "logging_test.log" 13 | loggers: 14 | root: 15 | handlers: [test_handler] 16 | level: INFO 17 | rasa: 18 | handlers: [test_handler] 19 | level: INFO 20 | propagate: 0 21 | -------------------------------------------------------------------------------- /data/test_logging_config_files/test_non_existent_handler_id.yml: -------------------------------------------------------------------------------- 1 | version: 1 2 | disable_existing_loggers: false 3 | formatters: 4 | normalFormatter: 5 | format: "{\"time\": \"%(asctime)s\", \"name\": \"[%(name)s]\", \"levelname\": \"%(levelname)s\", \"message\": \"%(message)s\"}" 6 | handlers: 7 | test_handler: 8 | level: INFO 9 | formatter: normalFormatter 10 | class: logging.FileHandler 11 | filename: "logging_test.log" 12 | loggers: 13 | root: 14 | # a non-existent handler id 15 | handlers: [some_handler] 16 | level: INFO 17 | rasa: 18 | handlers: [test_handler] 19 | level: INFO 20 | propagate: 0 21 | -------------------------------------------------------------------------------- /data/test_moodbot/config.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | assistant_id: test_moodbot 3 | language: en 4 | 5 | pipeline: 6 | - name: WhitespaceTokenizer 7 | intent_tokenization_flag: True 8 | - name: RegexFeaturizer 9 | - name: LexicalSyntacticFeaturizer 10 | - name: CountVectorsFeaturizer 11 | - name: CountVectorsFeaturizer 12 | analyzer: char_wb 13 | min_ngram: 1 14 | max_ngram: 4 15 | - name: "DIETClassifier" 16 | entity_recognition: False 17 | epochs: 1 18 | run_eagerly: True 19 | 20 | policies: 21 | - name: TEDPolicy 22 | max_history: 5 23 | epochs: 1 24 | - name: MemoizationPolicy 25 | - name: RulePolicy 26 | -------------------------------------------------------------------------------- /data/test_moodbot/data/rules.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | rules: 3 | - rule: Say goodbye anytime the user says goodbye 4 | steps: 5 | - intent: goodbye 6 | - action: utter_goodbye 7 | 8 | - rule: Say 'I am a bot' anytime the user challenges 9 | steps: 10 | - intent: bot_challenge 11 | - action: utter_iamabot 12 | -------------------------------------------------------------------------------- /data/test_moodbot/data/stories.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | stories: 3 | - story: happy path 4 | steps: 5 | - intent: greet 6 | - action: utter_greet 7 | - intent: mood_great 8 | - action: utter_happy 9 | 10 | - story: sad path 1 11 | steps: 12 | - intent: greet 13 | - action: utter_greet 14 | - intent: mood_unhappy 15 | - action: utter_cheer_up 16 | - action: utter_did_that_help 17 | - intent: affirm 18 | - action: utter_happy 19 | 20 | - story: sad path 2 21 | steps: 22 | - intent: greet 23 | - action: utter_greet 24 | - intent: mood_unhappy 25 | - action: utter_cheer_up 26 | - action: utter_did_that_help 27 | - intent: deny 28 | - action: utter_goodbye 29 | 30 | -------------------------------------------------------------------------------- /data/test_moodbot/unexpected_intent_policy_config.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | language: en 3 | 4 | pipeline: 5 | 6 | policies: 7 | - name: MemoizationPolicy 8 | - name: UnexpecTEDIntentPolicy 9 | max_history: 5 10 | epochs: 1 11 | - name: TEDPolicy 12 | max_history: 5 13 | epochs: 1 14 | constrain_similarities: true 15 | - name: RulePolicy 16 | -------------------------------------------------------------------------------- /data/test_multi_domain/config.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | assistant_id: placeholder_default 3 | language: en 4 | 5 | pipeline: 6 | - name: "KeywordIntentClassifier" 7 | 8 | policies: 9 | - name: MemoizationPolicy 10 | 11 | importers: 12 | - name: MultiProjectImporter 13 | 14 | imports: 15 | - data/MoodBot 16 | -------------------------------------------------------------------------------- /data/test_multi_domain/data/GreetBot/data/nlu.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | nlu: 3 | - intent: greet 4 | examples: | 5 | - hey 6 | - hello 7 | - hi 8 | - hello there 9 | - good morning 10 | - good evening 11 | - moin 12 | - hey there 13 | - let's go 14 | - hey dude 15 | - goodmorning 16 | - goodevening 17 | - good afternoon 18 | -------------------------------------------------------------------------------- /data/test_multi_domain/data/GreetBot/data/stories.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | stories: 3 | - story: say hello 4 | steps: 5 | - intent: greet 6 | - action: utter_greet 7 | -------------------------------------------------------------------------------- /data/test_multi_domain/data/GreetBot/domain.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - greet 3 | - goodbye 4 | 5 | responses: 6 | utter_greet: 7 | - text: "Hey! How are you?" 8 | buttons: 9 | - title: "great" 10 | payload: "/mood_great" 11 | - title: "super sad" 12 | payload: "/mood_unhappy" 13 | 14 | utter_goodbye: 15 | - text: "Bye" 16 | -------------------------------------------------------------------------------- /data/test_multi_domain/data/MoodBot/config.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | language: en 3 | 4 | pipeline: "pretrained_embeddings_spacy" 5 | 6 | policies: 7 | - name: MemoizationPolicy 8 | - name: TEDPolicy 9 | 10 | imports: 11 | - ../GreetBot 12 | -------------------------------------------------------------------------------- /data/test_multi_domain/data/MoodBot/data/stories.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | stories: 3 | - story: happy path 4 | steps: 5 | - intent: greet 6 | - action: utter_greet 7 | - intent: mood_great 8 | - action: utter_happy 9 | 10 | - story: sad path 1 11 | steps: 12 | - intent: greet 13 | - action: utter_greet 14 | - intent: mood_unhappy 15 | - action: utter_cheer_up 16 | - action: utter_did_that_help 17 | - intent: affirm 18 | - action: utter_happy 19 | 20 | - story: sad path 2 21 | steps: 22 | - intent: greet 23 | - action: utter_greet 24 | - intent: mood_unhappy 25 | - action: utter_cheer_up 26 | - action: utter_did_that_help 27 | - intent: deny 28 | - action: utter_goodbye 29 | 30 | -------------------------------------------------------------------------------- /data/test_multi_domain/data/MoodBot/domain.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - affirm 3 | - deny 4 | - mood_great 5 | - mood_unhappy 6 | 7 | responses: 8 | utter_cheer_up: 9 | - text: "Here is something to cheer you up:" 10 | image: "https://i.imgur.com/nGF1K8f.jpg" 11 | 12 | utter_did_that_help: 13 | - text: "Did that help you?" 14 | 15 | utter_happy: 16 | - text: "Great carry on!" -------------------------------------------------------------------------------- /data/test_multi_domain/data/nlu.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | nlu: 3 | - intent: goodbye 4 | examples: | 5 | - cu 6 | - good by 7 | - cee you later 8 | - good night 9 | - good afternoon 10 | - bye 11 | - goodbye 12 | - have a nice day 13 | - see you around 14 | - bye bye 15 | - see you later 16 | -------------------------------------------------------------------------------- /data/test_multi_domain/data/stories.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | stories: 3 | - story: say goodbye 4 | steps: 5 | - intent: goodbye 6 | - action: utter_goodbye 7 | -------------------------------------------------------------------------------- /data/test_multi_domain/domain.yml: -------------------------------------------------------------------------------- 1 | intents: 2 | - goodbye 3 | 4 | responses: 5 | utter_goodbye: 6 | - text: "Bye" 7 | -------------------------------------------------------------------------------- /data/test_multifile_yaml_stories/stories_part_1.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: simple_story_without_checkpoint 3 | steps: 4 | - intent: simple 5 | - action: utter_default 6 | - action: utter_greet 7 | 8 | - story: simple_story_with_only_start 9 | steps: 10 | - checkpoint: check_greet # checkpoints at the start define entry points 11 | - intent: simple 12 | - action: utter_default 13 | 14 | - story: simple_story_with_only_end 15 | steps: 16 | - intent: hello 17 | - action: utter_greet 18 | - slot_was_set: 19 | - name: peter 20 | - checkpoint: check_greet # checkpoint defining the end of this turn -------------------------------------------------------------------------------- /data/test_multiline_intent_examples_yaml/nlu.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | nlu: 3 | - intent: greet 4 | examples: 5 | - text: | 6 | Hello, 7 | My name is Christof 8 | - text: | 9 | Hello, 10 | You can call me Christof 11 | - intent: bye 12 | examples: | 13 | - bye, my friend 14 | - cya 15 | -------------------------------------------------------------------------------- /data/test_multiproject/config.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | language: en 3 | 4 | pipeline: 5 | - name: "SpacyNLP" 6 | model: "en_core_web_md" 7 | - name: "SpacyTokenizer" 8 | - name: "SpacyFeaturizer" 9 | - name: "DIETClassifier" 10 | entity_recognition: False 11 | epochs: 50 12 | 13 | policies: 14 | - name: TEDPolicy 15 | max_history: 5 16 | epochs: 100 17 | - name: MemoizationPolicy 18 | - name: RulePolicy 19 | 20 | importers: 21 | - name: MultiProjectImporter 22 | 23 | imports: 24 | - projects/ChitchatBot 25 | - projects/GreetBot 26 | -------------------------------------------------------------------------------- /data/test_multiproject/projects/ChitchatBot/data/nlu.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | nlu: 3 | - intent: bot_challenge 4 | examples: | 5 | - are you a bot? 6 | - are you a human? 7 | - am I talking to a bot? 8 | - am I talking to a human? 9 | - intent: tell_joke 10 | examples: | 11 | - tell me joke 12 | - tell me sth funny 13 | - can you tell me a joke? 14 | - what's your best joke? 15 | -------------------------------------------------------------------------------- /data/test_multiproject/projects/ChitchatBot/data/rules.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | rules: 3 | - rule: Tell a joke when the user asks for one 4 | steps: 5 | - intent: tell_joke 6 | - action: utter_joke 7 | 8 | - rule: Say 'I am a bot' anytime the user challenges 9 | steps: 10 | - intent: bot_challenge 11 | - action: utter_iamabot 12 | -------------------------------------------------------------------------------- /data/test_multiproject/projects/ChitchatBot/domain.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - tell_joke 5 | - bot_challenge 6 | 7 | responses: 8 | utter_joke: 9 | - text: "Ups, mein Ball ist umgekippt." 10 | 11 | utter_iamabot: 12 | - text: "I am a bot, powered by Rasa." 13 | 14 | session_config: 15 | session_expiration_time: 60 # value in minutes 16 | carry_over_slots_to_new_session: true 17 | -------------------------------------------------------------------------------- /data/test_multiproject/projects/GreetBot/data/nlu.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | nlu: 3 | - intent: greet 4 | examples: | 5 | - hey 6 | - hello 7 | - hi 8 | - hello there 9 | - good morning 10 | - good evening 11 | - moin 12 | - hey there 13 | - let's go 14 | - hey dude 15 | - goodmorning 16 | - goodevening 17 | - good afternoon 18 | 19 | - intent: goodbye 20 | examples: | 21 | - good afternoon 22 | - cu 23 | - good by 24 | - cee you later 25 | - good night 26 | - bye 27 | - goodbye 28 | - have a nice day 29 | - see you around 30 | - bye bye 31 | - see you later 32 | -------------------------------------------------------------------------------- /data/test_multiproject/projects/GreetBot/data/rules.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | rules: 3 | - rule: respond to greeting 4 | steps: 5 | - intent: greet 6 | - action: utter_greet 7 | 8 | - rule: respond to goodbye 9 | steps: 10 | - intent: goodbye 11 | - action: utter_goodbye 12 | -------------------------------------------------------------------------------- /data/test_multiproject/projects/GreetBot/domain.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - greet 5 | - goodbye 6 | 7 | responses: 8 | utter_greet: 9 | - text: "Hey! How are you?" 10 | 11 | utter_goodbye: 12 | - text: "Bye" 13 | 14 | session_config: 15 | session_expiration_time: 60 # value in minutes 16 | carry_over_slots_to_new_session: true 17 | -------------------------------------------------------------------------------- /data/test_nlu_no_responses/domain_with_only_responses.yml: -------------------------------------------------------------------------------- 1 | responses: 2 | utter_chitchat/ask_name: 3 | - image: "https://i.imgur.com/zTvA58i.jpeg" 4 | text: hello, my name is retrieval bot. 5 | - text: Oh yeah, I am called the retrieval bot. 6 | 7 | utter_chitchat/ask_weather: 8 | - text: Oh, it does look sunny right now in Berlin. 9 | image: "https://i.imgur.com/vwv7aHN.png" 10 | - text: I am not sure of the whole week but I can see the sun is out today. 11 | -------------------------------------------------------------------------------- /data/test_nlu_no_responses/nlu_no_responses.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | nlu: 4 | - intent: chitchat/ask_name 5 | examples: | 6 | - What is your name? 7 | - May I know your name? 8 | - What do people call you? 9 | - Do you have a name for yourself? 10 | 11 | - intent: chitchat/ask_weather 12 | examples: | 13 | - What's the weather like today? 14 | - Does it look sunny outside today? 15 | - Oh, do you mind checking the weather for me please? 16 | - I like sunny days in Berlin. 17 | -------------------------------------------------------------------------------- /data/test_number_nlu_examples/nlu.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | nlu: 4 | - intent: greet 5 | examples: | 6 | - Hello! 7 | - Howdy! 8 | 9 | - intent: ask_weather 10 | examples: | 11 | - What's the weather like today? 12 | - Does it look sunny outside today? 13 | - Oh, do you mind checking the weather for me please? 14 | -------------------------------------------------------------------------------- /data/test_number_nlu_examples/rules.yml: -------------------------------------------------------------------------------- 1 | 2 | rules: 3 | - rule: provide_weather 4 | steps: 5 | - intent: ask_weather 6 | - action: utter_weather 7 | 8 | - rule: greet 9 | steps: 10 | - intent: greet 11 | - action: utter_greet 12 | -------------------------------------------------------------------------------- /data/test_number_nlu_examples/stories.yml: -------------------------------------------------------------------------------- 1 | 2 | stories: 3 | - story: simple_story 4 | steps: 5 | - intent: greet 6 | - action: utter_greet 7 | - intent: ask_weather 8 | - action: utter_weather 9 | -------------------------------------------------------------------------------- /data/test_response_selector_bot/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/data/test_response_selector_bot/__init__.py -------------------------------------------------------------------------------- /data/test_response_selector_bot/config.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | assistant_id: test_response_selector_bot 3 | language: en 4 | 5 | pipeline: 6 | - name: "WhitespaceTokenizer" 7 | - name: "CountVectorsFeaturizer" 8 | - name: KeywordIntentClassifier 9 | - name: ResponseSelector 10 | epochs: 5 11 | learning_rate: 0.01 12 | random_seed: 42 13 | 14 | policies: 15 | - name: RulePolicy 16 | -------------------------------------------------------------------------------- /data/test_response_selector_bot/data/rules.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | rules: 4 | 5 | - rule: Say goodbye anytime the user says goodbye 6 | steps: 7 | - intent: goodbye 8 | - action: utter_goodbye 9 | 10 | - rule: Say 'I am a bot' anytime the user challenges 11 | steps: 12 | - intent: bot_challenge 13 | - action: utter_iamabot 14 | 15 | - rule: Response with a chitchat utterance whenever user indulges in some chitchat 16 | steps: 17 | - intent: chitchat 18 | - action: utter_chitchat 19 | -------------------------------------------------------------------------------- /data/test_responses/default.yml: -------------------------------------------------------------------------------- 1 | responses: 2 | utter_chitchat/ask_weather: 3 | - text: It's sunny where I live 4 | utter_chitchat/ask_name: 5 | - text: I am Mr. Bot 6 | -------------------------------------------------------------------------------- /data/test_responses/responses_utter_rasa.yml: -------------------------------------------------------------------------------- 1 | responses: 2 | utter_rasa: 3 | - text: this is utter_rasa! 4 | -------------------------------------------------------------------------------- /data/test_restaurantbot/config.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | assistant_id: test_restaurant_bot 3 | language: en 4 | 5 | pipeline: 6 | - name: WhitespaceTokenizer 7 | - name: CountVectorsFeaturizer 8 | - name: DIETClassifier 9 | epochs: 30 10 | random_seed: 2021 11 | 12 | policies: 13 | - name: RulePolicy 14 | -------------------------------------------------------------------------------- /data/test_restaurantbot/data/rules.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | rules: 3 | - rule: request restaurant 4 | steps: 5 | - intent: request_restaurant 6 | -------------------------------------------------------------------------------- /data/test_restaurantbot/data/stories.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | stories: 3 | - story: inform 4 | steps: 5 | - intent: inform 6 | -------------------------------------------------------------------------------- /data/test_restaurantbot/domain.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - request_restaurant: 5 | use_entities: 6 | - cuisine 7 | - seating 8 | - inform 9 | 10 | entities: 11 | - cuisine 12 | - feedback 13 | - seating 14 | 15 | session_config: 16 | session_expiration_time: 60 # value in minutes 17 | carry_over_slots_to_new_session: true 18 | -------------------------------------------------------------------------------- /data/test_spacybot/config.yml: -------------------------------------------------------------------------------- 1 | recipe: default.v1 2 | assistant_id: test_spacy_bot 3 | language: en 4 | 5 | pipeline: 6 | - name: "SpacyNLP" 7 | model: "en_core_web_md" 8 | - name: "SpacyTokenizer" 9 | - name: "SpacyFeaturizer" 10 | - name: "DIETClassifier" 11 | entity_recognition: False 12 | epochs: 1 13 | 14 | policies: 15 | - name: TEDPolicy 16 | max_history: 5 17 | epochs: 1 18 | -------------------------------------------------------------------------------- /data/test_spacybot/data/nlu.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | nlu: 3 | - intent: greet 4 | examples: | 5 | - hey 6 | - hello 7 | - hi 8 | 9 | - intent: mood_great 10 | examples: | 11 | - perfect 12 | - great 13 | - amazing 14 | -------------------------------------------------------------------------------- /data/test_spacybot/data/stories.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | stories: 3 | - story: happy path 4 | steps: 5 | - intent: greet 6 | - action: utter_greet 7 | - intent: mood_great 8 | - action: utter_happy 9 | -------------------------------------------------------------------------------- /data/test_spacybot/domain.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | intents: 4 | - greet 5 | - mood_great 6 | 7 | responses: 8 | utter_greet: 9 | - text: "Hey! How are you?" 10 | 11 | utter_happy: 12 | - text: "Great, carry on!" 13 | -------------------------------------------------------------------------------- /data/test_validation/data/nlu.yml: -------------------------------------------------------------------------------- 1 | version: "2.0" 2 | nlu: 3 | - intent: greet 4 | examples: | 5 | - hey 6 | -------------------------------------------------------------------------------- /data/test_validation/data/stories.yml: -------------------------------------------------------------------------------- 1 | version: "2.0" 2 | stories: 3 | - story: happy path 4 | steps: 5 | - intent: greet 6 | - action: utter_greet 7 | -------------------------------------------------------------------------------- /data/test_validation/domain.yml: -------------------------------------------------------------------------------- 1 | version: "2.0" 2 | 3 | intents: 4 | - greet 5 | - goodbye 6 | 7 | responses: 8 | utter_greet: 9 | - text: "Hey! How are you?" 10 | 11 | utter_chatter: 12 | - text: "Lovely weather today, isn't it?" 13 | -------------------------------------------------------------------------------- /data/test_wrong_yaml_stories/intent_with_leading_slash.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: simple_story_without_checkpoint 3 | steps: 4 | - intent: /simple 5 | - action: utter_default 6 | - action: utter_greet 7 | -------------------------------------------------------------------------------- /data/test_wrong_yaml_stories/wrong_yaml.yml: -------------------------------------------------------------------------------- 1 | [dasdassd, 2 | -------------------------------------------------------------------------------- /data/test_yaml_stories/non_test_full_retrieval_intent_story.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: chitchat name 3 | steps: 4 | - intent: chitchat/ask_name 5 | - action: utter_chitchat 6 | -------------------------------------------------------------------------------- /data/test_yaml_stories/rules_greet_and_goodbye.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | rules: 4 | 5 | - rule: Say hi! 6 | steps: 7 | - intent: greet 8 | - action: utter_greet 9 | 10 | - rule: Say goodbye anytime the user says goodbye 11 | steps: 12 | - intent: goodbye 13 | - action: utter_goodbye 14 | -------------------------------------------------------------------------------- /data/test_yaml_stories/rules_missing_intent.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | rules: 4 | - rule: greet user 5 | steps: 6 | - intent: 7 | - action: utter_greet 8 | -------------------------------------------------------------------------------- /data/test_yaml_stories/simple_story_with_only_end.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: simple_story_with_only_end 3 | steps: 4 | - intent: hello 5 | - action: utter_greet 6 | - slot_was_set: 7 | - name: peter 8 | -------------------------------------------------------------------------------- /data/test_yaml_stories/stories_checkpoint_after_or.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: story with checkpoint after or 3 | steps: 4 | - or: 5 | - intent: affirm 6 | - intent: thank_you 7 | - checkpoint: check_after_or 8 | 9 | - story: story to continue checkpoint 10 | steps: 11 | - checkpoint: check_after_or 12 | - action: utter_default 13 | - intent: goodbye 14 | - action: utter_goodbye 15 | -------------------------------------------------------------------------------- /data/test_yaml_stories/stories_conflicting_1.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: "story 1" 3 | steps: 4 | - intent: greet 5 | - action: utter_greet 6 | - intent: greet 7 | - action: utter_greet 8 | - intent: greet 9 | - action: utter_greet 10 | 11 | - story: "story 2" 12 | steps: 13 | - intent: default 14 | - action: utter_greet 15 | - intent: greet 16 | - action: utter_greet 17 | - intent: greet 18 | - action: utter_default 19 | -------------------------------------------------------------------------------- /data/test_yaml_stories/stories_conflicting_2.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: greetings 3 | steps: 4 | - intent: greet 5 | - action: utter_greet 6 | - checkpoint: check_greet 7 | 8 | - story: "happy path" 9 | steps: 10 | - checkpoint: check_greet 11 | - intent: default 12 | - action: utter_default 13 | 14 | - story: problem 15 | steps: 16 | - checkpoint: check_greet 17 | - intent: default 18 | - action: utter_goodbye 19 | -------------------------------------------------------------------------------- /data/test_yaml_stories/stories_conflicting_3.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: greetings 3 | steps: 4 | - intent: greet 5 | - action: utter_greet 6 | - checkpoint: check_greet 7 | 8 | - story: "happy path" 9 | steps: 10 | - checkpoint: check_greet 11 | - or: 12 | - intent: default 13 | - intent: greet 14 | - action: utter_default 15 | 16 | - story: problem 17 | steps: 18 | - checkpoint: check_greet 19 | - intent: default 20 | - action: utter_goodbye 21 | -------------------------------------------------------------------------------- /data/test_yaml_stories/stories_conflicting_4.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: "story 1" 3 | steps: 4 | - intent: greet 5 | - action: utter_greet 6 | - intent: greet 7 | entities: 8 | - cuisine: German 9 | - action: utter_greet 10 | - intent: greet 11 | - action: utter_greet 12 | 13 | - story: "story 2" 14 | steps: 15 | - intent: greet 16 | - action: utter_greet 17 | - intent: greet 18 | entities: 19 | - cuisine: German 20 | - action: utter_greet 21 | - intent: greet 22 | - action: utter_default 23 | -------------------------------------------------------------------------------- /data/test_yaml_stories/stories_conflicting_5.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: "story 1" 3 | steps: 4 | - intent: greet 5 | - action: utter_greet 6 | - intent: greet 7 | entities: 8 | - cuisine: German 9 | - action: utter_greet 10 | - intent: greet 11 | - action: utter_greet 12 | 13 | - story: "story 2" 14 | steps: 15 | - intent: greet 16 | - action: utter_greet 17 | - intent: greet 18 | - action: utter_greet 19 | - intent: greet 20 | - action: utter_default 21 | -------------------------------------------------------------------------------- /data/test_yaml_stories/stories_conflicting_6.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: "story 1" 3 | steps: 4 | - intent: greet 5 | - action: utter_greet 6 | 7 | - story: "story 2" 8 | steps: 9 | - intent: greet 10 | - action: utter_default 11 | 12 | - story: "story 3" 13 | steps: 14 | - intent: greet 15 | - action: utter_default 16 | - intent: greet 17 | 18 | - story: "story 4" 19 | steps: 20 | - intent: greet 21 | - action: utter_default 22 | - intent: default 23 | 24 | - story: "story 5" 25 | steps: 26 | - intent: greet 27 | - action: utter_default 28 | - intent: goodbye -------------------------------------------------------------------------------- /data/test_yaml_stories/stories_conflicting_at_1.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: "story 1" 3 | steps: 4 | - intent: greet 5 | - action: utter_greet 6 | - intent: default 7 | - action: utter_default 8 | - intent: greet 9 | - action: utter_greet 10 | 11 | - story: "story 2" 12 | steps: 13 | - intent: default 14 | - action: utter_default 15 | - intent: greet 16 | - action: utter_greet 17 | - intent: greet 18 | - action: utter_default -------------------------------------------------------------------------------- /data/test_yaml_stories/stories_hybrid_e2e.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: My hybrid End-to-End story 3 | steps: 4 | # Regular story with labels 5 | - intent: simple 6 | - action: utter_greet 7 | # Actual messages are given instead of labels 8 | - user: "I am looking for a [Kenyan](cuisine) restaurant" 9 | - bot: "good for you" 10 | # Regular labeled events 11 | - intent: goodbye 12 | - action: utter_goodbye 13 | # Actual messages are given instead of labels 14 | - user: One more thing 15 | - bot: What? 16 | -------------------------------------------------------------------------------- /data/test_yaml_stories/stories_missing_intent.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | stories: 4 | - story: greet user 5 | steps: 6 | - intent: 7 | - action: utter_greet 8 | -------------------------------------------------------------------------------- /data/test_yaml_stories/stories_restart.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: simple_story_with_restart 3 | steps: 4 | - intent: greet 5 | - action: utter_greet 6 | - intent: goodbye 7 | - action: action_restart 8 | - action: restart 9 | -------------------------------------------------------------------------------- /data/test_yaml_stories/stories_simple.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | stories: 4 | - story: simple_story 5 | steps: 6 | - intent: greet 7 | - action: utter_greet 8 | - intent: goodbye 9 | - action: utter_goodbye 10 | -------------------------------------------------------------------------------- /data/test_yaml_stories/stories_unexpected_intent_unlearnable.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | stories: 3 | - story: "story 1" 4 | steps: 5 | - intent: greet 6 | - action: action_unlikely_intent 7 | 8 | - story: "story 2" 9 | steps: 10 | - intent: greet 11 | - action: utter_greet 12 | - action: action_unlikely_intent 13 | -------------------------------------------------------------------------------- /data/test_yaml_stories/stories_unused_checkpoints.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: simple_story_with_end_checkpoint_1 3 | steps: 4 | - intent: simple 5 | - action: utter_default 6 | - action: utter_greet 7 | - checkpoint: check_end_1 8 | 9 | - story: simple_story_with_end_checkpoint_2 10 | steps: 11 | - intent: hello 12 | - action: utter_greet 13 | - slot_was_set: 14 | - name: peter 15 | - checkpoint: check_end_2 16 | 17 | - story: simple_story_with_start 18 | steps: 19 | - checkpoint: check_start 20 | - intent: hello 21 | - action: utter_greet 22 | - slot_was_set: 23 | - name: peter 24 | -------------------------------------------------------------------------------- /data/test_yaml_stories/stories_with_rules_conflicting.yml: -------------------------------------------------------------------------------- 1 | rules: 2 | - rule: rule_1 3 | steps: 4 | - intent: greet 5 | - action: utter_noworries 6 | - active_loop: null 7 | - action: stop_q_form 8 | 9 | stories: 10 | - story: ml_story_1 11 | steps: 12 | - intent: greet 13 | - action: utter_greet 14 | - intent: thankyou 15 | - action: utter_noworries 16 | -------------------------------------------------------------------------------- /data/test_yaml_stories/story_slot_different_types.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: Story with all different slot types 3 | steps: 4 | - intent: card_lost 5 | - action: check_transactions 6 | - slot_was_set: 7 | - list_slot: ["value1", "value2"] 8 | - bool_slot: true 9 | - text_slot: "some_text" 10 | -------------------------------------------------------------------------------- /data/test_yaml_stories/story_with_or_and_entities.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: story with or and entities 3 | steps: 4 | - or: 5 | - intent: greet 6 | - intent: greet 7 | entities: 8 | # slot with the same name was autofilled 9 | - name: peter 10 | - action: utter_greet 11 | -------------------------------------------------------------------------------- /data/test_yaml_stories/story_with_or_and_entities_with_no_value.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: story with or and entities with no value 3 | steps: 4 | - intent: greet 5 | entities: 6 | # slot with the same name was NOT autofilled 7 | - name 8 | - action: utter_greet 9 | -------------------------------------------------------------------------------- /data/test_yaml_stories/story_with_or_slot_was_set.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: simple_story_with_or_slot_was_set 3 | steps: 4 | - intent: hello 5 | - action: utter_greet 6 | - or: 7 | - slot_was_set: 8 | - name: peter 9 | - slot_was_set: 10 | - name: bob 11 | - checkpoint: check_greet 12 | -------------------------------------------------------------------------------- /data/test_yaml_stories/story_with_slot_was_set.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: story with slot 3 | steps: 4 | - slot_was_set: 5 | - name -------------------------------------------------------------------------------- /data/test_yaml_stories/test_base_retrieval_intent_story.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: chitchat name 3 | steps: 4 | - user: | 5 | What's the weather like today? 6 | intent: chitchat 7 | - action: utter_chitchat 8 | -------------------------------------------------------------------------------- /data/test_yaml_stories/test_base_retrieval_intent_wrong_prediction.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: chitchat name 3 | steps: 4 | - user: | 5 | What is your name? 6 | intent: affirm 7 | - action: utter_chitchat 8 | -------------------------------------------------------------------------------- /data/test_yaml_stories/test_failed_entity_extraction_comment.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: test story with correct intent and wrong entity 3 | steps: 4 | - user: | 5 | i am [looking for greek](feedback) food 6 | intent: request_restaurant 7 | -------------------------------------------------------------------------------- /data/test_yaml_stories/test_full_retrieval_intent_story.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: chitchat name 3 | steps: 4 | - user: | 5 | What is your name? 6 | intent: chitchat/ask_name 7 | - action: utter_chitchat 8 | -------------------------------------------------------------------------------- /data/test_yaml_stories/test_full_retrieval_intent_wrong_prediction.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: chitchat name 3 | steps: 4 | - user: | 5 | What is your name? 6 | intent: chitchat/ask_weather 7 | - action: utter_chitchat 8 | -------------------------------------------------------------------------------- /data/test_yaml_stories/test_prediction_with_correct_intent_wrong_entity.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: test story with correct intent and wrong entity 3 | steps: 4 | - user: | 5 | i am looking for [greek](feedback) food and to seat [outside](seating) 6 | intent: request_restaurant 7 | -------------------------------------------------------------------------------- /data/test_yaml_stories/test_prediction_with_wrong_intent_correct_entity.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: test story with wrong intent and correct entity 3 | steps: 4 | - user: | 5 | i am looking for [greek](cuisine) food and to seat [outside](seating) 6 | intent: greet 7 | -------------------------------------------------------------------------------- /data/test_yaml_stories/test_prediction_with_wrong_intent_wrong_entity.yml: -------------------------------------------------------------------------------- 1 | stories: 2 | - story: test story with wrong intent and wrong entity 3 | steps: 4 | - user: | 5 | i am looking for [greek](feedback) food and to seat [outside](seating) 6 | intent: greet 7 | -------------------------------------------------------------------------------- /data/test_yaml_stories/test_stories_entity_annotations.yml: -------------------------------------------------------------------------------- 1 | version: "3.1" 2 | 3 | stories: 4 | - story: Test with entity annotation 5 | steps: 6 | - intent: greet 7 | user: |- 8 | Hi, I live in [London](city). 9 | - bot: hey there! 10 | -------------------------------------------------------------------------------- /docker/.dockerignore: -------------------------------------------------------------------------------- 1 | docker-data/* 2 | -------------------------------------------------------------------------------- /docker/Dockerfile.base-mitie: -------------------------------------------------------------------------------- 1 | # The base image used for all images that require a MITIE model 2 | FROM alpine:latest 3 | 4 | RUN apk add --update make wget 5 | 6 | # download mitie model 7 | WORKDIR /build 8 | COPY ./Makefile . 9 | RUN make prepare-mitie 10 | -------------------------------------------------------------------------------- /docker/Dockerfile.base-poetry: -------------------------------------------------------------------------------- 1 | ARG IMAGE_BASE_NAME 2 | ARG BASE_IMAGE_HASH 3 | 4 | FROM ${IMAGE_BASE_NAME}:base-${BASE_IMAGE_HASH} 5 | 6 | ARG POETRY_VERSION 7 | 8 | # install poetry 9 | ENV POETRY_VERSION ${POETRY_VERSION} 10 | RUN curl -sSL https://install.python-poetry.org | python3 - 11 | ENV PATH "/root/.local/bin:${PATH}" 12 | -------------------------------------------------------------------------------- /docker/configs/config_pretrained_embeddings_mitie.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | 3 | pipeline: 4 | - name: MitieNLP 5 | model: "data/total_word_feature_extractor.dat" 6 | - name: MitieTokenizer 7 | - name: MitieEntityExtractor 8 | - name: EntitySynonymMapper 9 | - name: RegexFeaturizer 10 | - name: MitieFeaturizer 11 | - name: SklearnIntentClassifier 12 | -------------------------------------------------------------------------------- /docker/configs/config_pretrained_embeddings_spacy_de.yml: -------------------------------------------------------------------------------- 1 | language: "de" 2 | 3 | pipeline: 4 | - name: SpacyNLP 5 | model: "de_core_news_sm" 6 | - name: SpacyTokenizer 7 | - name: SpacyFeaturizer 8 | - name: RegexFeaturizer 9 | - name: LexicalSyntacticFeaturizer 10 | - name: CountVectorsFeaturizer 11 | - name: CountVectorsFeaturizer 12 | analyzer: "char_wb" 13 | min_ngram: 1 14 | max_ngram: 4 15 | - name: DIETClassifier 16 | - name: EntitySynonymMapper 17 | - name: ResponseSelector 18 | -------------------------------------------------------------------------------- /docker/configs/config_pretrained_embeddings_spacy_en.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | 3 | pipeline: 4 | - name: SpacyNLP 5 | model: "en_core_web_md" 6 | - name: SpacyTokenizer 7 | - name: SpacyFeaturizer 8 | - name: RegexFeaturizer 9 | - name: LexicalSyntacticFeaturizer 10 | - name: CountVectorsFeaturizer 11 | - name: CountVectorsFeaturizer 12 | analyzer: "char_wb" 13 | min_ngram: 1 14 | max_ngram: 4 15 | - name: DIETClassifier 16 | - name: EntitySynonymMapper 17 | - name: ResponseSelector 18 | -------------------------------------------------------------------------------- /docker/configs/config_pretrained_embeddings_spacy_en_duckling.yml: -------------------------------------------------------------------------------- 1 | language: "en" 2 | 3 | pipeline: 4 | - name: SpacyNLP 5 | model: "en_core_web_md" 6 | - name: SpacyTokenizer 7 | - name: SpacyFeaturizer 8 | - name: RegexFeaturizer 9 | - name: LexicalSyntacticFeaturizer 10 | - name: CountVectorsFeaturizer 11 | - name: CountVectorsFeaturizer 12 | analyzer: "char_wb" 13 | min_ngram: 1 14 | max_ngram: 4 15 | - name: DIETClassifier 16 | - name: EntitySynonymMapper 17 | - name: ResponseSelector 18 | - name: DucklingEntityExtractor 19 | url: "http://duckling:8000" 20 | -------------------------------------------------------------------------------- /docker/configs/config_pretrained_embeddings_spacy_it.yml: -------------------------------------------------------------------------------- 1 | language: "it" 2 | 3 | pipeline: 4 | - name: SpacyNLP 5 | model: "it_core_news_md" 6 | - name: SpacyTokenizer 7 | - name: SpacyFeaturizer 8 | - name: RegexFeaturizer 9 | - name: LexicalSyntacticFeaturizer 10 | - name: CountVectorsFeaturizer 11 | - name: CountVectorsFeaturizer 12 | analyzer: "char_wb" 13 | min_ngram: 1 14 | max_ngram: 4 15 | - name: DIETClassifier 16 | - name: EntitySynonymMapper 17 | - name: ResponseSelector 18 | -------------------------------------------------------------------------------- /docker/docker-cloud.yml: -------------------------------------------------------------------------------- 1 | rasa: 2 | image: rasa/rasa:latest-spacy-en 3 | ports: 4 | - "5000:5000" 5 | volumes: 6 | - "/rasa-app-data/projects:/app/projects" 7 | - "/rasa-app-data/logs:/app/logs" 8 | - "./rasa-app-data/data:/app/data" 9 | -------------------------------------------------------------------------------- /docker/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.0' 2 | 3 | services: 4 | rasa: 5 | image: rasa/rasa:latest-full 6 | networks: ['rasa-network'] 7 | ports: 8 | - "5005:5005" 9 | volumes: 10 | - "./rasa-app-data/:/app/" 11 | command: 12 | - run 13 | 14 | action_server: 15 | image: rasa/rasa-sdk:latest 16 | networks: ['rasa-network'] 17 | ports: 18 | - "5055:5055" 19 | volumes: 20 | - "./rasa-app-data/actions:/app/actions" 21 | 22 | duckling: 23 | image: rasa/duckling:latest 24 | networks: ['rasa-network'] 25 | ports: 26 | - "8000:8000" 27 | 28 | networks: {rasa-network: {}} 29 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | .netlify 2 | .docusaurus 3 | docs/variables.json 4 | docs/sources 5 | docs/reference 6 | docs/changelog.mdx 7 | docs/telemetry/reference.mdx 8 | -------------------------------------------------------------------------------- /docs/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 3 | }; 4 | -------------------------------------------------------------------------------- /docs/docs/architecture-img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/architecture-img.png -------------------------------------------------------------------------------- /docs/docs/component-lifecycle-img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/component-lifecycle-img.png -------------------------------------------------------------------------------- /docs/docs/connectors/img/slack-app-home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/connectors/img/slack-app-home.png -------------------------------------------------------------------------------- /docs/docs/connectors/img/slack-create-app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/connectors/img/slack-create-app.png -------------------------------------------------------------------------------- /docs/docs/connectors/img/slack-events.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/connectors/img/slack-events.png -------------------------------------------------------------------------------- /docs/docs/connectors/img/slack-install-app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/connectors/img/slack-install-app.png -------------------------------------------------------------------------------- /docs/docs/connectors/img/slack-interactivity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/connectors/img/slack-interactivity.png -------------------------------------------------------------------------------- /docs/docs/connectors/img/slack-request-url.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/connectors/img/slack-request-url.png -------------------------------------------------------------------------------- /docs/docs/connectors/img/slack-scopes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/connectors/img/slack-scopes.png -------------------------------------------------------------------------------- /docs/docs/connectors/img/slack-secret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/connectors/img/slack-secret.png -------------------------------------------------------------------------------- /docs/docs/connectors/img/twilio-set-sip-webhook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/connectors/img/twilio-set-sip-webhook.png -------------------------------------------------------------------------------- /docs/docs/connectors/img/twilio-set-webhook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/connectors/img/twilio-set-webhook.png -------------------------------------------------------------------------------- /docs/docs/migrate-from/dialogflow_export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/migrate-from/dialogflow_export.png -------------------------------------------------------------------------------- /docs/docs/migrate-from/dialogflow_export_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/migrate-from/dialogflow_export_2.png -------------------------------------------------------------------------------- /docs/docs/migrate-from/luis_export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/migrate-from/luis_export.png -------------------------------------------------------------------------------- /docs/docs/sdk_changelog.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: sdk_changelog 3 | sidebar_label: Rasa SDK Change Log 4 | title: Rasa SDK Change Log 5 | --- 6 | 7 | The Rasa SDK changelog can be found in the [Rasa SDK repository](https://github.com/RasaHQ/rasa-sdk/blob/main/CHANGELOG.mdx) -------------------------------------------------------------------------------- /docs/docs/sources/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/docs/sources/.keep -------------------------------------------------------------------------------- /docs/plugins/google-tagmanager/client.js: -------------------------------------------------------------------------------- 1 | import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment'; 2 | 3 | export default (function () { 4 | if (!ExecutionEnvironment.canUseDOM) { 5 | return null; 6 | } 7 | 8 | return { 9 | onRouteUpdate({location}) { 10 | if (location) { 11 | setTimeout(() => { 12 | window.dataLayer.push({ 13 | event: 'route-update', 14 | }); 15 | }, 50); 16 | } 17 | }, 18 | }; 19 | })(); 20 | -------------------------------------------------------------------------------- /docs/pydoc-markdown.yml: -------------------------------------------------------------------------------- 1 | loaders: 2 | - type: python 3 | search_path: [../] 4 | packages: 5 | - rasa 6 | processors: 7 | - type: filter 8 | skip_empty_modules: true 9 | - type: smart 10 | - type: crossref 11 | renderer: 12 | type: docusaurus 13 | docs_base_path: docs/ 14 | sidebar_top_level_label: null 15 | sidebar_top_level_module_label: 'Code reference' 16 | markdown: 17 | render_module_header_template: | 18 | --- 19 | sidebar_label: {module_name} 20 | title: {module_name} 21 | --- 22 | -------------------------------------------------------------------------------- /docs/scripts/compile_included_sources.js: -------------------------------------------------------------------------------- 1 | const getIncludedSources = require('../plugins/included_source.js'); 2 | 3 | console.info('Computing included sources'); 4 | getIncludedSources({ 5 | docsDir: './docs', 6 | include: ['**.mdx', '**.md'], 7 | }); 8 | -------------------------------------------------------------------------------- /docs/scripts/compile_program_outputs.js: -------------------------------------------------------------------------------- 1 | const getProgramOutputs = require('../plugins/program_output.js'); 2 | 3 | console.info('Computing program outputs'); 4 | getProgramOutputs({ 5 | docsDir: './docs', 6 | include: ['**.mdx', '**.md'], 7 | commandPrefix: 'RASA_TELEMETRY_ENABLED=false poetry run', 8 | }); 9 | -------------------------------------------------------------------------------- /docs/scripts/update_versioned_sources.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs"); 2 | const includedSources = require('../plugins/included_source.js'); 3 | 4 | 5 | const version = process.argv[2]; 6 | if (!version) {; 7 | throw new Error("Missing version argument."); 8 | } 9 | 10 | const docsDir = `./versioned_docs/version-${version}`; 11 | if (!fs.existsSync(docsDir)) { 12 | throw new Error(`Documentation for version ${version} doesn't exist.`); 13 | } 14 | 15 | console.info(`Updating sources in ${version} documentation`); 16 | includedSources.updateVersionedSources({ docsDir }); 17 | -------------------------------------------------------------------------------- /docs/static/img/analytics/analytics-db-schema-old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/analytics-db-schema-old.png -------------------------------------------------------------------------------- /docs/static/img/analytics/analytics-er-db.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/analytics-er-db.png -------------------------------------------------------------------------------- /docs/static/img/analytics/analytics-er-rasa-action.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/analytics-er-rasa-action.png -------------------------------------------------------------------------------- /docs/static/img/analytics/analytics-er-rasa-bot-message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/analytics-er-rasa-bot-message.png -------------------------------------------------------------------------------- /docs/static/img/analytics/analytics-er-rasa-event.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/analytics-er-rasa-event.png -------------------------------------------------------------------------------- /docs/static/img/analytics/analytics-er-rasa-sender.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/analytics-er-rasa-sender.png -------------------------------------------------------------------------------- /docs/static/img/analytics/analytics-er-rasa-session-slot-state.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/analytics-er-rasa-session-slot-state.png -------------------------------------------------------------------------------- /docs/static/img/analytics/analytics-er-rasa-session.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/analytics-er-rasa-session.png -------------------------------------------------------------------------------- /docs/static/img/analytics/analytics-er-rasa-slot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/analytics-er-rasa-slot.png -------------------------------------------------------------------------------- /docs/static/img/analytics/analytics-er-rasa-turn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/analytics-er-rasa-turn.png -------------------------------------------------------------------------------- /docs/static/img/analytics/analytics-er-rasa-user-message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/analytics-er-rasa-user-message.png -------------------------------------------------------------------------------- /docs/static/img/analytics/analytics-examples.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/analytics-examples.png -------------------------------------------------------------------------------- /docs/static/img/analytics/graph-abandonment-rate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/graph-abandonment-rate.png -------------------------------------------------------------------------------- /docs/static/img/analytics/graph-escalation-rate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/graph-escalation-rate.png -------------------------------------------------------------------------------- /docs/static/img/analytics/graph-intent-distribution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/graph-intent-distribution.png -------------------------------------------------------------------------------- /docs/static/img/analytics/graph-number-sessions-channel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/graph-number-sessions-channel.png -------------------------------------------------------------------------------- /docs/static/img/analytics/graph-number-sessions-month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/graph-number-sessions-month.png -------------------------------------------------------------------------------- /docs/static/img/analytics/graph-top-5-intents.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/graph-top-5-intents.png -------------------------------------------------------------------------------- /docs/static/img/analytics/realtime-markers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/analytics/realtime-markers.png -------------------------------------------------------------------------------- /docs/static/img/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/architecture.png -------------------------------------------------------------------------------- /docs/static/img/blocks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/blocks.png -------------------------------------------------------------------------------- /docs/static/img/graph_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/graph_architecture.png -------------------------------------------------------------------------------- /docs/static/img/intent_confusion_matrix_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/intent_confusion_matrix_example.png -------------------------------------------------------------------------------- /docs/static/img/intent_histogram_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/intent_histogram_example.png -------------------------------------------------------------------------------- /docs/static/img/introduction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/introduction.png -------------------------------------------------------------------------------- /docs/static/img/logo-rasa-oss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/logo-rasa-oss.png -------------------------------------------------------------------------------- /docs/static/img/logo-rasa-x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/logo-rasa-x.png -------------------------------------------------------------------------------- /docs/static/img/og-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/og-image.png -------------------------------------------------------------------------------- /docs/static/img/rasa-plus-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/rasa-plus-architecture.png -------------------------------------------------------------------------------- /docs/static/img/rasa-pro-analytics-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/rasa-pro-analytics-overview.png -------------------------------------------------------------------------------- /docs/static/img/spaces_hierarchy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/spaces_hierarchy.png -------------------------------------------------------------------------------- /docs/static/img/train-test-github-action.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RasaHQ/rasa/d6829b6acc10fd9548798176bb0f9713107c1555/docs/static/img/train-test-github-action.png -------------------------------------------------------------------------------- /docs/themes/theme-custom/theme/RasaProBanner/styles.module.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | .label { 4 | background-color:#F6D261; 5 | border: 1px solid transparent; 6 | border-radius: 8px; 7 | padding: 2px 12px; 8 | font-size: 15px !important; 9 | font-weight: 600; 10 | 11 | display: inline-block; 12 | } 13 | 14 | .label[disabled] { 15 | background-color: var(--ifm-color-gray-500); 16 | cursor: default; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /docs/themes/theme-custom/theme/RasaProLabel/index.jsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import clsx from 'clsx'; 3 | 4 | import styles from './styles.module.css'; 5 | 6 | function RasaProLabel({isLoading, ...props}) { 7 | return ( 8 |