Skip to content

Search summaries, block-revision assist and workflow runners always use the classic GPT endpoint, which V2 cannot configure #1427

Description

@paullizer

Summary

Four subsystems read the classic single-endpoint GPT configuration unconditionally, with no multi-endpoint branch. They therefore always use azure_openai_gpt_* / enable_gpt_apim / azure_apim_gpt_*, regardless of whether enable_multi_model_endpoints is on.

Because the V2 admin surface deliberately does not carry the classic chat form, these four subsystems cannot be configured from V2 at all.

Which consumers have a connections branch, and which do not

Counting references on paullizer-react-v2-ui:

File enable_gpt_apim enable_multi_model_endpoints
functions_search_service.py 1 0 no connections branch
functions_block_revision_assist.py 1 0 no connections branch
functions_workflow_runner.py 1 0 no connections branch
functions_personal_workflows.py 1 0 no connections branch
route_backend_chats.py 8 5 resolves connections first
functions_documents.py 5 1 resolves connections first
route_backend_agents.py 4 4 resolves connections first
route_backend_conversation_export.py 3 1 resolves connections first

_create_summary_client in functions_search_service.py is representative — it builds its client straight from the classic settings with no connections lookup anywhere in the function.

Why this matters

The AI Models rebuild (#1415, #1419, #1426) made V2's AI Models group look complete: connections, chat, embeddings and image generation all have real controls. But an administrator working only in V2 has no way to configure the endpoint that search summarisation, block-revision assist, the workflow runner and personal workflows actually use.

Worse, the failure is quiet. Those subsystems do not fall back to connections — they simply use whatever the classic config holds, which on a deployment that has only ever been configured through V2 may be empty or stale. Nothing in V2 indicates this.

This was partly obscured by wording: it is natural to describe enable_gpt_apim as "routes chat through API Management". It does considerably more than that, and the flag's blast radius is wider than the Chat section that now hosts its toggle.

Suggested directions

Two coherent options, plus a stopgap:

  1. Give these four call sites a connections branch, so they resolve a model the same way chat, documents, agents and export already do. This is the direction that lets V1 be retired.
  2. Bring the classic single-endpoint chat form into V2 so at least the configuration is reachable, accepting the duplication.
  3. Stopgap: state it in the docs and in the Chat section's notice — that APIM and the classic endpoint apply to more than chat, and that these subsystems always use them. Rebuild admin AI Models: Chat section (phase 2) #1419 has already added a sentence to docs/admin/ai-models.md along these lines.

Option 1 is the real fix. Until one of these happens, V1 cannot be retired, because there is configuration that exists only there.

Provenance

Found during the three-phase AI Models rebuild. The #1419 session traced enable_gpt_apim's consumers before writing its help text and correctly declined the narrower "routes chat through API Management" wording; that trace is what surfaced this. Verified independently against origin/paullizer-react-v2-ui.

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions