Skip to content

Maintenance: Mark the Azure AI provider as legacy and point to Custom - #1359

Merged
ralf401 merged 1 commit into
pre-releasefrom
rsc/maintenance/ai-azure-legacy-provider
Nov 10, 2026
Merged

ralf401 merged 1 commit into
pre-releasefrom
rsc/maintenance/ai-azure-legacy-provider

Conversation

@ralf401

@ralf401 ralf401 commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

The provider dialog offers Azure AI under the label "Azure AI (legacy deployment-based endpoints)" and only accepts deployment URLs. That provider cannot do semantic search, while the Custom (OpenAI compatible) provider can, so the type list now carries the new label and sends Azure admins to Custom with their resource's v1 endpoint.

Claim -> source anchors:

  • Label "Azure AI (legacy deployment-based endpoints)": app/assets/javascripts/app/lib/app_post/ai_provider/azure_ai.coffee:3
  • No model fields and no model listing, the deployment URL names the model: azure_ai.coffee:9-11 (model_fields: [], supports_model_listing: false)
  • No semantic search: lib/ai/provider/azure.rb:78-79 raises NotImplementedError from #embeddings, the base class returns false from #supports_embeddings? (lib/ai/provider.rb:172) and the "Use for semantic search" action is gated on it (_ai/provider_connections.coffee:90)
  • Custom appends /chat/completions and /embeddings to the configured URL (lib/ai/provider/custom_open_ai.rb:39, :73), so the documented URL takes no trailing slash
  • Azure v1 API: base URL https://.openai.azure.com/openai/v1, no api-version, model is the deployment name, API key accepted in the authorization header (Microsoft Learn: Azure OpenAI v1 API, and the Foundry REST reference for POST {endpoint}/openai/v1/embeddings)
  • Type list order matches the providers' prio values (zammad_ai 1000 ... custom 7000)

@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Artifacts

Produced during runtime

📦 html-c459f7a

The provider dialog offers Azure AI under the label "Azure AI (legacy
deployment-based endpoints)" and only accepts deployment URLs. That provider
cannot do semantic search, while the Custom (OpenAI Compatible) provider can,
so the type list now carries the new label and sends Azure admins to Custom
with their resource's v1 endpoint, including the embedding deployment they
need for semantic search. The Custom entry in the type list now spells the
provider name like its dialog label.

Claim -> source anchors:
- Label "Azure AI (legacy deployment-based endpoints)":
  app/assets/javascripts/app/lib/app_post/ai_provider/azure_ai.coffee:3
- Type list entry "Custom (OpenAI Compatible)" matches that provider's label:
  ai_provider/custom.coffee:3
- No model fields and no model listing, the deployment URL names the model:
  azure_ai.coffee:9-11 (model_fields: [], supports_model_listing: false)
- No semantic search: lib/ai/provider/azure.rb:78-79 raises
  NotImplementedError from #embeddings, the base class returns false from
  #supports_embeddings? (lib/ai/provider.rb:172) and the "Use for semantic
  search" action is gated on it
  (_ai/provider_connections.coffee:90)
- Custom appends /chat/completions and /embeddings to the configured URL
  (lib/ai/provider/custom_open_ai.rb:39, :73), so the documented URL takes no
  trailing slash. Its embeddings call sends model: embedding_model!
  (custom_open_ai.rb:76), which is why the Embedding Model field is the
  remaining step for semantic search.
- Azure v1 API: base URL https://<resource>.openai.azure.com/openai/v1, no
  api-version, model is the deployment name, API key accepted in the
  authorization header (Microsoft Learn: Azure OpenAI v1 API, and the Foundry
  REST reference for POST {endpoint}/openai/v1/embeddings)
- Type list order matches the providers' prio values (zammad_ai 1000 ...
  custom 7000)

The legacy label has shipped since 7.0.2 (cherry-picked to stable-7.0), so
this is a maintenance fix for the current docs as well, not a 7.3 feature.
@ralf401
ralf401 force-pushed the rsc/maintenance/ai-azure-legacy-provider branch from 862ea6e to 50f15b6 Compare November 10, 2026 13:49
@ralf401 ralf401 changed the title Draft: Maintenance: Mark the Azure AI provider as legacy and point to Custom Maintenance: Mark the Azure AI provider as legacy and point to Custom Nov 10, 2026
@ralf401
ralf401 merged commit 780e9ff into pre-release Nov 10, 2026
1 check passed
@ralf401
ralf401 deleted the rsc/maintenance/ai-azure-legacy-provider branch November 10, 2026 13:53
ralf401 added a commit that referenced this pull request Nov 10, 2026
Backport of the same change made for pre-release (50f15b6, PR #1359). The
label has shipped since 7.0.2 (introduced on develop by 281f39ead8,
cherry-picked to stable-7.0 as aa2a818162), so the current docs describe a UI
that no longer exists: the provider dialog has been offering "Azure AI
(legacy deployment-based endpoints)" for the whole 7.0/7.1/7.2 line.

The blob of the touched page is identical on main, on pre-release and on the
commit the change was written against (db7cbd6), so the port is the same
edit with no drift:

- Type list entry "Azure AI" -> "Azure AI (legacy deployment-based
  endpoints)", and "Custom (OpenAI compatible)" -> "Custom (OpenAI
  Compatible)" to match the dialog label
- New paragraph sending Azure admins to Custom with their resource's v1
  endpoint, plus the embedding deployment needed for semantic search

Claim -> source anchors (zammad, unchanged between 7.2.2 and develop):

- ai_provider/azure_ai.coffee:3 (label), :9-11 (model_fields: [],
  supports_model_listing: false)
- ai_provider/custom.coffee:3 (label), :8 (supports_embeddings: true)
- lib/ai/provider/azure.rb:78-79 (embeddings raises NotImplementedError),
  lib/ai/provider.rb:169 in 7.2.x (#supports_embeddings? -> false)
- lib/ai/provider/custom_open_ai.rb:39, :73 (appends /chat/completions and
  /embeddings), :76 (embeddings send model: embedding_model!)

The catalog was regenerated on main rather than carried over: its only
changes are the strings on this page plus line-number churn.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant