Skip to content
forked from labsai/EDDI

Scalable Open Source Chatbot Platform. Build multiple Chatbots with NLP, Behavior Rules, API Connector, Templating. Developed in Java, provided with Docker, orchestrated with Kubernetes or Openshift.

Notifications You must be signed in to change notification settings

curtisalleynesr/EDDI-2

 
 

Repository files navigation

E.D.D.I

Scalable Open Source Chatbot Platform. Build multiple conversational bots with NLP, Behavior Rules, API Connector, Templating. Developed in Java (with Quarkus), provided with Docker, orchestrated with Kubernetes or Openshift.

Latest stable version: 5.0.4

License: Apache License 2.0

Project website: here

Documentation: here

Codacy Badge CircleCI

Intro

The Chatbot System - E.D.D.I (Enhanced Dialog Driven Intelligence), has been developed with the focus on running it in cloud environments such as plain docker, kubernetes or openshift

The most outstanding features are:

  • Flexible in NLP and Behavior
  • Fluently connect to REST APIs
  • Powerful Templating
  • Reuse Conversation Flows in multiple bots

technical spec:

  • Resource- / REST-oriented architecture
  • Java Quarkus
  • JAX-RS
  • Dependency Injection
  • Prometheus integration (Metrics endpoint)
  • Kubernetes integration (Liveness/Readiness endpoint)
  • MongoDB for storing bot configurations and conversation memories
  • OAuth 2.0 (Keycloak)
  • HTML, CSS, Javascript (Dashboard & Basic Chat UI)

Prerequirements

  • Java 17
  • Maven 3.8.4
  • MongoDB > 4.0

How to run the project

  1. Setup a local mongodb (> v4.0)
  2. On a terminal, under project root folder, run the following command:
./mvnw compile quarkus:dev
  1. Go to Browser --> http://localhost:7070

Note: If running locally inside an IDE you need lombok to be enabled (otherwise you will get compile errors complaining about missing constructors). Either download as plugin (e.g. inside Intellij) or follow instructions here [https://projectlombok.org/](https://projectlombok.org/

Build App & Docker image

./mvnw clean package '-Dquarkus.container-image.build=true'

Download from Docker hub registry

docker pull labsai/eddi

https://hub.docker.com/r/labsai/eddi

Run Docker image

For production, launch standalone mongodb and then start an eddi instance as defined in the docker-compose file

docker-compose up

For development, use

docker-compose -f docker-compose.yml -f docker-compose.local.yml up

For integration testing run

./integration-tests.sh

or

docker-compose -f docker-compose.yml -f docker-compose.local.yml -f docker-compose.testing.yml -p ci up -d

prometheus/metrics integration

<eddi-instance>/q/metrics

kubernetes integration

Liveness endpoint:

<eddi-instance>/q/health/live

Readiness endpoint:

<eddi-instance>/q/health/ready

About

Scalable Open Source Chatbot Platform. Build multiple Chatbots with NLP, Behavior Rules, API Connector, Templating. Developed in Java, provided with Docker, orchestrated with Kubernetes or Openshift.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 94.4%
  • JavaScript 3.2%
  • CSS 1.4%
  • Other 1.0%