olivia-ai / olivia Goto Github PK
View Code? Open in Web Editor NEW💁♀️Your new best friend powered by an artificial neural network
Home Page: https://olivia-ai.org
License: MIT License
💁♀️Your new best friend powered by an artificial neural network
Home Page: https://olivia-ai.org
License: MIT License
There are some informations missing in the README, like the payload to send and how to get the author ID. There are also some mistakes in the README ;)
Removing Travis-CI and Circle-CI to move to GitHub actions
When the Heroku application restarts by its own, then Olivia replies wrong and I need to restart the application on Heroku to make Olivia reply good.
I don't really know where the issue come from.
I've followed the tutorial to create a own simple module:
package modules
import (
"fmt"
)
func init() {
RegisterModule(Module{
Tag: "gismo",
Patterns: []string{
"Who is gismo",
},
Responses: []string{
"Gismo is my %s",
},
Replacer: MyModuleReplacer,
})
}
func MyModuleReplacer(entry, response string) string {
return fmt.Sprintf(response, "cat")
}
But the module is never triggerd. Is there any additional step required?
Create a Spotify module to run your musics:
leon supports processing WAV files locally into text. Does olivia plan on adding support for audio blobs/streams like WAV/PCM?
I'm a little concerned you're only going to support online usage by sending data to Google by using the SpeechRecognition
API.
I can't seem to be able to build the project both with the docker nor the git way
Describe the bug
Whenever I type the command docker pull docker.pkg.github.com/olivia-ai/olivia/olivia:latest
I get Error response from daemon: Get https://docker.pkg.github.com/v2/olivia-ai/olivia/olivia/manifests/latest: no basic auth credentials
If I clone the repo as mentioned in the README, install the go dependencies, the run it and navigate to localhost:8080
I get a 404 page not found
error.
P.S using docker-compose up
results to the same error as the one in the Docker method
To Reproduce
Steps to reproduce the behavior:
Expected behavior
An expected behavior would be to either build the project successfully using docker and/or with executing the bootstrap main.go
file
Desktop (please complete the following information):
Additional Context
By the way what do I need the authentication token for and how am I supposed to use it? Does it somehow has to do with the aforementioned no basic auth credentials
?
Hi ! Thank you for Olivia, I had a look at the sources and it is a great piece of software. 👏
I had trouble using the name getter
tag and I noticed that upper case letters and punctuation are removed from user inputs, but not from the training data. Removing punctuation in modules/name.go
fixes the problem.
I think analysis.Organize
should use analysis.NewSentence
to standardize the input for the neural network. I can make a pull request if you want.
Loading the neural network from res/training.json
Listening on the port 8080...
2019/07/05 08:07:47 http: panic serving 127.0.0.1:40922: runtime error: invalid memory address or nil pointer dereference
goroutine 51 [running]:
net/http.(*conn).serve.func1(0xc0000bc280)
/usr/local/dev/go/src/net/http/server.go:1769 +0x139
panic(0x737600, 0xa483d0)
/usr/local/dev/go/src/runtime/panic.go:522 +0x1b5
github.com/gorilla/websocket.(*Conn).NextReader(0x0, 0xc0006680a4, 0x1, 0x80c260, 0x7b1b70, 0x79968d)
/home/master/olivia/src/github.com/gorilla/websocket/conn.go:936 +0x26
github.com/gorilla/websocket.(*Conn).ReadMessage(0x0, 0x811660, 0xc0001142a0, 0xc0004aa000, 0x0, 0x0, 0x80c0c0)
/home/master/olivia/src/github.com/gorilla/websocket/conn.go:1026 +0x2f
main.Handle(0x811660, 0xc0001142a0, 0xc0004aa000)
/home/master/olivia/main.go:64 +0x89
net/http.HandlerFunc.ServeHTTP(0x7b1b70, 0x811660, 0xc0001142a0, 0xc0004aa000)
/usr/local/dev/go/src/net/http/server.go:1995 +0x44
net/http.(*ServeMux).ServeHTTP(0xa55720, 0x811660, 0xc0001142a0, 0xc0004aa000)
/usr/local/dev/go/src/net/http/server.go:2375 +0x1d6
net/http.serverHandler.ServeHTTP(0xc00009e410, 0x811660, 0xc0001142a0, 0xc0004aa000)
/usr/local/dev/go/src/net/http/server.go:2774 +0xa8
net/http.(*conn).serve(0xc0000bc280, 0x811ce0, 0xc000026100)
/usr/local/dev/go/src/net/http/server.go:1878 +0x851
created by net/http.(*Server).Serve
/usr/local/dev/go/src/net/http/server.go:2884 +0x2f4
2019/07/05 08:07:47 http: panic serving 127.0.0.1:40924: runtime error: invalid memory address or nil pointer dereference
goroutine 52 [running]:
net/http.(*conn).serve.func1(0xc0000bc320)
/usr/local/dev/go/src/net/http/server.go:1769 +0x139
panic(0x737600, 0xa483d0)
/usr/local/dev/go/src/runtime/panic.go:522 +0x1b5
github.com/gorilla/websocket.(*Conn).NextReader(0x0, 0xc000288924, 0xc, 0x80c260, 0x7b1b70, 0x79968d)
/home/master/olivia/src/github.com/gorilla/websocket/conn.go:936 +0x26
github.com/gorilla/websocket.(*Conn).ReadMessage(0x0, 0x811660, 0xc000114380, 0xc0004aa100, 0x0, 0x0, 0x80c0c0)
/home/master/olivia/src/github.com/gorilla/websocket/conn.go:1026 +0x2f
main.Handle(0x811660, 0xc000114380, 0xc0004aa100)
/home/master/olivia/main.go:64 +0x89
net/http.HandlerFunc.ServeHTTP(0x7b1b70, 0x811660, 0xc000114380, 0xc0004aa100)
/usr/local/dev/go/src/net/http/server.go:1995 +0x44
net/http.(*ServeMux).ServeHTTP(0xa55720, 0x811660, 0xc000114380, 0xc0004aa100)
/usr/local/dev/go/src/net/http/server.go:2375 +0x1d6
net/http.serverHandler.ServeHTTP(0xc00009e410, 0x811660, 0xc000114380, 0xc0004aa100)
/usr/local/dev/go/src/net/http/server.go:2774 +0xa8
net/http.(*conn).serve(0xc0000bc320, 0x811ce0, 0xc000026380)
/usr/local/dev/go/src/net/http/server.go:1878 +0x851
created by net/http.(*Server).Serve
/usr/local/dev/go/src/net/http/server.go:2884 +0x2f4
The biggest problem I noticed in projects similar to Olivia was that no one could remember what we were talking about and linking events based on the conversation
And self-learning ability
I hope that you will make this character distinct and self-thinking in the sense that she is an independent character
So this will become a very big breakthrough in open source AI
I strongly advise heading to deep Learning
And thanks...
Describe what the module or intent should do and if this should be a module or an intent
Please specify if you will implement this module or not.
Allow Olivia to recommend songs for users.
If you can explain the work of Olivia like, where to add the module and all, I would love to implement this module.
Create a joke module or intent.
I'm not sure yet if this should be a module which will retrieve jokes from an API (not necessary I think) or simply an intent.
Opened for contributors.
Add different languages to Olivia, this will require to update the stemmer in these languages and make this system completely modulable for future language additions.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
chat
button and \loading icon` still turnExpected behavior
The chat is available
Desktop (please complete the following information):
If i go to https://olivia-ai.org/chat
and say something like: my name is Avi
and then ask it: what is my name? it replies "I'm Olivia"
even really old bots like ALICE get this simple thing right,
https://pandorabots.com/pandora/talk?botid=b8d616e35e36e881
Is a fix possible?
The olivia library is pretty cool, however there is a major downside which is that you need to have a a copy of the olivia repository available locally. For example when initializing the bot, and running `CreateNeuralNetwork.
The first line in this function is:
// Decide if the network is created by the save or is a new one
saveFile := "res/locales/" + locale + "/training.json"
which means that in order to use olivia, you have to either:
res/locales
folder to the current working directory of the CLI or third-party app being used.Additionally this means that if you have a third-party app using olivia, any updates to olivia itself would require reshipping the res/locales
folder to whatever server is running the third-party app. While this is certainly doable, it is not without its frustrations and makes using olivia from third-party apps a lot more difficult then it should be.
A few suggestions that would make integrating olivia with third-party apps, and even just using the CLI astronomically easier:
CreateNeuralNetwork
configurablego-bindata
Sending an absurdly long message (gibberish or not) results in a correspondingly absurd wait time as Olivia tries to understand what you're saying :) Though she does eventually manage to figure it out!
Since it's a chat application, it may be worth limiting the user input to a certain reasonable number of characters, like 500 max maybe (I'm not sure what a good number would be).
This likely won't be an issue in the general use case, but I enjoy breaking things and figured I'd chime in, lol.
I am new to Docker and trying to run this awesome project on it.
So I have pulled 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
But when I try to run
$ docker container ls
I didn't see anything there and not sure how to use the command:
$ docker-compose up
Create a module where the user can create reminders on specified days
Describe the bug
Doesn't recognise UK countries
To Reproduce
Steps to reproduce the behavior:
Ask what the capital of Scotland is.
Ask what the capital of England is.
Ask what the capital of the UK is.
Expected behavior
To tell me the capital of Scotland is Edinburgh, the capital of England is London and the capital of the UK is London
Desktop (please complete the following information):
Use website chat bot
Create a new module which tells all the important information the user has to know:
First specify on which part this is related in the title with:
core/language/modules...: title
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
I've installed Olivia on my windows system following the documentation.
However, if I launch it the browser only outputs: 404 page not found
Create a REST API to get chatbot's data for the Dashboard
Create a time zone module using the existent languages/countries
file.
Opened for contributors.
Starting olivia_olivia-ai.org_1 ... done
Starting olivia_olivia_1 ... done
Attaching to olivia_olivia-ai.org_1, olivia_olivia_1
olivia-ai.org_1 | net.js:1490
olivia-ai.org_1 | throw new ERR_INVALID_OPT_VALUE('options', inspect(options));
olivia-ai.org_1 | ^
olivia-ai.org_1 |
olivia-ai.org_1 | TypeError [ERR_INVALID_OPT_VALUE]: The value "{ port: true, host: '0.0.0.0' }" is invalid for option "options"
olivia-ai.org_1 | at Server.listen (net.js:1490:9)
olivia-ai.org_1 | at HttpServer.listen (/usr/local/lib/node_modules/http-server/lib/http-server.js:205:22)
olivia-ai.org_1 | at listen (/usr/local/lib/node_modules/http-server/bin/http-server:163:10)
olivia-ai.org_1 | at Object.<anonymous> (/usr/local/lib/node_modules/http-server/bin/http-server:113:3)
olivia-ai.org_1 | at Module._compile (internal/modules/cjs/loader.js:1133:30)
olivia-ai.org_1 | at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
olivia-ai.org_1 | at Module.load (internal/modules/cjs/loader.js:977:32)
olivia-ai.org_1 | at Function.Module._load (internal/modules/cjs/loader.js:877:14)
olivia-ai.org_1 | at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
olivia-ai.org_1 | at internal/main/run_main_module.js:18:47 {
olivia-ai.org_1 | code: 'ERR_INVALID_OPT_VALUE'
olivia-ai.org_1 | }
olivia_1 | _ _ _
olivia_1 | ___ | (_)_ _(_) __ _
olivia_1 | / _ \| | \ \ / / |/ _` |
olivia_1 | | (_) | | |\ V /| | (_| |
olivia_1 | \___/|_|_| \_/ |_|\__,_|
olivia_1 |
olivia_1 | Loading the neural network from res/locales/en/training.json
olivia_1 | Loading the neural network from res/locales/de/training.json
olivia_1 | Loading the neural network from res/locales/fr/training.json
olivia_1 | Loading the neural network from res/locales/es/training.json
olivia_1 | Loading the neural network from res/locales/ca/training.json
olivia_1 | Loading the neural network from res/locales/it/training.json
olivia_1 |
olivia_1 | Server listening on the port 8080...
olivia_olivia-ai.org_1 exited with code 1```
Im using Archlinux
First specify on which part this is related in the title with:
ERROR: Get https://docker.pkg.github.com/v2/olivia-ai/olivia/olivia/manifests/latest: no basic auth credentials
Create a module for a listing of sports event of the user's favourite teams
Create a weather module which will get the weather for a given city, at a given date (using the language/date
package).
The API for that isn't chosen yet.
You can copy the model of the Spotify module for the registration of the tokens, see here
Save the API key into user information if the API requires a token.
Opened for contributors.
In the description (and on the website), it says:
The only chatbot project in Go that could be modulable and customizable.
Do you mean modular
? As in, it's composed of multiple modules?
Create a flag to specify a different intents file from the default one.
I created linux console client for Olivia - you can find it by link (https://github.com/NerdDoc/Olivia-CC)
Create a module to solve math equations.
This imply creating a language function to extract equations from user's messages.
Opened for contributors.
Add the Levenshtein algorithm to take care of typos.
It would be nice to do a feature comparison with LeonAI of which inspired this project. A Roadmap of where you want to take this would be nice too for contributors to have some kind of "grand vision".
I have added like 25 new intents in res/intents.json. I removed training.json and restarted the server. Out of 25 only 3 or 4 is working rest I am getting
{"content":"I'm trying to do my best but I don't understand","tag":"don't understand"}
What could be the reason? How to train the model with our new intents? Do we have to remove training.json if we add new intents ?
Hi! Would really appreciate some help with setting up the project. I have got it running on my machine with docker, but I just get a 404 on localhost:8080
Describe the bug
I get a 404 Page not found error starting Olivia with the yml file using docker-compose up
To Reproduce
Follow the installation instructions in the readme
Expected behavior
For it to start the frontend. It seems it starts but gives a 404. Not sure how to fix.
Desktop (please complete the following information):
Additional context
Console print below. It mentions a warning about VUE_APP_URL, however I haven't been able to reproduce it again. Might have something to do with it..
➜ docker-compose up
Creating network "olivia_default" with the default driver
Building olivia-ai.org
Step 1/10 : FROM golang:latest
latest: Pulling from library/golang
376057ac6fa1: Already exists
5a63a0a859d8: Already exists
496548a8c952: Already exists
2adae3950d4d: Already exists
039b991354af: Already exists
6b823afb12d9: Already exists
30b9d62bd869: Already exists
Digest: sha256:4d58164df51901679307e547ffed19837e63a1d1b9ed80453b8d88749b6033f4
Status: Downloaded newer image for golang:latest
---> 05feda542433
Step 2/10 : LABEL maintainer="Hugo Lageneste <[email protected]>"
---> Running in 2e2ee458d257
Removing intermediate container 2e2ee458d257
---> f453eb20bc61
Step 3/10 : WORKDIR /app
---> Running in 4038ef62e966
Removing intermediate container 4038ef62e966
---> db2b5a8b7e8e
Step 4/10 : COPY go.mod go.sum ./
---> 46da89293ac4
Step 5/10 : RUN go mod download
---> Running in 79996758c044
Removing intermediate container 79996758c044
---> 3b978032a205
Step 6/10 : COPY . .
---> c84e79163408
Step 7/10 : RUN go test
---> Running in c1e6c7d0f115
? github.com/olivia-ai/olivia [no test files]
Removing intermediate container c1e6c7d0f115
---> 48ca46a5915c
Step 8/10 : RUN go build -o main .
---> Running in 0ce9a4d78ed8
Removing intermediate container 0ce9a4d78ed8
---> 76445f475d26
Step 9/10 : EXPOSE $PORT
---> Running in 52a368becb2c
Removing intermediate container 52a368becb2c
---> 46d43046d8ae
Step 10/10 : CMD ["./main", "-port=$PORT"]
---> Running in 56630341e00f
Removing intermediate container 56630341e00f
---> fe6e19a1d981
[Warning] One or more build-args [VUE_APP_URL] were not consumed
Successfully built fe6e19a1d981
Successfully tagged docker.pkg.github.com/olivia-ai/olivia-ai.org/olivia-ai.org:latest
WARNING: Image for service olivia-ai.org was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating olivia_olivia_1 ... done
Creating olivia_olivia-ai.org_1 ... done
Attaching to olivia_olivia_1, olivia_olivia-ai.org_1
olivia_1 | _ _ _
olivia_1 | ___ | (_)_ _(_) __ _
olivia_1 | / _ \| | \ \ / / |/ _` |
olivia_1 | | (_) | | |\ V /| | (_| |
olivia_1 | \___/|_|_| \_/ |_|\__,_|
olivia_1 |
olivia_1 | hey
olivia_1 | Your authentication token is: 29568e57b2cf0fa02478ac22e93de87a783744d2b3ab0b54a6d3db62cbf7
olivia_1 | Save it, you won't be able to get it again unless you generate a new one.
olivia_1 |
olivia-ai.org_1 | _ _ _
olivia-ai.org_1 | ___ | (_)_ _(_) __ _
olivia-ai.org_1 | / _ \| | \ \ / / |/ _` |
olivia-ai.org_1 | | (_) | | |\ V /| | (_| |
olivia-ai.org_1 | \___/|_|_| \_/ |_|\__,_|
olivia-ai.org_1 |
olivia-ai.org_1 | Loading the neural network from res/locales/en/training.json
olivia-ai.org_1 | Loading the neural network from res/locales/de/training.json
olivia-ai.org_1 | Loading the neural network from res/locales/fr/training.json
olivia-ai.org_1 | Loading the neural network from res/locales/es/training.json
olivia-ai.org_1 | Loading the neural network from res/locales/ca/training.json
olivia-ai.org_1 | Loading the neural network from res/locales/it/training.json
olivia-ai.org_1 | Loading the neural network from res/locales/tr/training.json
29568e57b2cf0fa02478ac22e93de87a783744d2b3ab0b54a6d3db62cbf7
olivia-ai.org_1 | Loading the neural network from res/locales/nl/training.json
olivia-ai.org_1 |
olivia-ai.org_1 | Server listening on the port 80...
olivia_1 | Loading the neural network from res/locales/en/training.json
olivia_1 | Loading the neural network from res/locales/de/training.json
olivia_1 | Loading the neural network from res/locales/fr/training.json
olivia_1 | Loading the neural network from res/locales/es/training.json
olivia_1 | Loading the neural network from res/locales/ca/training.json
olivia_1 | Loading the neural network from res/locales/it/training.json
olivia_1 | Loading the neural network from res/locales/tr/training.json
olivia_1 | Loading the neural network from res/locales/nl/training.json
olivia_1 |
olivia_1 | Server listening on the port 8080...
server/serve.go
relies on an unexported global variable called neuralNetworks
which is set when running server.Serve
however it exposes public functions like Reply
and Train
.
The inability to set neuralNetworks
unless calling server.Serve
negates the purpose of having public accessible functions like Reply
and Train
as these can't be used, unless you call server.Serve
.
neuralNetworks
should either be a publicly settable and gettable variable, or all public functions like Reply
and Train
should not be public, as they wont work unless you call server.Serve
.
This means that its not possible to use the olivia server in third-party packages or repositories, even though it is written in such a way that it can be used by third party packages or repositories.
Create some routes to add new intents to Olivia and new simple modules with a REST API
Intents:
Add tests files for inexistent ones.
Add a range to the random number module
Give me a random number between 1 and 30
Opened for contributors.
First specify on which part this is related in the title with:
core/language/modules...: title
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.