Skip to content
This repository was archived by the owner on Apr 28, 2021. It is now read-only.

Commit 7b82f9d

Browse files
author
Philippe Cote-Boucher
committed
Merge 1.3.9 from RasaHQ
2 parents 316e86b + c548467 commit 7b82f9d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+846
-189
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,4 +114,4 @@ jobs:
114114
distributions: "sdist bdist_wheel"
115115
password:
116116
secure: "MeL1Ve97eBY+VbNWuQNuLzkPs0TPc+Zh8OfZkhw69ez5imsiWpvp0LrUOLVW3CcC0vNTANEBOVX/n1kHxfcqkf/cChNqAkZ6zTMmvR9zHDwQxXVGZ3jEQSQM+fHdQpjwtH7BwojyxaCIC/5iza7DFMcca/Q6Xr+atdTd0V8Q7Nc5jFHEQf3/4oIIm6YeCUiHcEu981LRdS04+jvuFUN0Ejy+KLukGVyIWyYDjjGjs880Mj4J1mgmCihvVkJ1ujB65rYBdTjls3JpP3eTk63+xH8aHilIuvqB8TDYih8ovE/Vv6YwLI+u2HoEHAtBD4Ez3r71Ju6JKJM7DhWb5aurN4M7K6DC8AvpUl+PsJbNP4ZeW2jXMH6lT6qXKVaSw7lhZ0XY3wunyVcAbArX4RS0B9pb1nHBYUBWZjxXtr8lhkpGFu7H43hw63Y19qb8z4+1cGnijgz1mqXSAssuc+3r0W0cSr+OsCjmOs7cwT6HMQvPEKxLohwBOS/I3EbuKQOYMjFN5BWP5JXbsG45awV9tquxEW8zxjMetR+AOcYoyrDeiR8sAnj1/F99DE0bL1KyW/G5VNu2Xi/c+0M3KvP3+F8XTCuUY/5zTvqh1Qz1jcdiwsiAhO4eBQzQnjeFlxdiVeue2kmD5qsh+VLKKuKLfyVoaV7b1kBlAtBDu7+hDpA="
117-
after_deploy: bash scripts/ping_slack_about_package_release.sh
117+
after_deploy: ./scripts/ping_slack_about_package_release.sh

CHANGELOG.rst

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,106 @@ Rasa Change Log
77
All notable changes to this project will be documented in this file.
88
This project adheres to `Semantic Versioning`_ starting with version 1.0.
99

10+
[Unreleased 1.3.10]
11+
^^^^^^^^^^^^^^^^^^^
1012

