EDDI  by labsai

Middleware for managing conversations with LLM APIs

created 8 years ago
278 stars

Top 94.3% on sourcepulse

GitHubView on GitHub
Project Summary

E.D.D.I. (Enhanced Dialog Driven Interface) is a Java-based middleware designed for managing prompts and conversations across various conversational AI APIs like OpenAI, Hugging Face, Anthropic, and Google Gemini. It targets developers building scalable, cloud-native AI applications, offering a lean, RESTful approach to orchestrate LLM interactions.

How It Works

Built with Quarkus, E.D.D.I. leverages a resource-oriented architecture for efficiency and scalability. It integrates with multiple LLM providers via langchain4j and supports running multiple chatbot versions concurrently. Runtime configurations allow for flexible integration with both conversational and traditional REST APIs, managed through configurable behavior rules. MongoDB stores configurations and logs, while OAuth 2.0 (Keycloak) handles authentication.

Quick Start & Requirements

  • Install/Run: ./mvnw compile quarkus:dev for local development; docker pull labsai/eddi and docker-compose up for containerized deployment.
  • Prerequisites: Java 21, Maven 3.8.4, MongoDB >= 5.0. Lombok plugin recommended for IDE development.
  • Resources: Local setup involves running MongoDB and the Quarkus application. Docker images are available.
  • Docs: Documentation, Project Website

Highlighted Details

  • Supports major AI APIs including OpenAI, Hugging Face, Claude, Gemini, Ollama, and Jlama.
  • Integrates Prometheus for metrics and provides Kubernetes liveness/readiness endpoints.
  • Features OAuth 2.0 (Keycloak) for authentication and user management.
  • Includes a basic React-based chat UI and an HTML/CSS/JS dashboard.

Maintenance & Community

The project is developed by labsai. The latest stable version is 5.5.0. Community links are not explicitly provided in the README.

Licensing & Compatibility

Licensed under the Apache License 2.0. This license is permissive and generally compatible with commercial and closed-source applications.

Limitations & Caveats

The README mentions Hugging Face support is text-only. Enabling Lombok is required for local development within an IDE to avoid compile errors.

Health Check
Last commit

3 weeks ago

Responsiveness

1 day

Pull Requests (30d)
1
Issues (30d)
0
Star History
8 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.