Skip to content
Tracon

AzureOpenAIProviderNames

Namespace Tracon · Assembly Tracon.Azure.dll

The provider name registered by the UseAzureOpenAI call, and the ModelBinding.ProviderSettings keys.

public static class AzureOpenAIProviderNames
Inheritance
object ← AzureOpenAIProviderNames
Inherited Members
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

These names are stable. Agent definitions are stored in the database under these names; changing them breaks stored definitions.

The name is azure-openai, not azure: the package may later register another Azure model service, at which point the name azure would no longer say what it refers to.

The provider that uses the Azure OpenAI v1 Chat Completions endpoint: azure-openai.

public const string AzureOpenAI = "azure-openai"

string

The prefix for provider-specific settings: azure-openai.

public const string SettingsPrefix = "azure-openai"

string

The setting key that asks Azure OpenAI to enforce the response schema while the model generates: azure-openai.strictJsonSchema (boolean).

public const string StrictJsonSchemaSetting = "azure-openai.strictJsonSchema"

string

Defaults to off. With it on, the request carries strict: true on the response format of an agent whose ModelBinding.ResponseFormat is a JSON schema, and the service refuses to produce a reply that breaks the schema. It applies to the response format only; the agent’s tools stay non-strict.

Strict or not, the client rewrites the schema before it sends it: every object is closed, every property becomes required, and the bounds (maxLength, pattern, minimum and the like) move into the schema’s description text. Strict mode therefore enforces the schema that POST /api/agents/validate reports under responseSchemas, not the one the author wrote. A property that may stay empty has to allow null: "type": ["string", "null"].

Strict mode needs a deployment of a model that supports structured outputs; a deployment that does not can refuse the request.

The setting keys this provider supports: AzureOpenAIProviderNames.StrictJsonSchemaSetting.

public static IReadOnlyList<string> SupportedSettings { get; }

IReadOnlyList<string>

The Azure-only request fields (data sources, and the like) were written through the Azure SDK’s own request extensions, which threw MissingMethodException at run time against the OpenAI SDK version in use. The provider now talks to the resource’s v1 endpoint through the plain OpenAI client, which has no counterpart for them. Offering a setting that doesn’t work is worse than not offering it at all, so only a setting the plain client sends is a key here.

Any other key is rejected: ModelProviderSettings.Validate names it and lists these.