13+
Added
14+
-----
15+
16+
Fixed
17+
-----
18+
19+
Changed
20+
-------
21+
22+
Removed
23+
-------
24+
25+
[1.3.9] - 2019-10-10
26+
^^^^^^^^^^^^^^^^^^^^
27+
28+
Added
29+
-----
30+
- Port of 1.2.10 (support for RabbitMQ TLS authentication and ``port`` key in
31+
event broker endpoint config).
32+
- Port of 1.2.11 (support for passing a CA file for SSL certificate verification via the
33+
--ssl-ca-file flag).
34+
35+
Fixed
36+
-----
37+
- Fixed the hanging HTTP call with ``ner_duckling_http`` pipeline.
38+
- Fixed text processing of ``intent`` attribute inside ``CountVectorFeaturizer``.
39+
40+
[1.3.8] - 2019-10-08
41+
^^^^^^^^^^^^^^^^^^^^
42+
43+
Changed
44+
-------
45+
- Policies now only get imported if they are actually used. This removes
46+
TensorFlow warnings when starting Rasa X
47+
48+
Fixed
49+
-----
50+
- Fixed error ``Object of type 'MaxHistoryTrackerFeaturizer' is not JSON serializable``
51+
when running ``rasa train core``
52+
- Default channel ``send_`` methods no longer support kwargs as they caused issues in incompatible channels
53+
- Fixed ``argument of type 'NoneType' is not iterable`` when using ``rasa shell``,
54+
``rasa interactive`` / ``rasa run``
55+
56+
[1.3.7] - 2019-09-27
57+
^^^^^^^^^^^^^^^^^^^^
58+
59+
Fixed
60+
-----
61+
- re-added TLS, SRV dependencies for PyMongo
62+
- socketio can now be run without turning on the ``--enable-api`` flag
63+
- MappingPolicy no longer fails when the latest action doesn't have a policy
64+
65+
[1.3.6] - 2019-09-21
66+
^^^^^^^^^^^^^^^^^^^^
67+
68+
Added
69+
-----
70+
- Added the ability for users to specify a conversation id to send a message to when
71+
using the ``RasaChat`` input channel.
72+
73+
[1.3.5] - 2019-09-20
74+
^^^^^^^^^^^^^^^^^^^^
75+
76+
Fixed
77+
-----
78+
- Fixed issue where ``rasa init`` would fail without spaCy being installed
79+
80+
[1.3.4] - 2019-09-20
81+
^^^^^^^^^^^^^^^^^^^^
82+
83+
Added
84+
-----
85+
- Added the ability to set the ``backlog`` parameter in Sanics ``run()`` method using
86+
the ``SANIC_BACKLOG`` environment variable. This parameter sets the
87+
number of unaccepted connections the server allows before refusing new
88+
connections. A default value of 100 is used if the variable is not set.
89+
- Status endpoint (``/status``) now also returns the number of training processes currently running
90+
91+
Fixed
92+
-----
93+
- Added the ability to properly deal with spaCy ``Doc``-objects created on
94+
empty strings as discussed `here <https://github.com/RasaHQ/rasa/issues/4445>`_.
95+
Only training samples that actually bear content are sent to ``self.nlp.pipe``
96+
for every given attribute. Non-content-bearing samples are converted to empty
97+
``Doc``-objects. The resulting lists are merged with their preserved order and
98+
properly returned.
99+
- asyncio warnings are now only printed if the callback takes more than 100ms
100+
(up from 1ms).
101+
- ``agent.load_model_from_server`` no longer affects logging.
102+
103+
Changed
104+
-------
105+
- The endpoint ``POST /model/train`` no longer supports specifying an output directory
106+
for the trained model using the field ``out``. Instead you can choose whether you
107+
want to save the trained model in the default model directory (``models``)
108+
(default behavior) or in a temporary directory by specifying the
109+
``save_to_default_model_directory`` field in the training request.
11110

12111
[1.3.3] - 2019-09-13
13112
^^^^^^^^^^^^^^^^^^^^
@@ -18,6 +117,7 @@ Fixed
18117
- Default one-hot representation for label featurization inside ``EmbeddingIntentClassifier`` if label features don't exist.
19118
- Policy ensemble no longer incorrectly wrings "missing mapping policy" when
20119
mapping policy is present.
120+
- "test" from ``utter_custom_json`` now correctly saved to tracker when using telegram channel
21121

22122
Removed
23123
-------
@@ -38,6 +138,7 @@ Changed
38138
-------
39139
- Pin gast to == 0.2.2
40140

141+
41142
[1.3.0] - 2019-09-05
42143
^^^^^^^^^^^^^^^^^^^^
43144

@@ -125,6 +226,47 @@ Removed
125226
-------
126227
- Removed ``--report`` argument from ``rasa test nlu``. All output files are stored in the ``--out`` directory.
127228

229+
[1.2.11] - 2019-10-09
230+
^^^^^^^^^^^^^^^^^^^^^
231+
232+
Added
233+
-----
234+
- Support for passing a CA file for SSL certificate verification via the
235+
--ssl-ca-file flag
236+
237+
[1.2.10] - 2019-10-08
238+
^^^^^^^^^^^^^^^^^^^^^
239+
240+
Added
241+
-----
242+
- Added support for RabbitMQ TLS authentication. The following environment variables
243+
need to be set:
244+
``RABBITMQ_SSL_CLIENT_CERTIFICATE`` - path to the SSL client certificate (required)
245+
``RABBITMQ_SSL_CLIENT_KEY`` - path to the SSL client key (required)
246+
``RABBITMQ_SSL_CA_FILE`` - path to the SSL CA file (optional, for certificate
247+
verification)
248+
``RABBITMQ_SSL_KEY_PASSWORD`` - SSL private key password (optional)
249+
- Added ability to define the RabbitMQ port using the ``port`` key in the
250+
``event_broker`` endpoint config.
251+
252+
[1.2.9] - 2019-09-17
253+
^^^^^^^^^^^^^^^^^^^^
254+
255+
Fixed
256+
-----
257+
- Correctly pass SSL flag values to x CLI command (backport of
258+
259+
260+
[1.2.8] - 2019-09-10
261+
^^^^^^^^^^^^^^^^^^^^
262+
263+
Fixed
264+
-----
265+
- SQL tracker events are retrieved ordered by timestamps. This fixes interactive
266+
learning events being shown in the wrong order. Backport of ``1.3.2`` patch
267+
(PR #4427).
268+
269+
128270
[1.2.7] - 2019-09-02
129271
^^^^^^^^^^^^^^^^^^^^
130272

docs/_static/spec/rasa.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ paths:
6969
operationId: getStatus
7070
tags:
7171
- Server Information
72-
summary: Status of the currently loaded Rasa model
72+
summary: Status of the Rasa server
7373
description: >-
74-
Information about the currently loaded Rasa model.
74+
Information about the server and the currently loaded Rasa model.
7575
responses:
7676
200:
7777
description: Success
@@ -98,6 +98,10 @@ paths:
9898
type: string
9999
description: Path of the loaded model
100100
example: 20190429-103105.tar.gz
101+
num_active_training_jobs:
102+
type: integer
103+
description: Number of running training processes
104+
example: 2
101105
401:
102106
$ref: '#/components/responses/401NotAuthenticated'
103107
403:
@@ -1229,15 +1233,16 @@ components:
12291233
$ref: '#/components/schemas/NLUTrainingData'
12301234
stories:
12311235
$ref: '#/components/schemas/StoriesTrainingData'
1232-
out:
1233-
type: string
1234-
description: Output directory
1235-
example: models
12361236
force:
12371237
type: boolean
12381238
description: >-
12391239
Force a model training even if the data has not changed
12401240
example: false
1241+
save_to_default_model_directory:
1242+
type: boolean
1243+
description: >-
1244+
If `true` (default) the trained model will be saved in the default model
1245+
directory, if `false` it will be saved in a temporary directory
12411246
required: ["config"]
12421247

12431248
NLUTrainingData:

docs/api/lock-stores.rst

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
:desc: Messages that are being processed lock Rasa for a given conversation ID to
2+
ensure that multiple incoming messages for that conversation do not interfere with
3+
each other. Rasa provides multiple implementations to maintain conversation locks.
4+
5+
.. _lock-stores:
6+
7+
Lock Stores
8+
===========
9+
10+
.. edit-link::
11+
12+
Rasa uses a ticket lock mechanism to ensure that incoming messages for a given
13+
conversation ID are processed in the right order, and locks conversations while
14+
messages are actively processed. This means multiple Rasa servers can
15+
be run in parallel as replicated services, and clients do not necessarily need to
16+
address the same node when sending messages for a given conversation ID.
17+
18+
.. contents::
19+
20+
InMemoryLockStore (default)
21+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
22+
23+
:Description:
24+
``InMemoryLockStore`` is the default lock store. It maintains conversation locks
25+
within a single process.
26+
27+
.. note::
28+
This lock store should not be used when multiple Rasa servers are run
29+
parallel.
30+
31+
:Configuration:
32+
To use the ``InMemoryTrackerStore`` no configuration is needed.
33+
34+
RedisLockStore
35+
~~~~~~~~~~~~~~
36+
37+
:Description:
38+
``RedisLockStore`` maintains conversation locks using Redis as a persistence layer.
39+
This is the recommended lock store for running a replicated set of Rasa servers.
40+
41+
:Configuration:
42+
To set up Rasa with Redis the following steps are required:
43+
44+
1. Start your Redis instance
45+
2. Add required configuration to your ``endpoints.yml``
46+
47+
.. code-block:: yaml
48+
49+
lock_store:
50+
type: "redis"
51+
url: <url of the redis instance, e.g. localhost>
52+
port: <port of your redis instance, usually 6379>
53+
password: <password used for authentication>
54+
db: <number of your database within redis, e.g. 0>
55+
56+
3. To start the Rasa Core server using your Redis backend, add the ``--endpoints``
57+
flag, e.g.:
58+
59+
.. code-block:: bash
60+
61+
rasa run -m models --endpoints endpoints.yml
62+
63+
:Parameters:
64+
- ``url`` (default: ``localhost``): The url of your redis instance
65+
- ``port`` (default: ``6379``): The port which redis is running on
66+
- ``db`` (default: ``0``): The number of your redis database
67+
- ``password`` (default: ``None``): Password used for authentication
68+
(``None`` equals no authentication)

docs/core/retrieval-actions.rst

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ Retrieval Actions
1313
We introduce experimental features to get feedback from our community, so we encourage you to try it out!
1414
However, the functionality might be changed or removed in the future.
1515
If you have feedback (positive or negative) please share it with us on the `forum <https://forum.rasa.com>`_.
16+
Also, currently we do not support adding new annotations in Rasa X if your training data contains retrieval actions.
17+
Once we have gathered enough feedback and we're happy with the training data format, we'll add support for training response retrieval models in Rasa X.
18+
19+
.. note::
20+
There is an in-depth blog post `here <https://blog.rasa.com/response-retrieval-models/>`_ about how to use retrieval
21+
actions for handling single turn interactions.
1622

1723
.. contents::
1824
:local:
@@ -52,6 +58,9 @@ You can cover all of these with a single story where the above intents are group
5258
A retrieval action uses the output of a :ref:`response-selector` component from NLU which learns a
5359
retrieval model to predict the correct response from a list of candidate responses given a user message text.
5460

61+
62+
.. _retrieval-training-data:
63+
5564
Training Data
5665
^^^^^^^^^^^^^
5766

@@ -95,6 +104,10 @@ This is a key difference to the response templates in your domain file.
95104
to the training process. The contents of it cannot be a part of the file which contains training data for other
96105
components of NLU.
97106

107+
.. note::
108+
As shown in the above examples, ``/`` symbol is reserved as a delimiter to separate retrieval intents from response text identifier. Make sure not to
109+
use it in the name of your intents.
110+
98111
Config File
99112
^^^^^^^^^^^
100113

@@ -227,4 +240,4 @@ Example result:
227240
}
228241
229242
If the ``retrieval_intent`` parameter of a particular response selector was left to its default value,
230-
the corresponding response selector will be identified as ``default`` in the returned output.
243+
the corresponding response selector will be identified as ``default`` in the returned output.

docs/core/stories.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,12 @@ to predict the next action based on a *combination* of both the intent and
7474
entities (you can, however, change this behavior using the
7575
:ref:`use_entities <use_entities>` attribute).
7676

77+
.. warning::
78+
``/`` symbol is reserved as a delimiter to separate retrieval intents from response text identifiers.
79+
Refer to ``Training Data Format`` section of :ref:`retrieval-actions` for more details on this format.
80+
If any of the intent names contain the delimiter, the file containing these stories will be considered as a training
81+
file for :ref:`response-selector` model and will be ignored for training Core models.
82+
7783
Actions
7884
~~~~~~~
7985
While writing stories, you will encounter two types of actions: utterances

docs/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ Understand messages, hold conversations, and connect to messaging channels and A
8888
api/tracker
8989
api/tracker-stores
9090
api/event-brokers
91+
api/lock-stores
9192
api/training-data-importers
9293
api/featurization
9394
migration-guide

docs/migration-guide.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ General
5050
an entity set, this will influence the weighted precision and f1-score quite a bit. From now on we
5151
exclude ``no-entity`` from the evaluation. The overall metrics now only include proper entities. You
5252
might see a drop in the performance scores when running the evaluation again.
53+
- ``/`` is reserved as a delimiter token to distinguish between retrieval intent and the corresponding response text
54+
identifier. Make sure you don't include ``/`` symbol in the name of your intents.
5355

5456
.. _migration-to-rasa-1.0:
5557

docs/nlu/components.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -847,5 +847,6 @@ DucklingHTTPExtractor
847847
# if not set the default timezone of Duckling is going to be used
848848
# needed to calculate dates from relative expressions like "tomorrow"
849849
timezone: "Europe/Berlin"
850-
851-
850+
# Timeout for receiving response from http url of the running duckling server
851+
# if not set the default timeout of duckling http url is set to 3 seconds.
852+
timeout : 3

docs/nlu/training-data-format.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ Lookup tables may be specified either directly as lists or as txt files containi
7272
.. note::
7373
The common theme here is that common examples, regex features and lookup tables merely act as cues to the final NLU model by providing additional features to the machine learning algorithm during training. Therefore, it must not be assumed that having a single example would be enough for the model to robustly identify intents and/or entities across all variants of that example.
7474

75+
.. note::
76+
``/`` symbol is reserved as a delimiter to separate retrieval intents from response text identifiers. Make sure not to
77+
use it in the name of your intents.
78+
7579
JSON Format
7680
-----------
7781

0 commit comments

Comments
 (0)