-
Notifications
You must be signed in to change notification settings - Fork 4.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
One click button to deploy example application #33
Comments
might make more sense to dockerise the project and use the docker cloud deploy button https://docs.docker.com/docker-cloud/apps/deploy-to-cloud-btn/ . thoughts? |
An easy way to get started quickly would be to publish this project on https://hub.docker.com/. Then developers can download and run the image on their laptop, and hit it from their browser, or terminal with |
I think both idea would be good...either pulling from the hub on your laptop or running it over the cloud |
@amn41 We have this working with Docker, SpaCy and Scikit. Currently, though, it pulls from API.ai to get all our agent data to train the model, and our api key is hardcoded in there. However, model training with that setup and our data takes about 5 seconds. We'll try and get something up in the next few days. |
@samhavens Your input on #50 would be nice :) |
I think since the current setup is completely dockerized we might be able to use heroku again using one of the small spacy models (need to try it tough - even tough the language model on disk is only 50mb it might still be larger in mem). |
@tmbo In version 2, they're bringing down the 50mb model to 15mb, so even more feasible for Heroku (see these comments) |
Yes, very good point. I think that makes this even more feasible 👍 |
We do have the interactive sessions in the docs now which is even better |
We have a "deploy to Heroku" button set up, the purpose of which is to let people try out rasa NLU SUPER quickly without setting up a virtualenv, installing numpy/scipy/mitie, etc.
with the new HTTP
/train
endpoint, this means that users can deploy to heroku, and then justPOST
their downloaded data from wit/LUIS/api to train a model.the free Heroku VPSs are very resource constrained, we only have 0.5Gb of memory to play with, see https://devcenter.heroku.com/articles/dyno-types . Running spacy will be a problem, because it's pretty memory heavy. So I think we should default to using mitie in that case.
Problem with MITIE (as of now) is that the intent classifier has really stupid line search defaults hard-coded in the C++ code. This means it can take hours to train a pretty simple model, even on a decent laptop.
My fork of MITIE has a temporary hack to disable the line search all together, which actually works fine. We just need to test that the heroku servers correctly install my fork https://github.com/amn41/MITIE and then test that we can in fact train a model in reasonable time.
The other issue is that the filesystem gets wiped regularly and without warning on heroku, so we may have to download the mitie total_word_feature_extractor.dat file any given time we train a model.
PR #31 adds functionality to persist trained models to S3, specifically so that we don't rely on the server's filesystem any more. Models should get uploaded automatically if the right environment variables are set.
The text was updated successfully, but these errors were encountered: