Skip to main content

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 prefixAdapterModels
/compat/openai/…OpenAIAzure OpenAI, the OpenAI Platform, and any OpenAI-compatible upstream. See Supported upstreams.
/compat/vertexai/…Vertex AIGoogle Cloud Vertex AI. See Supported models.
/compat/bedrock/…BedrockAmazon Bedrock. See Supported models.
/compat/dial/…DIAL-to-DIALAnother DIAL Core instance. See DIAL-to-DIAL adapter.
/healthThe processLiveness 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.

AdapterExample 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​

  1. Core routes to a prefix. Each model in DIAL Core declares baseUrl http://<MODEL_PROVIDER_HOST>:5000/compat/<adapter> and the interfaces it serves. Core appends the path it received.
  2. The adapter calls the provider. It reads the upstream from the X-UPSTREAM-ENDPOINT and X-UPSTREAM-KEY headers Core sends, as it does when it runs standalone. See Load balancing and upstreams.
  3. One environment. Every adapter reads its settings from the process environment, which all adapters share. See Configuration.

Dependencies​

DependencyPurpose
DIAL CoreCalls the service and passes each request's upstream.
DIAL Core file storageWith DIAL_URL set, the adapters read attachments and upload generated files through Core.
Provider credentialsAWS, 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 /health answers {"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, UID 1001.

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​