Prompt & Conversation Management Middleware for Conversational AI APIs such as ChatGPT. Lean, restful, scalable, and cloud-native. Developed in Java, powered by Quarkus, provided with Docker, and orchestrated with Kubernetes or Openshift.
E.D.D.I (Enhanced Dialog Driven Interface) is an enterprise-certified chatbot middleware that offers advanced prompt and conversation management for Conversational AI APIs, such as ChatGPT. Developed in Java using Quarkus, it is lean, RESTful, scalable, and cloud-native. It comes with Docker support and can be orchestrated with Kubernetes or Openshift.
Latest stable version: 5.2.1
License: Apache License 2.0
Project website: here
Documentation: here
E.D.D.I is a highly scalable, enterprise-certified, cloud-native middleware for managing conversations in AI-driven applications. It is designed to run efficiently in cloud environments such as Docker, Kubernetes, and Openshift. E.D.D.I offers seamless API integration capabilities, allowing easy connection with various conversational services or traditional REST APIs. It supports the integration of multiple chatbots, even multiple versions of the same bot, for smooth upgrading and transitions.
Notable features include:
Technical specifications:
./mvnw compile quarkus:dev
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/
./mvnw clean package '-Dquarkus.container-image.build=true'
docker pull labsai/eddi
https://hub.docker.com/r/labsai/eddi
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
<eddi-instance>/q/metrics
Liveness endpoint:
<eddi-instance>/q/health/live
Readiness endpoint:
<eddi-instance>/q/health/ready