Skip to content
epamPublic

About

Documentation for AI DIAL

Topics

Resources

Contributing

Security policy

Stars

146 stars

Watchers

18 watching

Forks

Latest commit

 

History

519 Commits

Folders and files

Repository files navigation

DIAL Documentation

DIALX

Official website: dialx.ai DIALX Community on Discord

Repositories · Contributing

About DIAL

DIAL (Deterministic Integrator of Applications and Language Models) is an open-source, enterprise-grade AI platform by EPAM. Its only required component, DIAL Core, exposes a single OpenAI-compatible Unified API to language and embedding models from any vendor and to the applications and agents built on top of them. Access control, cost limits, and observability are managed in one place. Add DIAL Chat for end users, DIAL Admin for administrators, and model adapters to connect providers.

This repository is the source of the DIAL documentation published at docs.dialx.ai. It also holds ready-to-run examples:

  • docs/ — documentation pages, built with Docusaurus
  • docs/releases/ — release notes and upgrade guides for each DIAL release
  • dial-docker-compose/ — minimal Docker Compose setups used by the quick-start tutorials
  • dial-docker-compose-advanced/ — production-like stacks with Keycloak, DIAL Admin, and several model adapters
  • dial-cookbook/ — Jupyter notebooks that call models and applications through the Unified API
  • dial-samples/ — sample UIs for DIAL applications
  • dial-sdk/ — the DIAL SDK, included as a Git submodule

Quick start

Launch DIAL Chat with a sample Echo application (requires Docker Compose 2.20.0 or later):

git clone https://github.com/epam/ai-dial.git
cd ai-dial/dial-docker-compose/application
docker compose up

Open http://localhost:3000, select Echo in the Marketplace, and send a message. The application replies with your prompt. To connect a real model, follow the local run tutorials.

Documentation

Start with the page that matches your goal:

Goal Start here
Understand how DIAL works Architecture · DIAL Core · Supported models · DIAL-native applications · Access control
Run DIAL on your machine Echo application · Azure OpenAI model · Ollama · vLLM · Full stack with Keycloak and DIAL Admin
Call models and applications from code Unified API reference · Python client · TypeScript SDK · Cookbook notebooks · Agentic tools
Build applications, adapters, and interceptors DIAL SDK · Interceptors SDK · Enable applications · Interceptors · Quick App configuration · DIAL-to-DIAL adapter
Deploy DIAL to Kubernetes Deployment overview · Helm charts and examples · AWS · Azure · GCP · Custom Apps · Quick Apps 2.0
Connect model providers OpenAI · AWS Bedrock · Google Vertex AI · Databricks
Configure and secure DIAL Configuration guide · API keys · End-user access (JWT) · Identity providers
Monitor and upgrade DIAL Observability · Realtime analytics · Release notes and upgrade guides
Administer DIAL DIAL Admin overview · DIAL Admin guide · DIAL Admin Helm chart
Use DIAL Chat Chat user guide · Mind Map Studio user guide
Connect DIAL to other tools Microsoft Copilot · Excel add-in · n8n · Microsoft Teams bot

Repositories

DIAL is developed in separate repositories in the EPAM GitHub organization, grouped below by role. Each repository's README explains how to build, run, and configure that component. For a visual map, see DIAL open source.

DIAL Core

Repository Description
DIAL Core The central and only required component. An API gateway that exposes the Unified API to models, applications, and toolsets, and enforces authentication, access control, and rate limits

Model adapters

Adapters translate the Unified API into the API of each model provider.

Repository Description
DIAL OpenAI Adapter Models from Azure OpenAI and OpenAI Platform
DIAL Bedrock Adapter Language and embedding models from AWS Bedrock
DIAL Vertex AI Adapter Language and embedding models from Google Vertex AI
DIAL Anthropic Adapter Python package that serves Claude models through the Unified API; used by the OpenAI, Bedrock, and Vertex AI adapters
DIAL-to-DIAL Adapter Forwards requests from one DIAL Core to another, for example to develop locally against a remote DIAL

DIAL Chat

Repository Description
DIAL Chat The default web UI: chat with models and applications, and manage conversations, prompts, and files
DIAL Chat Themes Images, fonts, and color palettes that restyle DIAL Chat without rebuilding its image
DIAL Chat Overlay Library that embeds DIAL Chat in any web page; part of the DIAL Chat repository

DIAL Admin

DIAL Admin is the web console for managing DIAL configuration, access, and deployments.

