Repository navigation
[AI Agents] Add GPT Live WebSocket support, samples, and tests - #50877
Mike Guo (guotuofeng) wants to merge 13 commits into
Conversation
|
Azure Pipelines: 36 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Kaylie (kaylieee)
left a comment
There was a problem hiding this comment.
Can we expose typed send and receive apis for the new live session clients? We have the live event models available in our pinned openai-java dependency.
|
Can we extract the shared connection, I/O, etc. logic into a shared internal transport class (eg. |
|
Kaylie (@kaylieee) Following up on your typed Live API review comment: implemented in 2099e09. Both sync and async Live session clients now expose One API-policy question remains: Checkstyle reports five Would you agree with adding file-scoped exceptions in Validation: 212 affected tests passed with zero failures/errors/skips; SpotBugs and |
|
Kaylie (@kaylieee) Following up on your shared transport comment: refactored in 2099e09. Extracted shared internal |
Prepare a draft stacked PR for handwritten GPT Live WebSocket support, examples, and tests on top of #50875. No implementation changes yet. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add synchronous and asynchronous native Live clients, connection options, interactive text/audio samples, and regression coverage. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1c004e5 to
50815d3
Compare
Description
Add handwritten native GPT Live WebSocket clients, interactive voice examples, and regression tests for Azure AI Agents.
Depends on #50875. Merge #50875 first. This PR remains based on
myguo/gpt-live-autoso its diff contains only the additional handwritten work. The parent PR supplies the generated models, REST clients, TypeSpec pinning, and generation customizations for Azure/azure-rest-api-specs#47196.Changes
AgentsClientBuilder.beta(), with raw JSON events kept separate from the Realtime protocol.gpt-live-1andgpt-5.6-terra.Interactive behavior
Native GPT Live does not provide a speech-finished event. Greeting and transcript utterance boundaries therefore use a one-second speech-inactivity heuristic and ignore silent/very-low-level output PCM. Completed captions wait until Enter while input is active; partial captions are not split at typed/backend turn boundaries. Long speech pauses can still divide utterances.
Interactive text mode streams paced silent PCM without a microphone; voice usage remains billable while typing or waiting. A noninterruptible console read may require Enter after a remote disconnect. Shared Reactor schedulers are shut down only by the standalone sample entry points.
Stack maintenance
Keep this PR based on
myguo/gpt-live-autowhile #50875 is open. After #50875 merges, rebase onto the updatedfeature/foundry-sdk/vnextas necessary, retarget this PR to that branch, and verify its diff before merging.Validation
Run from
sdk\aiin PowerShell:git --no-pager diff --cached --check: passed before committing.All SDK Contribution checklist:
General Guidelines and Best Practices
Testing Guidelines