Skip to content

Commit bad415f

Browse files
authored
Merge pull request RasaHQ#5243 from RasaHQ/issue_3975
Add conversation-id argument to rasa interactive
2 parents aaf4e6a + 4d66948 commit bad415f

File tree

6 files changed

+239
-164
lines changed

6 files changed

+239
-164
lines changed

changelog/3975.improvement.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Added command line argument ``--conversation-id`` to ``rasa interactive``.
2+
If the argument is not given, ``conversation_id`` defaults to a random uuid.

rasa/cli/arguments/interactive.py

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import argparse
2+
import uuid
23

34
from rasa.cli.arguments.default_arguments import (
45
add_domain_param,
@@ -18,41 +19,54 @@
1819
)
1920

2021

21-
def set_interactive_arguments(parser: argparse.ArgumentParser):
22+
def set_interactive_arguments(parser: argparse.ArgumentParser) -> None:
23+
parser.add_argument(
24+
"--e2e",
25+
action="store_true",
26+
help="Save story files in e2e format. In this format user messages will be included in the stories.",
27+
)
28+
2229
add_model_param(parser, default=None)
2330
add_data_param(parser)
2431

25-
add_skip_visualization_param(parser)
26-
27-
add_endpoint_param(
28-
parser,
29-
help_text="Configuration file for the model server and the connectors as a yml file.",
30-
)
32+
_add_common_params(parser)
33+
train_arguments = _add_training_arguments(parser)
3134

32-
train_arguments = parser.add_argument_group("Train Arguments")
33-
add_config_param(train_arguments)
34-
add_domain_param(train_arguments)
35-
add_out_param(
36-
train_arguments, help_text="Directory where your models should be stored."
37-
)
38-
add_augmentation_param(train_arguments)
39-
add_debug_plots_param(train_arguments)
40-
add_dump_stories_param(train_arguments)
4135
add_force_param(train_arguments)
4236
add_persist_nlu_data_param(train_arguments)
4337

4438

45-
def set_interactive_core_arguments(parser: argparse.ArgumentParser):
39+
def set_interactive_core_arguments(parser: argparse.ArgumentParser) -> None:
4640
add_model_param(parser, model_name="Rasa Core", default=None)
4741
add_stories_param(parser)
4842

49-
add_skip_visualization_param(parser)
43+
_add_common_params(parser)
44+
_add_training_arguments(parser)
45+
46+
47+
def _add_common_params(parser: argparse.ArgumentParser) -> None:
48+
parser.add_argument(
49+
"--skip-visualization",
50+
default=False,
51+
action="store_true",
52+
help="Disable plotting the visualization during interactive learning.",
53+
)
54+
55+
parser.add_argument(
56+
"--conversation-id",
57+
default=uuid.uuid4().hex,
58+
help="Specify the id of the conversation the messages are in. Defaults to a "
59+
"UUID that will be randomly generated.",
60+
)
5061

5162
add_endpoint_param(
5263
parser,
5364
help_text="Configuration file for the model server and the connectors as a yml file.",
5465
)
5566

67+
68+
# noinspection PyProtectedMember
69+
def _add_training_arguments(parser: argparse.ArgumentParser) -> argparse._ArgumentGroup:
5670
train_arguments = parser.add_argument_group("Train Arguments")
5771
add_config_param(train_arguments)
5872
add_domain_param(train_arguments)
@@ -63,11 +77,4 @@ def set_interactive_core_arguments(parser: argparse.ArgumentParser):
6377
add_debug_plots_param(train_arguments)
6478
add_dump_stories_param(train_arguments)
6579

66-
67-
def add_skip_visualization_param(parser: argparse.ArgumentParser):
68-
parser.add_argument(
69-
"--skip-visualization",
70-
default=False,
71-
action="store_true",
72-
help="Disable plotting the visualization during interactive learning.",
73-
)
80+
return train_arguments

rasa/cli/interactive.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
from rasa.cli.arguments import interactive as arguments
1010
from rasa import model
1111

12-
# noinspection PyProtectedMember
1312
from rasa.constants import DEFAULT_MODELS_PATH, DEFAULT_ENDPOINTS_PATH
1413
from rasa.importers.importer import TrainingDataImporter
1514

1615
logger = logging.getLogger(__name__)
1716

1817

18+
# noinspection PyProtectedMember
1919
def add_subparser(
2020
subparsers: argparse._SubParsersAction, parents: List[argparse.ArgumentParser]
2121
):
@@ -28,11 +28,6 @@ def add_subparser(
2828
"Rasa model by chatting.",
2929
)
3030
interactive_parser.set_defaults(func=interactive, core_only=False)
31-
interactive_parser.add_argument(
32-
"--e2e",
33-
action="store_true",
34-
help="Save story files in e2e format. In this format user messages will be included in the stories.",
35-
)
3631

3732
interactive_subparsers = interactive_parser.add_subparsers()
3833
interactive_core_parser = interactive_subparsers.add_parser(

rasa/core/train.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ def do_interactive_learning(
180180
interactive.run_interactive_learning(
181181
file_importer=file_importer,
182182
skip_visualization=args.skip_visualization,
183+
conversation_id=args.conversation_id,
183184
server_args=args.__dict__,
184185
)
185186

0 commit comments

Comments
 (0)