Repository Description
DIAL Admin Frontend Web UI of DIAL Admin
DIAL Admin Backend DIAL Admin API. Stores configuration in a database and generates DIAL Core config files
DIAL Deployment Manager Backend Builds and deploys MCP servers, interceptors, and other images to Kubernetes from DIAL Admin
DIAL Deployment Manager MCP Proxy Proxy images that let the Deployment Manager run stdio-based MCP servers
DIAL Evaluation Framework Backend Manages evaluation test suites, runs, and results for models and applications
DIAL Evaluation Metrics Calculates metrics that compare model output with ground-truth data for the Evaluation Framework

Deployment and operations

Repository Description
DIAL Helm Helm charts to deploy DIAL to Kubernetes, with examples for AWS, Azure, and GCP. Stable DIAL releases are published here
DIAL Analytics Realtime Reads DIAL Core logs, analyzes conversations, and writes usage metrics to InfluxDB
DIAL Log Parser Converts DIAL Core logs into Parquet datasets organized by deployment and date
DIAL Keycloak Helpers Keycloak extensions that add user attributes from external identity providers, such as job title from Microsoft Graph, to token claims

SDKs and client libraries

Repository Description
DIAL SDK Python framework for building DIAL applications and model adapters
DIAL Python Client Python client for the Unified API: chat completions, files, and applications
DIAL TypeScript SDK TypeScript client for DIAL Core: models, files, conversations, prompts, and applications
DIAL RAG Eval Python library that calculates retrieval and generation metrics for RAG pipelines

Interceptors

Interceptors run custom logic on requests and responses, for example to mask personal data or apply guardrails.

Repository Description
DIAL Interceptors SDK Python framework for building interceptors for chat completion and embedding models
Google Model Armor Interceptor Detects, de-identifies, and re-identifies personal data with Google Cloud

Applications and MCP servers

Repository Description
DIAL RAG Answers questions about documents users attach (PDF, DOCX, PPTX, TXT, and more) using several retrieval methods
Generic RAG Backend Application runner that answers questions from a pre-indexed document collection, with a configurable pipeline
Generic RAG Frontend Web UI for Generic RAG
Deep Research Backend Agent that clarifies a question, agrees on a research plan, and researches it with Generic RAG tools
Quick Apps Backend Quick Apps 2.0: build applications by combining DIAL tools, REST APIs, and MCP servers, with an LLM as the orchestrator
Quick Apps Frontend Quick Apps settings editor, embedded in DIAL Chat
Mind Map Studio Backend Builds interactive knowledge graphs from documents, URLs, and other sources
Mind Map Studio Frontend Web UI of Mind Map Studio
Code Interpreter Runs Python code in a Jupyter kernel
Bing Grounding Adds web search through Azure AI Agent with Grounding with Bing Search, for Azure-restricted environments
DIAL Memory Long-term memory for agents, exposed as MCP tools and stored in the user's DIAL storage
OpenAPI to MCP Turns an OpenAPI 3.x document into MCP tools

Code Apps runtime

Services that build and host the Python applications users create as Code Apps.

Repository Description
App Controller Builds Python applications from DIAL storage into container images and deploys them to Kubernetes as Knative services
App Builder Python Downloads application source code from DIAL storage and prepares it for the image build

UI component libraries

Repository Description
DIAL UI Kit React components for building DIAL interfaces
DIAL React File Manager React file manager for DIAL applications, built on the DIAL UI Kit
DIAL React PDF Highlighter React PDF viewer with highlights, built on PDF Highlighter Kit

CI and engineering tooling

Repository Description
DIAL CI Reusable GitHub Actions workflows for DIAL repositories
DIAL ORT Config OSS Review Toolkit configuration for DIAL repositories
DIAL Perf Gatling performance tests for DIAL Admin

Deprecated and legacy

These projects are archived or approaching end of life. They stay available for reference.

Repository Description
DIAL Chat 0.x Previous version of DIAL Chat, including the legacy Overlay and Visualizer Connector libraries. Receives fixes until the end of 2026
DIAL Auth Helper Archived. Replaced by DIAL Keycloak Helpers
DIAL Assistant Archived. Assistant based on the ChatGPT plugin protocol
DIAL LangChain Integration Archived. Helpers for passing DIAL-specific fields through LangChain

Contributing

  • Read CONTRIBUTING.md for the contribution process, release cadence, and coding principles.

  • To fix or add documentation, edit the files in docs/ and preview the site locally. You need Node.js 22 or later and Quarto, which renders the cookbook notebooks:

    npm install
    npm start
  • Report vulnerabilities as described in SECURITY.md.

  • Ask questions on Discord.

License

This project is licensed under the Apache License 2.0.

About

Documentation for AI DIAL

Topics

Resources

Contributing

Security policy

Stars

146 stars

Watchers

18 watching

Forks

Used by

Contributors

Languages