DARWIN stands for Documented Automobile Retrieval system With Information Neural network.
Darwin is a natural language car search engine. It allows queries like "I want a car with..."
Visit darwin-search.herokuapp.com for a live demo.
Make sure Java 11 is installed with JVM. Note that Darwin is fully compatible with macOS and Ubuntu, but hasn't been tested on Windows.
git clone https://github.com/Enoch2090/DARWIN.git darwin
cd darwin
pip install requirements.txtAfter that, you need to install PyTorch according to your system. torch-cpu will also work since the RNN is not large.
When all dependencies are installed, go to ./interface and start the server.
cd ./interface
streamlit run interface.pyYou can change configurations in ./interface/config.py. After that, restart the interface to apply the changes.
Darwin is deployable to Heroku. However, a few more steps are needed. First, clone this repo to your local machine:
git clone https://github.com/Enoch2090/DARWIN.git darwin
cd darwinMake sure heroku cli is installed. Run
heroku login
heroku create NAME_OF_DEPLOYMENT
heroku buildpacks:add heroku/python
heroku buildpacks:add heroku/java
heroku buildpacks:add heroku/jvm
heroku config:add JAVA_HOME=/usr/lib/jvm/java-11-openjdk
git commit -m "deploy"
git push heroku mainAfter the deployment is done, you should see something like this:
...
remote: -----> Compressing...
remote: Done: 420.1M
remote: -----> Launching...
remote: ! Warning: Your slug size (420 MB) exceeds our soft limit (300 MB) which may affect boot time.
remote: Released v9
remote: https://darwin-search.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/darwin-search.git
3237146..7258337 main -> main
Branch 'main' set up to track remote branch 'main' from 'heroku'.Note that you must use torch-cpu on Heroku, because the full version has 800MB+ size, which will cause Darwin to exceed the 500MB limit of slug size. The install of torch-cpu takes place when Heroku loads the Procfile, setup.sh will be runned and it will also download the vocab for spaCy.
Read the full report for detailed info, or check our blogpost.