Rasa-sdk

Latest version: v3.8.0

Safety actively analyzes 629503 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 16

3.7.0b1

_Pre-release version_

3.7.0a1

_Pre-release version_

3.6.2

Bugfixes
- [1026](https://github.com/rasahq/rasa-sdk/issues/1026): Updated wheel to address security vulnerability.

3.6.1

Not secure
Bugfixes
- [1219](https://github.com/rasahq/rasa-sdk/issues/1219): The logger for rasa_sdk plugin will not throw traceback when no plugins are found since plugins are optional. It will be only available in debug mode, however the action server will continue to run.

3.6.0

Not secure
Deprecations and Removals
- [975](https://github.com/rasahq/rasa-sdk/issues/975): Drop support for Python 3.7 as [it is approaching its end of life in June 2023](https://peps.python.org/pep-0537/#lifespan).

Features
- [970](https://github.com/rasahq/rasa-sdk/issues/970): Add pluggy to provide ability to create sanic extensions in rasa-sdk

Improvements
- [922](https://github.com/rasahq/rasa-sdk/issues/922): # Problem
Rasa knowledge base actions cannot infer the object type of an object directly from the user message without the user first asking to list all objects related to that object type. This prevents action_query_knowledge from providing a suitable response when a user asks for a certain attribute of an object even though the knowledge base has the relevant information. That is, the knowledge base actions require the slot `object_type` to be set to one of the primary key values in the knowledge base for it to search through the objects. Here is an example:

Your input -> what is the price range of Berlin Burrito Company?
Sorry, I'm not sure I understand. Can you rephrase?
Your input -> list some restaurants
Found the following objects of type 'restaurant':
1: Gong Gan
2: I due forni
3: Pfefferberg
4: Lụa Restaurant
5: Donath
Your input -> what is the price range of Berlin Burrito Company?
'Berlin Burrito Company' has the value 'cheap' for attribute 'price-range'.


Proposed solution
- The improvement requires changes to the classes ActionQueryKnowledgeBase and InMemoryKnowledgeBase under rasa-sdk.
- The `object_type` can be inferred by utilizing the entity extraction (DIET) where object types are used as entities to annotate object names.
This also requires changes to be made to slot management to enable dynamic inference of `object_type`.
- The scope of the suggested solution is limited to user queries where they ask for an attribute of a given object without mentioning the object type and without needing to first ask for a list of options of the corresponding object type.
- E.g.: If the user asks for ‘price range of Berlin Burrito Company’, then rasa will extract and set attribute slot value to ‘price-range’ and hotel slot value to ‘Berlin Burrito Company’. From this, it can be inferred that the user is talking about the object type ‘hotel’.

Summary of Changes
- To enable the inference of `object_type` using the entities the following changes were made to the existing code base:
- Extract the list of object_types from our knowledge base using a new method `get_object_types()` in `storage.py` for the `InMemoryKnowledgeBase` class.
- A new method named `match_extracted_entities_to_object_type()` was added in `utils.py` to infer the object type of a given object using the entities and list of object types
- The relevant logic was added in `actions.py` to infer the object type using the above functionalities when the object type slot is not set.
- To enable dynamic inference of `object_type`, changes to slot management are also required. Currently, the change is to reset the `object_type` slot to `None` after every conversation turn.

Miscellaneous internal changes
- [968](https://github.com/rasahq/rasa-sdk/issues/968), [#969](https://github.com/rasahq/rasa-sdk/issues/969)

3.6.0a1

Not secure
_Pre-release version_

Page 3 of 16

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.