Skip to content

feat(agents): support GPT Live voice manifests - #10685

Open
JianW (v1212) wants to merge 1 commit into
Azure:mainfrom
v1212:users/wujia/gpt-live-voice-agent
Open

JianW (v1212) wants to merge 1 commit into
Azure:mainfrom
v1212:users/wujia/gpt-live-voice-agent

Conversation

@v1212

Copy link
Copy Markdown
Contributor

Summary

  • add manifest/YAML authoring for kind: voice agents using the native GPT Live subProtocol: live contract
  • support native audio, template greeting, structured inputs, RAI policy, storage, and client/Responses/managed-agent delegation without changing the existing init flow
  • report the dedicated /voice/live/sessions endpoint, add a canonical manifest and client guidance, and keep existing Realtime/Hosted Voice behavior unchanged

User experience

GPT Live follows the same manifest-based initialization path as Hosted Voice:

azd ai agent init -t ./gpt-live.azure.yaml
azd provision
azd deploy

The existing interactive and --kind prompt-voice init flows are unchanged.

Validation

  • go test ./... -count=1
  • pwsh -NoProfile -File ci-build.ps1
  • schema/docs/sample drift tests and Realtime/Hosted Voice regression coverage
  • live TiP E2E: manifest init against an existing project, create v1, update v2, show, persisted Live endpoint, native audio session, correlated Responses delegation, transcript/audio, and clean close
  • deleted the isolated E2E agent after verification and confirmed 404

Scope

This does not add a new init flag, provision GPT Live models, or implement a native audio client in azd ai agent invoke. GPT Live remains an explicit manifest/YAML option that requires an existing compatible deployment and service availability.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).
24 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@github-actions github-actions Bot added the ext-agents azure.ai.agents extension label Oct 23, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Reference normalization is bypassed by production paths, and endpoint readers reject the newly persisted Live route.

4 open issues
What changed in this PR

Adds manifest-based GPT Live support to the azure.ai.agents extension through kind: voice and subProtocol: live, without adding an init flag or native audio invocation client.

Changes:

  • Adds Live-specific configuration types, validation, API mapping, and schema definitions.
  • Introduces the dedicated Live sessions endpoint and operation classification.
  • Adds a canonical manifest, client guidance, and regression tests.
File Description
cli/​azd/​extensions/​azure.ai.agents/​schemas/​examples/​gpt-live.azure.yaml Adds the canonical GPT Live manifest.
cli/​azd/​extensions/​azure.ai.agents/​schemas/​azure.ai.agent.json Defines Live configuration and protocol exclusions.
cli/​azd/​extensions/​azure.ai.agents/​README.md Documents manifest setup and client requirements.
cli/​azd/​extensions/​azure.ai.agents/​internal/​telemetry/​operation.go Adds Live operation classification.
cli/​azd/​extensions/​azure.ai.agents/​internal/​telemetry/​operation_test.go Tests Live classification aliases.
cli/​azd/​extensions/​azure.ai.agents/​internal/​project/​voice_schema_guidance_test.go Tests protocol-specific schema validation.
cli/​azd/​extensions/​azure.ai.agents/​internal/​project/​service_target_agent.go Builds and persists Live sessions endpoints.
cli/​azd/​extensions/​azure.ai.agents/​internal/​project/​service_target_agent_test.go Tests Live loading, policies, and endpoint construction.
cli/​azd/​extensions/​azure.ai.agents/​internal/​project/​doc_examples_test.go Validates the sample and README consistency.
cli/​azd/​extensions/​azure.ai.agents/​internal/​project/​agent_definition.go Integrates Live properties and reference normalization.
cli/​azd/​extensions/​azure.ai.agents/​internal/​pkg/​agents/​agent_yaml/​yaml.go Adds Live authoring types.
cli/​azd/​extensions/​azure.ai.agents/​internal/​pkg/​agents/​agent_yaml/​parse.go Validates native Live configuration.
cli/​azd/​extensions/​azure.ai.agents/​internal/​pkg/​agents/​agent_yaml/​map.go Maps Live definitions to API requests.
cli/​azd/​extensions/​azure.ai.agents/​internal/​pkg/​agents/​agent_yaml/​gpt_live_test.go Tests Live mapping and validation boundaries.
cli/​azd/​extensions/​azure.ai.agents/​internal/​pkg/​agents/​agent_api/​models.go Adds Live wire types and audio serialization.
cli/​azd/​extensions/​azure.ai.agents/​internal/​cmd/​testdata/​TestAgentHelp-invoke.snap Updates the invoke help snapshot.
cli/​azd/​extensions/​azure.ai.agents/​internal/​cmd/​invoke.go Explains Live client requirements in help.

Review effort: Balanced

Comment on lines +1264 to +1265
if rootRef {
resolved, err = normalizeRootVoiceDefinition(resolved)
// Persist NAME first and ENDPOINT last. ENDPOINT is used as the voice deploy
// completion marker by other commands, so avoid writing it before NAME.
baseEndpoint := buildVoiceWSProtocolURL(projectEndpoint, agentObject.Name)
baseEndpoint := buildVoiceAgentWSProtocolURL(projectEndpoint, agentObject.Name, va.SubProtocol)
Comment on lines +320 to +321
if strings.TrimSpace(fmt.Sprint(agent.Greeting["type"])) != "template" ||
strings.TrimSpace(fmt.Sprint(agent.Greeting["text"])) == "" {
}
}
}
return structpb.NewStruct(values)
@azure-sdk-automation

Copy link
Copy Markdown
Contributor

azure.ai.agents PR build

Note

This is an unsigned development build. Install it only if you trust this PR.

Install the extension:

azd ext install "https://azuresdkartifacts.z5.web.core.windows.net/azd/extensions/pr/10685/azure-ai-agents.zip"
  • Version: 1.0.0-beta.21.pr.10685.6992451
  • Merge commit: 30cd003

This branch has not been deployed

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

Labels

ext-agents azure.ai.agents extension

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants