Repolode
epam

epam/ai-dial-core

Java-based HTTP proxy that gives a single unified API over multiple chat completion and embedding models, assistants and applications.

Stars
662
Forks
44
Open issues
157
Last commit
23 hours ago

What is it?

DIAL Core is the main server component of the AI DIAL platform. It sits between client applications and many model providers, exposing one REST API for chat completion, embedding models, assistants and applications so clients do not need to integrate each provider separately.

The server is written in Java 21 and built on Eclipse Vert.x. It is configured through static settings loaded at startup and dynamic config files that are reloaded at a set interval. Configuration covers identity providers for JWT verification, blob storage backends such as S3, Azure Blob, Google Cloud Storage and the filesystem, toolset OAuth security with optional KMS encryption, and analytics and OpenTelemetry tracing options.

The project can be built and run with Gradle, launched from an IDE, or deployed to Kubernetes through the umbrella dial or dial-core Helm charts. An OpenAPI 3.0 specification is generated from the source code.

Key features

  • 01Unified REST API across chat completion and embedding models, assistants and applications.
  • 02Built on Java 21 and Eclipse Vert.x.
  • 03Pluggable blob storage backends including S3, Azure Blob, Google Cloud Storage and filesystem.
  • 04JWT and user-info based identity provider configuration with role mapping.
  • 05OpenTelemetry GenAI tracing and configurable analytics logging.
  • 06Helm charts for Kubernetes deployment and a generated OpenAPI specification.

Use cases

  • Putting one API gateway in front of several LLM and embedding providers for internal applications.
  • Running a self-hosted AI platform on Kubernetes with authentication and role-based access.
  • Adding tracing and audit analytics to LLM traffic in an enterprise environment.

Quick start

  1. 1

    Set GPR_USERNAME and GPR_PASSWORD env vars for GitHub package access

  2. 2

    Build the project with Gradle and Java 21

    ./gradlew build
  3. 3

    Run the project with Gradle

    ./gradlew :server:run

Things to know

  • Building requires Java 21 and a GitHub personal access token with read:packages permission to fetch JClouds packages.
  • Configuration is needed through static and dynamic settings files before it is useful in practice.

In collections

Topics

FAQ

What is ai-dial-core?
Java-based HTTP proxy that gives a single unified API over multiple chat completion and embedding models, assistants and applications. DIAL Core is the main server component of the AI DIAL platform. It sits between client applications and many model providers, exposing one REST API for chat completion, embedding models, assistants and applications so clients do not need to integrate each provider separately.
Is ai-dial-core free to use? What license does it have?
ai-dial-core is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is ai-dial-core still maintained?
Actively maintained. The last commit to ai-dial-core was on Nov 6, 2026.
What can I use ai-dial-core for?
Putting one API gateway in front of several LLM and embedding providers for internal applications. Running a self-hosted AI platform on Kubernetes with authentication and role-based access. Adding tracing and audit analytics to LLM traffic in an enterprise environment.
How do I install ai-dial-core?
Set GPR_USERNAME and GPR_PASSWORD env vars for GitHub package access Build the project with Gradle and Java 21: ./gradlew build Run the project with Gradle: ./gradlew :server:run
Where can I get ai-dial-core?
The source code and installation instructions are on GitHub: https://github.com/epam/ai-dial-core

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects