rasa-pro 3.13.6__py3-none-any.whl → 3.13.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of rasa-pro might be problematic. Click here for more details.

@@ -398,19 +398,12 @@ def clean_up_commands(
398
398
  """
399
399
  domain = domain if domain else Domain.empty()
400
400
 
401
- # we consider all slots that were set in the tracker for potential corrections
402
- # in the correct_slot_command we will check if a slot should actually be
403
- # corrected
404
- slots_so_far = set(
405
- [event.key for event in tracker.events if isinstance(event, SlotSet)]
406
- )
407
-
408
401
  clean_commands: List[Command] = []
409
402
 
410
403
  for command in commands:
411
404
  if isinstance(command, SetSlotCommand):
412
405
  clean_commands = clean_up_slot_command(
413
- clean_commands, command, tracker, all_flows, slots_so_far
406
+ clean_commands, command, tracker, all_flows
414
407
  )
415
408
 
416
409
  elif isinstance(command, CancelFlowCommand) and contains_command(
@@ -501,6 +494,25 @@ def clean_up_commands(
501
494
  return clean_commands
502
495
 
503
496
 
497
+ def _get_slots_eligible_for_correction(tracker: DialogueStateTracker) -> Set[str]:
498
+ """Get all slots that are eligible for correction.
499
+
500
+ # We consider all slots, which are not None, that were set in the tracker
501
+ # eligible for correction.
502
+ # In the correct_slot_command we will check if a slot should actually be
503
+ # corrected.
504
+ """
505
+ # get all slots that were set in the tracker
506
+ slots_so_far = set(
507
+ [event.key for event in tracker.events if isinstance(event, SlotSet)]
508
+ )
509
+
510
+ # filter out slots that are set to None (None = empty value)
511
+ slots_so_far = {slot for slot in slots_so_far if tracker.get_slot(slot) is not None}
512
+
513
+ return slots_so_far
514
+
515
+
504
516
  def ensure_max_number_of_command_type(
505
517
  commands: List[Command], command_type: Type[Command], n: int
506
518
  ) -> List[Command]:
@@ -560,7 +572,6 @@ def clean_up_slot_command(
560
572
  command: SetSlotCommand,
561
573
  tracker: DialogueStateTracker,
562
574
  all_flows: FlowsList,
563
- slots_so_far: Set[str],
564
575
  ) -> List[Command]:
565
576
  """Clean up a slot command.
566
577
 
@@ -573,7 +584,6 @@ def clean_up_slot_command(
573
584
  command: The command to clean up.
574
585
  tracker: The dialogue state tracker.
575
586
  all_flows: All flows.
576
- slots_so_far: The slots that have been filled so far.
577
587
 
578
588
  Returns:
579
589
  The cleaned up commands.
@@ -642,7 +652,13 @@ def clean_up_slot_command(
642
652
  )
643
653
  return resulting_commands
644
654
 
645
- if command.name in slots_so_far and command.name != ROUTE_TO_CALM_SLOT:
655
+ # get all slots that were set in the tracker and are eligible for correction
656
+ slots_eligible_for_correction = _get_slots_eligible_for_correction(tracker)
657
+
658
+ if (
659
+ command.name in slots_eligible_for_correction
660
+ and command.name != ROUTE_TO_CALM_SLOT
661
+ ):
646
662
  current_collect_info = get_current_collect_step(stack, all_flows)
647
663
 
648
664
  if current_collect_info and current_collect_info.collect == command.name:
rasa/studio/upload.py CHANGED
@@ -115,9 +115,10 @@ def run_validation(args: argparse.Namespace) -> None:
115
115
  """
116
116
  from rasa.validator import Validator
117
117
 
118
+ training_data_paths = args.data if isinstance(args.data, list) else [args.data]
118
119
  training_data_importer = TrainingDataImporter.load_from_dict(
119
120
  domain_path=args.domain,
120
- training_data_paths=[args.data],
121
+ training_data_paths=training_data_paths,
121
122
  config_path=args.config,
122
123
  expand_env_vars=False,
123
124
  )
@@ -263,8 +264,9 @@ def build_calm_import_parts(
263
264
  domain_from_files = importer.get_user_domain().as_dict()
264
265
  domain = extract_values(domain_from_files, DOMAIN_KEYS)
265
266
 
267
+ training_data_paths = data_path if isinstance(data_path, list) else [str(data_path)]
266
268
  flow_importer = FlowSyncImporter.load_from_dict(
267
- training_data_paths=[str(data_path)], expand_env_vars=False
269
+ training_data_paths=training_data_paths, expand_env_vars=False
268
270
  )
269
271
 
270
272
  flows = list(flow_importer.get_user_flows())
@@ -272,7 +274,7 @@ def build_calm_import_parts(
272
274
  flows = read_yaml(flows_yaml, expand_env_vars=False)
273
275
 
274
276
  nlu_importer = TrainingDataImporter.load_from_dict(
275
- training_data_paths=[str(data_path)], expand_env_vars=False
277
+ training_data_paths=training_data_paths, expand_env_vars=False
276
278
  )
277
279
  nlu_data = nlu_importer.get_nlu_data()
278
280
  nlu_examples = nlu_data.filter_training_examples(
@@ -349,9 +351,10 @@ def upload_nlu_assistant(
349
351
  "rasa.studio.upload.nlu_data_read",
350
352
  event_info="Found DM1 assistant data, parsing...",
351
353
  )
354
+ training_data_paths = args.data if isinstance(args.data, list) else [args.data]
352
355
  importer = TrainingDataImporter.load_from_dict(
353
356
  domain_path=args.domain,
354
- training_data_paths=[args.data],
357
+ training_data_paths=training_data_paths,
355
358
  config_path=args.config,
356
359
  expand_env_vars=False,
357
360
  )
rasa/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  # this file will automatically be changed,
2
2
  # do not add anything but the version number here!
3
- __version__ = "3.13.6"
3
+ __version__ = "3.13.7"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rasa-pro
3
- Version: 3.13.6
3
+ Version: 3.13.7
4
4
  Summary: State-of-the-art open-core Conversational AI framework for Enterprises that natively leverages generative AI for effortless assistant development.
5
5
  Keywords: nlp,machine-learning,machine-learning-library,bot,bots,botkit,rasa conversational-agents,conversational-ai,chatbot,chatbot-framework,bot-framework
6
6
  Author: Rasa Technologies GmbH
@@ -443,7 +443,7 @@ rasa/dialogue_understanding/patterns/skip_question.py,sha256=fJ1MC0WEEtS-BpnGJEf
443
443
  rasa/dialogue_understanding/patterns/user_silence.py,sha256=xP-QMnd-MsybH5z4g01hBv4OLOHcw6m3rc26LQfe2zo,1140
444
444
  rasa/dialogue_understanding/patterns/validate_slot.py,sha256=hqd5AEGT3M3HLNhMwuI9W9kZNCvgU6GyI-2xc2b4kz8,2085
445
445
  rasa/dialogue_understanding/processor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
446
- rasa/dialogue_understanding/processor/command_processor.py,sha256=QXurL-xRTuwU3-j4INbQmMZw8ed9uyErcQoT31Yix5o,33004
446
+ rasa/dialogue_understanding/processor/command_processor.py,sha256=X1sc0y1nPhmHiDRaREVCbIblsLIoAny7S1eQq6BNVmI,33507
447
447
  rasa/dialogue_understanding/processor/command_processor_component.py,sha256=rkErI_Uo7s3LsEojUSGSRbWGyGaX7GtGOYSJn0V-TI4,1650
448
448
  rasa/dialogue_understanding/stack/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
449
449
  rasa/dialogue_understanding/stack/dialogue_stack.py,sha256=cYV6aQeh0EuOJHODDqK3biqXozYTX8baPgLwHhPxFqs,5244
@@ -798,7 +798,7 @@ rasa/studio/pull/pull.py,sha256=Qr-Ms4pXNS04hvdciZCfbeC1hag6v2puwhHwhcFpA8Q,7750
798
798
  rasa/studio/push.py,sha256=_EopU6RQnbQub33x0TVXOTWCYUfOQMDc6KdDNmltLMs,4279
799
799
  rasa/studio/results_logger.py,sha256=lwKROoQjzzJVnFoceLQ-z-5Hg35TfHo-8R4MDrMLYHY,5126
800
800
  rasa/studio/train.py,sha256=-UTPABXNWlnp3iIMKeslgprEtRQWcr8mF-Q7bacKxEw,4240
801
- rasa/studio/upload.py,sha256=Ssop8gTrBDj4JTrI35bdiKy7IWmUV_I3YXgXM-DIXSo,22648
801
+ rasa/studio/upload.py,sha256=2zK0ThEcIRUd_PEYWuPpQNAwbATV_38GveTVZJZNysM,22927
802
802
  rasa/studio/utils.py,sha256=WgPbmMcdb3yuZU36zxFqUkJwqi5ma7TZT4Y-mXYe54k,1429
803
803
  rasa/telemetry.py,sha256=2W1Tq1HMQm60o5oiy5DEGrIqSlpYMaJybY4DvCa6Gg8,69712
804
804
  rasa/tracing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -846,9 +846,9 @@ rasa/utils/train_utils.py,sha256=ClJx-6x3-h3Vt6mskacgkcCUJTMXjFPe3zAcy_DfmaU,212
846
846
  rasa/utils/url_tools.py,sha256=dZ1HGkVdWTJB7zYEdwoDIrEuyX9HE5WsxKKFVsXBLE0,1218
847
847
  rasa/utils/yaml.py,sha256=KjbZq5C94ZP7Jdsw8bYYF7HASI6K4-C_kdHfrnPLpSI,2000
848
848
  rasa/validator.py,sha256=fhRlHQvuBkiup0FnNYmwRmqQwC3QpdCJt0TuvW4jMaI,83125
849
- rasa/version.py,sha256=7fxIP1R0Ox9pq9ce7whc6LA_D3UwwS6902VsPX1o8Bo,117
850
- rasa_pro-3.13.6.dist-info/METADATA,sha256=yZBwGIG27TynAKlkqS93_4hobShKknNbFhYslp1hSpQ,10550
851
- rasa_pro-3.13.6.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
852
- rasa_pro-3.13.6.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
853
- rasa_pro-3.13.6.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
854
- rasa_pro-3.13.6.dist-info/RECORD,,
849
+ rasa/version.py,sha256=GlcM0pFNhVbXo6QlI3F-A0EzUA4hWRvVKqt9sKLpQJg,117
850
+ rasa_pro-3.13.7.dist-info/METADATA,sha256=aiVBXTbG5rIltucREZ_XZdurUzZDyz8X2R__8fYF0dw,10550
851
+ rasa_pro-3.13.7.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
852
+ rasa_pro-3.13.7.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
853
+ rasa_pro-3.13.7.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
854
+ rasa_pro-3.13.7.dist-info/RECORD,,