DIAL Model Provider
DIAL Model Provider runs the DIAL model adapters in one service. The OpenAI, Vertex AI, Bedrock, and DIAL-to-DIAL adapters share one image and one process, each under its own path prefix. It replaces the standalone OpenAI, Bedrock, and Vertex AI adapters, which will be deprecated. This page is for platform engineers who connect models to DIAL Core; it assumes you know how Core routes a model.
Note
DIAL Model Provider is in active development and testing. The first release,
0.1.0-rc.0, is a pre-release. This page is checked against it.
Served paths
| Path prefix | Adapter | Models |
|---|---|---|
/compat/openai/… | OpenAI | Azure OpenAI, the OpenAI Platform, and any OpenAI-compatible upstream. See Supported upstreams. |
/compat/vertexai/… | Vertex AI | Google Cloud Vertex AI. See Supported models. |
/compat/bedrock/… | Bedrock | Amazon Bedrock. See Supported models. |
/compat/dial/… | DIAL-to-DIAL | Another DIAL Core instance. See DIAL-to-DIAL adapter. |
/health | The process | Liveness of the whole container. |
The adapter sources are vendored from the adapter repositories, so the models, settings, and DIAL APIs each one serves are those documented on its adapter pages. The repository README calls them unchanged; the one difference found in the code is the Bedrock region variable, described in Region variables.
Compatibility mode
One process serves every adapter, so a segment of the URL names the adapter: /compat/<adapter>/…. The rest of the path is the adapter's own DIAL API, unchanged; only the prefix is new.
| Adapter | Example path under DIAL Model Provider |
|---|---|
| OpenAI | /compat/openai/openai/deployments/<id>/chat/completions, /compat/openai/openai/v1/responses, /compat/openai/anthropic/v1/messages |
| Bedrock | /compat/bedrock/openai/deployments/<id>/chat/completions, /compat/bedrock/anthropic/v1/messages, /compat/bedrock/openaiChatCompletions/anthropic/v1/messages |
| Vertex AI | /compat/vertexai/openai/deployments/<id>/chat/completions, /compat/vertexai/anthropic/v1/messages |
| DIAL-to-DIAL | /compat/dial/openai/deployments/<id>/chat/completions |
The prefix names the adapter, not the cloud. OpenAI models hosted on Amazon Bedrock are served by /compat/openai, and Claude is reachable through both /compat/vertexai and /compat/bedrock.
How it fits together
- Core routes to a prefix. Each model in DIAL Core declares
baseUrlhttp://<MODEL_PROVIDER_HOST>:5000/compat/<adapter>and theinterfacesit serves. Core appends the path it received. - The adapter calls the provider. It reads the upstream from the
X-UPSTREAM-ENDPOINTandX-UPSTREAM-KEYheaders Core sends, as it does when it runs standalone. See Load balancing and upstreams. - One environment. Every adapter reads its settings from the process environment, which all adapters share. See Configuration.
Dependencies
| Dependency | Purpose |
|---|---|
| DIAL Core | Calls the service and passes each request's upstream. |
| DIAL Core file storage | With DIAL_URL set, the adapters read attachments and upload generated files through Core. |
| Provider credentials | AWS, Google Cloud, or Azure identities, or API keys in the upstreams. See each adapter's configuration page. |
Deployment
DIAL Model Provider ships as the epam/ai-dial-model-provider image, for linux/amd64 and linux/arm64.
- Port. The server listens on
0.0.0.0:5000. - Health.
GET /healthanswers{"status": "ok"}. The image's health check calls it every 10 seconds, and access logs skip it. - User. The container runs as the non-root user
appuser, UID1001.
The service in Docker Compose:
model-provider:
image: epam/ai-dial-model-provider:0.1.0-rc.0
environment:
DIAL_URL: http://core:8080
LOG_LEVEL: INFO
The dial Helm chart 8.1.0 deploys the standalone adapters, not DIAL Model Provider. To run it on Kubernetes, deploy the image with the DIAL Extension chart. To move an existing configuration, see Migrate from the standalone adapters.
Further reading
- DIAL Model Provider configuration — the shared environment and the process settings
- Migrate from the standalone adapters — point DIAL Core models at DIAL Model Provider with
interfaces - DIAL Core configuration: Models —
baseUrl,interfaces, andoverrideName - Load balancing and upstreams — the provider endpoints Core passes to the adapter
- What are adapters — what an adapter does and how it differs from an application