⚠️ Please check the Call for contributors
Olivia is an open-source chatbot built in Golang using Machine Learning technologies. Its goal is to provide a free and open-source alternative to big services like DialogFlow.
You can chat with her by speaking (STT) or writing, she replies with a text message but you can enable her voice (TTS).
To get a personal access token from Github go to
Setings > Developer settings > Personal Access Tokens
Click on Generate new Token and name it you MUST have read and write packages ticked on. Then click Generate new token
TOKEN with the Token that you just made.
$ export PAT=TOKEN
Login to Github (Note: change USERNAME to Gthub username)
$ echo $PAT | docker login docker.pkg.github.com -u USERNAME --password-stdin
Pull the image from GitHub Packages
$ docker pull docker.pkg.github.com/olivia-ai/olivia/olivia:latest
Then start it
$ docker run -d -e PORT=8080 -p 8080:8080 docker.pkg.github.com/olivia-ai/olivia/olivia:latest
You can just use the websocket of Olivia now.
To stop it, get the container id:
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 311b3abb963a olivia "./main" 7 minutes ago Up 7 minutes 0.0.0.0:8080->8080/tcp quizzical_mayer
and stop it
$ docker container stop 311b3abb963a
The app will automatically check for
res/datasets/training.json file which contains the save of the neural network.
By default when you clone the repository from Github you have a stable save.
If you want to train a new model just delete this file and rerun the app.
Clone the project via GitHub:
$ git clone [email protected]:olivia-ai/olivia.git
Then download the dependencies
$ go mod download
And run it
$ go run main.go
To install the frontend and the backend together, please use the
$ docker-compose up
And all done!
Please refer to the contributing file
Thanks to the people who contribute to Olivia.
Become a financial contributor and help Olivia growth.
Contribute on the GitHub page of hugolgst ❤️
Made with ❤️ by Hugo Lageneste