Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/olivia-ai/olivia

💁‍♀️Your new best friend powered by an artificial neural network
https://github.com/olivia-ai/olivia

ai artificial-intelligence assistant backend chatbot deep-learning go golang machine-learning natural-language-processing neural-network olivia translations voice-assistant

Last synced: about 2 months ago
JSON representation

💁‍♀️Your new best friend powered by an artificial neural network

Awesome Lists containing this project

README

        




Olivia's character


💁‍♀️ Your new best friend



GoDoc








Twitter Follow




Website
Documentation
Getting started
Introduction
Translations
Contributors
License


⚠️ Please check the Call for contributors

## 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](https://github.com/olivia-ai/olivia)
Try it on [her website!](https://olivia-ai.org)

### 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
#### Login to Github

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

Replace `TOKEN` with the Token that you just made.
```bash
$ export PAT=TOKEN
```

Login to Github (Note: change USERNAME to Gthub username)
```bash
$ echo $PAT | docker login docker.pkg.github.com -u USERNAME --password-stdin
```

#### Docker


docker installation

Pull the image from GitHub Packages
```bash
$ docker pull docker.pkg.github.com/olivia-ai/olivia/olivia:latest
```

Then start it
```bash
$ 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:
```bash
$ docker container ls
```
```bash
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
```bash
$ 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:

```bash
$ git clone [email protected]:olivia-ai/olivia.git
```

Then download the dependencies
```bash
$ go mod download
```

And run it
```bash
$ go run main.go
```

### Frontend and Backend
To install the frontend and the backend together, please use the `docker-compose.yml` file:

```bash
$ 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](https://olivia-ai.org/dashboard/language).
To add a language please read [the documentation for that](https://docs.olivia-ai.org/translations.html).

## Contributors


docker installation



### Contributing
Please refer to the [contributing file](.github/CONTRIBUTING.md)

### Code Contributors
Thanks to the people who contribute to Olivia.

[Contribute](.github/CONTRIBUTING.md)

### Financial Contributors
Become a financial contributor and help Olivia growth.

Contribute on the GitHub page of [hugolgst](https://github.com/sponsors/hugolgst) ❤️

## License



[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Folivia-ai%2Folivia.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Folivia-ai%2Folivia?ref=badge_large)




Made with ❤️ by Hugo Lageneste

![Olivia's wave](https://olivia-ai.org/img/background-olivia.png)