💁♀️ Your new best friend
Website —
Documentation —
Getting started —
Introduction —
Translations —
Contributors —
License
Introduction
Description
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).
You can clone the project and customize it as you want using GitHub
Try it on her website!
Why Olivia?
- The only chatbot project in Go that could be modulable and customizable.
- Using daily a privacy-friendly chatbot is great.
- The Website is a Progressive Web Application, which means you can add it to your phone and it seems like a native app!
Getting started
Installation
Docker
Pull the image from GitHub Packages
$ docker pull docker.pkg.github.com/NerdDoc/server/olivia:latest
Then start it
$ docker run -d -p 8080:8080 docker.pkg.github.com/NerdDoc/server/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.
GitHub
Clone the project via GitHub:
$ git clone git@github.com:olivia-ai/olivia.git
Then download the dependencies
$ go mod download
And run it
$ go run main.go
Frontend and Backend
To install the frontend and the backend together, please use the docker-compose.yml
file:
$ docker-compose up
And all done!
Architecture
Translations
Languages supported
- English
- Spanish
- Catalan
- French
- German
- Italian
- Brazilian portuguese - not completed
Coverage
The coverage of the translations is given here.
To add a language please read the documentation for that.
Contributors
Contributing
Please refer to the contributing file
Code Contributors
Thanks to the people who contribute to Olivia.
Contribute
Financial Contributors
Become a financial contributor and help Olivia growth.
Contribute on the GitHub page of hugolgst ❤️
License
Made with ❤️ by Hugo Lageneste