{"id":13641514,"url":"https://github.com/labsai/eddi","last_synced_at":"2025-05-16T04:04:25.442Z","repository":{"id":11919816,"uuid":"70809374","full_name":"labsai/EDDI","owner":"labsai","description":"Prompt \u0026 Conversation Management Middleware for Conversational AI APIs such as OpenAI ChatGPT, Facebook Hugging Face, Anthropic Claude, Google Gemini, Ollama and Jlama. Lean, restful, scalable, and cloud-native. Developed in Java, powered by Quarkus, provided with Docker, and orchestrated with Kubernetes or Openshift.","archived":false,"fork":false,"pushed_at":"2025-04-07T22:08:52.000Z","size":99065,"stargazers_count":268,"open_issues_count":3,"forks_count":96,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-04-08T14:09:27.800Z","etag":null,"topics":["ai","bot","bot-api","bot-framework","bots","chatbot","conversation-memory","conversational-ai","conversational-bots","conversational-interface","conversational-ui","dialog","java","mongodb","prompt-management","prompts","quarkus","restful","restful-api","restful-webservices"],"latest_commit_sha":null,"homepage":"https://eddi.labs.ai","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/labsai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"licenses/apache 2.0 - license-2.0.html","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-13T13:29:22.000Z","updated_at":"2025-04-07T22:08:56.000Z","dependencies_parsed_at":"2024-02-28T23:33:38.210Z","dependency_job_id":"14ab9124-5b0f-4e1f-bebd-ff126b956c7e","html_url":"https://github.com/labsai/EDDI","commit_stats":{"total_commits":1502,"total_committers":20,"mean_commits":75.1,"dds":"0.21837549933422107","last_synced_commit":"ee4088470372bf7ed501dd863070a251b6ee0087"},"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labsai%2FEDDI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labsai%2FEDDI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labsai%2FEDDI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labsai%2FEDDI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/labsai","download_url":"https://codeload.github.com/labsai/EDDI/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254464891,"owners_count":22075570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","bot","bot-api","bot-framework","bots","chatbot","conversation-memory","conversational-ai","conversational-bots","conversational-interface","conversational-ui","dialog","java","mongodb","prompt-management","prompts","quarkus","restful","restful-api","restful-webservices"],"created_at":"2024-08-02T01:01:21.403Z","updated_at":"2025-05-16T04:04:20.429Z","avatar_url":"https://github.com/labsai.png","language":"Java","readme":"![EDDI Banner Image](/screenshots/EDDI-landing-page-image.png)\n\n# E.D.D.I: Prompt \u0026 Conversation Management Middleware for Conversational AI APIs\n\nE.D.D.I (Enhanced Dialog Driven Interface) is a middleware to connect and manage LLM API bots \nwith advanced prompt and conversation management for APIs such as OpenAI ChatGPT, Facebook Hugging Face, \nAnthropic Claude, Google Gemini, Ollama and Jlama\n\nDeveloped in Java using Quarkus, it is lean, RESTful, scalable, and cloud-native. \nIt comes as Docker container and can be orchestrated with Kubernetes or Openshift.\nThe Docker image has been certified by IBM/Red Hat.\n\nLatest stable version: 5.5.0\n\nLicense: Apache License 2.0\n\nProject website: [here](https://eddi.labs.ai/)\n\nDocumentation: [here](https://docs.labs.ai/)\n\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/2c5d183d4bd24dbaa77427cfbf5d4074)](https://app.codacy.com/organizations/gh/labsai/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=labsai/EDDI\u0026amp;utm_campaign=Badge_Grade) [![CircleCI](https://circleci.com/gh/labsai/EDDI/tree/main.svg?style=svg)](https://circleci.com/gh/labsai/EDDI/tree/main)\n\nEDDI Dashboard:\n![EDDI Screenshot Dashboard](/screenshots/EDDI-Screenshot-Dashboard-Interface.png)\n\nEDDI Chat:\n![EDDI Screenshot Chat](/screenshots/EDDI-Screenshot-Chat-Interface.png)\n\nEDDI Manager:\n![EDDI Screenshot Manager](/screenshots/EDDI-Screenshot-Manager-Interface.png)\n\n## Overview\n\nE.D.D.I is a high performance middleware for managing conversations in AI-driven applications. \nIt is designed to run efficiently in cloud environments such as Docker, Kubernetes, and Openshift. \nE.D.D.I offers seamless API integration capabilities, allowing easy connection with various conversational services or \ntraditional REST APIs with runtime configurations. \nIt supports the integration of multiple chatbots, even multiple versions of the same bot, for smooth upgrading and transitions.\n\nNotable features include:\n\n* Seamless integration with conversational or traditional REST APIs\n* Configurable Behavior rules to orchestrate LLM involvement\n* Support for multiple chatbots, including multiple versions of the same bot, running concurrently\n* Support for Major AI API integrations via langchain4j: OpenAI, Hugging Face (text only), Claude, Gemini, Ollama, Jlama (and more to come)\n\nTechnical specifications:\n\n* Resource-/REST-oriented architecture\n* Java Quarkus framework\n* JAX-RS\n* Dependency Injection\n* Prometheus integration (Metrics endpoint)\n* Kubernetes integration (Liveness/Readiness endpoint)\n* MongoDB for storing bot configurations and conversation logs\n* OAuth 2.0 (Keycloak) for authentication and user management\n* HTML, CSS, Javascript (Dashboard)\n* React (Basic Chat UI)\n\n## Prerequisites\n\n* Java 21\n* Maven 3.8.4\n* MongoDB \u003e= 5.0\n\n## How to run the project\n\n1. Setup a local mongodb \\(\u0026gt; v5.0\\)\n2. On a terminal, under project root folder, run the following command:\n\n```shell script\n./mvnw compile quarkus:dev\n```\n\n3. Go to Browser --\u0026gt; [http://localhost:7070](http://localhost:7070)\n\nNote: If running locally inside an IDE you need _lombok_ to be enabled \\(otherwise you will get compile errors\ncomplaining about missing constructors\\). Either download as plugin \\(e.g. inside Intellij\\) or follow instructions\nhere [https://projectlombok.org/](https://projectlombok.org/\n\n## Build App \u0026 Docker image\n\n```bash\n./mvnw clean package '-Dquarkus.container-image.build=true'\n```\n\n## Download from Docker hub registry\n\n```bash\ndocker pull labsai/eddi\n```\n\n[https://hub.docker.com/r/labsai/eddi](https://hub.docker.com/r/labsai/eddi)\n\n## Run Docker image\n\nFor production, launch standalone mongodb and then start an eddi instance as defined in the docker-compose file\n\n```bash\ndocker-compose up\n```\n\nFor development, use\n\n```bash\ndocker-compose -f docker-compose.yml -f docker-compose.local.yml up\n```\n\nFor integration testing run\n\n```bash\n./integration-tests.sh\n```\n\nor\n\n```bash\ndocker-compose -f docker-compose.yml -f docker-compose.local.yml -f docker-compose.testing.yml -p ci up -d\n```\n\n## prometheus/metrics integration\n\n\n```bash\n\u003ceddi-instance\u003e/q/metrics\n```\n\n## kubernetes integration\n\nLiveness endpoint:\n```bash\n\u003ceddi-instance\u003e/q/health/live\n```\n\nReadiness endpoint:\n```bash\n\u003ceddi-instance\u003e/q/health/ready\n```\n","funding_links":[],"categories":["Prompts","人工智能"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flabsai%2Feddi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flabsai%2Feddi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flabsai%2Feddi/lists"}