Skip to content

llmConfiguration issue for Azure OpenAI #32196

Description

@gitScottSaddler

Affected module

Search / Discovery

Describe the bug

The OpenMetadata configuration schema prevents the use of Azure OpenAI (or custom enterprise gateways) when both LLM Chat and Semantic Search Embeddings are enabled. The top-level llmConfiguration.openai block requires a single deploymentName, but Azure OpenAI exposes chat models (e.g., gpt-4o-mini) and embedding models (e.g., text-embedding-3-small) on completely separate, distinct deployment endpoints. Because the llmConfiguration.embeddings.openai sub-block lacks its own unique deploymentName variable, the system is forced to reuse the chat deployment name for embedding requests, causing all embedding generations to fail with an API routing error.

To Reproduce

  1. In Azure OpenAI Studio, deploy a chat model named om-chat-prod and an embedding model named om-embedding-prod.
  2. Configure the openmetadata.yaml file (or equivalent environment variables) with the following parameters:
    LLM_PROVIDER: openai
    LLM_OPENAI_DEPLOYMENT: om-chat-prod (Points to your chat deployment)
    EMBEDDING_PROVIDER: openai
    OPENAI_EMBEDDING_MODEL_ID: text-embedding-3-small
  3. Start the OpenMetadata server and trigger an operation that uses LLM chat or embedding. The connector won't be able to determine which deployment from Azure OpenAI to use

Expected behavior

The openmetadata.yaml file should provide an independent configuration mapping for the embedding deployment (e.g., llmConfiguration.embeddings.openai.deploymentName).When an embedding action is triggered, the OpenMetadata backend should route the API payload to the specific Azure OpenAI deployment endpoint dedicated to embeddings. This would allow the system to simultaneously generate conversational text completions via om-chat-prod and vector calculations via an embedding deployment without throwing errors.

OS

No response

Python version

No response

OpenMetadata version

2.0.0

OpenMetadata Ingestion package version

No response

Additional context

No response

Pre-submission checklist

  • I searched for duplicate issues.
  • I removed credentials, hostnames, emails, and other sensitive data from logs and config.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions