RasaHQ / rasa

💬 Open source machine learning framework to automate text- and voice-based conversations: NLU, dialogue management, connect to Slack, Facebook, and more - Create chatbots and voice assistants
https://rasa.com/docs/rasa/
Apache License 2.0
18.82k stars 4.62k forks source link

Interactive Learning with user-friendly interface #2025

Closed luisdemarchi closed 5 years ago

luisdemarchi commented 6 years ago

Rasa Core version: 0.8.5

Python version: 3.6

Operating system: osx

Issue: How can I "carry" interactive console learning to an HTTP / rest? The idea is to make a friendly front end for key people to do the training.

tmbo commented 6 years ago

very good point. in #301 we are working on a larger refactoring of the training data generation and connected to that the way the online learning works. I think this is something we can takle afterwards.

tdzienniak commented 6 years ago

Hi, what is the status of this issue? Is there any work being done to allow creaction of custom UIs for interactive trainng?

tmbo commented 6 years ago

We did just merge a large refactoring of the APIs & online learning. The online learning script that is using the commandline as a UI is now just using the servers HTTP api to communicate with the model. That means that it should be straight forward to now create a webfrontend instead: https://github.com/RasaHQ/rasa_core/blob/master/rasa_core/training/online.py#L323 this is the loop the cmd online learning is running, most of the code in that file is printing stuff to the commandline or sending requests to the rasa core HTTP server.

jonDel commented 6 years ago

Any minimal documentation or a simple example on how to run an access the interactive learning server via http requests?

tdzienniak commented 6 years ago

@jonDel example is in the file pointed by @tmbo: https://github.com/RasaHQ/rasa_core/blob/master/rasa_core/training/online.py

I think it's quite simple and straightforward.

jonDel commented 6 years ago

That's clearly not an example. That's the implementation itself. I expected something like this: https://rasa.com/docs/core/server/ , where there are simple and straightforward instructions on how to serve and how to access the http server.

tdzienniak commented 6 years ago

Why downvote me? This is an example of use of this new API, it is not and implementaion of that API. You can wait for "proper" example and docs maybe for months or read that code and write interactive learning toos with web UI today. It's your choice.

tmbo commented 6 years ago

@jonDel - there is no "interactive learning server". There are a couple endpoints on the server that allow you to build a interactive learning UI by using them, but it is not a separate server. This is why the online.py is a good starting point, as it shows you how to use these endpoints to create the interactive learning experience. These are the endpoints you need:

jonDel commented 6 years ago

I was expecting something different because of the comments on https://github.com/RasaHQ/rasa_core/issues/867 "It is run as an http server now, please take a look at this issue: #343" And @tdzienniak , I downvoted you because you just repeated what tmbo previously said, which didn't bring any contribution to solve the question asked. For me, #867 was quite misleading, since it made me think a separated http server would be available in version 0.11. Now is clear that is not the case.

akelad commented 6 years ago

I just meant with that comment that it's done via http now, which it was not previously

santteegt commented 6 years ago

in there any plans to provide a web interface under the same project ?

crownpku commented 6 years ago

Rasa UI seems promising. It already gives a good UI for Rasa NLU. It would be a natural extension for it to support Rasa Core and its interactive learning to complete the whole chatbot building pipeline.

akelad commented 6 years ago

Rasa UI isn't maintained by us so i can't say whether it'll have that in the future :) Something we are currently working on is making the command line interface more usable

tdzienniak commented 6 years ago

I'm currently creating Web interface for interactive learning. For now I can't share any code, but I can tell, that it is very easy to use this new API and I have working tool after 2 days of work. :)

crownpku commented 6 years ago

Yeah. I'm just imaging that with all this excellent work Rasa has done in the backend, a nice front-end UI would attract much more users to use it for building bots for the full pipeline painlessly without any coding :)

Husamx commented 6 years ago

I'm currently creating Web interface for interactive learning. For now I can't share any code, but I can tell, that it is very easy to use this new API and I have working tool after 2 days of work. :)

Can you share with us how you used the API? not your code, but just the API calls

tdzienniak commented 6 years ago

There is not much to share, I use API endpoints just like in online.py file. The flow is almost the same, just adapted to different IO interface (React app).

pradeepmvn commented 6 years ago

Just another mention. Its now called as interactive.py instead of online.py (above link)

https://github.com/RasaHQ/rasa_core/blob/master/rasa_core/training/interactive.py

tmbo commented 6 years ago

Documentation of the http interactive learning api is done as well https://rasa.com/docs/core/master/server/#operation/executeAction

amn41 commented 5 years ago

For anyone finding this via google - you can use Rasa X to do interactive learning with a GUI.

Check out the docs here A video tutorial here

ShaidaMuhammad commented 1 year ago

@amn41 Rasa-x is no longer a free tool and there are no free GUI tools for interactive learning yet.