Skip to content
💁‍♀️Your new best friend powered by an artificial neural network
Go Dockerfile
Branch: master
Clone or download

Latest commit

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Removes pull requests events from GitHub Actions Apr 22, 2020
analysis Correct anaylsis/format_test for unexported functions May 13, 2020
dashboard Return an error if trying to add an existing intent Apr 29, 2020
language fix error May 23, 2020
locales Fix a go vet issue by adding a comma in the locales list May 23, 2020
modules Translate the start message for reminders May 22, 2020
network Create new tests for network/matrix Apr 28, 2020
res Add italian translations of countries' names May 23, 2020
server Translate the start message for reminders May 22, 2020
training Add french language by training two neural networks Apr 22, 2020
user Add french language by training two neural networks Apr 22, 2020
util Translate the start message for reminders May 22, 2020
.env Update the README.md and create the .env file Mar 7, 2020
.gitignore Create the dashboard authentication with the hashed token Apr 12, 2020
Dockerfile Create the docker-compose.yml and add the port flag to the app Mar 26, 2020
LICENSE Update the date and the name of the license Jul 2, 2019
Procfile Change the Procfile name of the repo Apr 25, 2019
README.md Fix a typo in the README.md May 24, 2020
app.json Refacto documentation, create a constructor for Sentence which arrang… Jun 11, 2019
docker-compose.yml fixed PORT in docker-compose May 22, 2020
go.mod Create the re-train flag and re-train the models May 13, 2020
go.sum Create the re-train flag and re-train the models May 13, 2020
main.go Create the re-train flag and re-train the models May 13, 2020

README.md


Olivia's character

💁‍♀️ Your new best friend

GoDoc

Twitter Follow

WebsiteDocumentationGetting startedIntroductionTranslationsContributorsLicense

Introduction

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 Progessive Web Application, which means you can add it to your phone and it seems like a native app!

Getting started

Installation

Docker

docker installation

Pull the image from GitHub Packages

$ docker pull docker.pkg.github.com/olivia-ai/olivia/olivia:latest

Then start it

$ docker run -d -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.

GitHub

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

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

architecture

Translations

introduction

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

docker installation

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

FOSSA Status

Made with ❤️ by Hugo Lageneste

Olivia's wave

You can’t perform that action at this time.