we made a significant change to how we structured the Rasa Stack code base: we merged the Rasa Core code into the NLU repository. But don’t worry: You can still use NLU and Core separately if you want to.
Many of you already noticed that, and there have been some questions. I wanted to take some time to explain the thinking behind this single repo approach and why we prefer it. The change is on master branch only and not released yet.
Why did we do the merge?
- Future proof: The code merge will allow us to build end-to-end models or models that can take the context of conversations into account -> more and more challenges require this (e.g. co-reference resolution).
- easier to maintain: there have been quite some code duplications between the repositories, this move will make it easier to maintain existing code and avoid compatibility issues between these tightly coupled parts.
- optimise for the most common use case: creating an assistant where both are needed and simplifying that (e.g. providing an easy to use command line interface to bootstrap a bot).
What does it mean for me?
- all issues should be opened on the https://github.com/rasahq/rasa repo
- imports changed: new code should use
import rasa.core. To make the transition easier, we added placeholder packages for the old names and imports will still work.
What it does NOT mean?
- You do not need to use Core and NLU together. We want to keep the flexibility and allow training of NLU or Core only models.
- There will be no change to the license. All the code will stay under Apache 2.
I’d love to hear your thoughts and any questions you have.