Olivia: Your New Best Friend
Introduction
Olivia is an open-source chatbot built with love using Golang and advanced Machine Learning technologies. She serves as a free and customizable alternative to larger chatbot services like DialogFlow. Users can interact with Olivia by speaking or typing, and she responds with text but can also use voice. The project is open to customization, and you can try it on Olivia's website.
Why Choose Olivia?
Olivia is unique because she's the only chatbot project written in Go that's both flexible and user-friendly. She's designed with privacy in mind and is integrated as a Progressive Web Application, meaning you can add her to your phone like a native app!
Getting Started
Installation
GitHub Access Token:
- Obtain a personal access token from GitHub by navigating to
Settings > Developer settings > Personal Access Tokens
. - Create a new token with read and write package permissions.
Replace TOKEN
with your token:
$ export PAT=TOKEN
Login to GitHub:
$ echo $PAT | docker login docker.pkg.github.com -u USERNAME --password-stdin
Using Docker:
- Pull the Olivia image:
$ docker pull docker.pkg.github.com/olivia-ai/olivia/olivia:latest
- Start Olivia:
$ docker run -d -e PORT=8080 -p 8080:8080 docker.pkg.github.com/olivia-ai/olivia/olivia:latest
- To stop Olivia, identify the container ID:
$ docker container ls
- Stop the container:
$ docker container stop 311b3abb963a
Cloning from GitHub:
- Clone the repository:
$ git clone [email protected]:olivia-ai/olivia.git
- Download dependencies:
$ go mod download
- Run the application:
$ go run main.go
Frontend and Backend Together:
Use docker-compose.yml
:
$ docker-compose up
Architecture
Olivia is designed with a robust architecture that supports her functionalities efficiently and allows for easy maintenance and updates.
Translations
Olivia speaks multiple languages including English, Spanish, Catalan, French, German, Italian, and Brazilian Portuguese (partially). For more details, visit the translations dashboard.
Contributors
Olivia thrives on community contributions. Whether through code or financial support, all help is appreciated to continue Olivia's growth. Contribution details can be found on her GitHub page.
License
For full licensing information, please refer to the official documentation on Olivia's GitHub repository.