feat: PoC OpenAI Realtime API#870
Conversation
- Streaming no fully enabled
* Minimal new module setup including spec * Generation partial-success * Remove examples * Successfully filter by path * Attach spec filter command * Initial setup * Successful PoC with OpenAI Models * Version 1 * Stable api * Change class name * Add tests * fix dependency analyse issues * Initial draft untested * Second draft - Streaming no fully enabled * Successful E2E * Streaming initial draft * Streaming E2E with chat completion * isStreaming check simplified * Cleanup PoC and rename module * Reduce Javadoc verbosity * Restrict to `/responses` api * Cleanup comments * Charles review suggestions * Charles review - round 2 suggestions * Add dependency * Mark openai dependency optional and new client `@Beta` * Cleanup and no throw on missing model * pmd * Responses API complete * ChatCompletionCreateParams throws without model. Needs rethink client API creation forModel * Cleanup and close with test documenting limitation * First draft responses only * jacoco limits * Remove ResponseService wrapper since remote API behaviour changed
…nses-apache # Conflicts: # sample-code/spring-app/pom.xml
…eat/poc-openai-realtime
# Conflicts: # docs/release_notes.md # pom.xml
…realtime # Conflicts: # docs/release_notes.md # pom.xml
|
A clear understanding of what I've reached so far and implemented code accordingly: The OpenAI Java SDK exposes all Realtime endpoints including SIP call control (accept, hangup, refer, reject) and client_secrets as plain HTTP POST requests, with no SIP protocol on the client side. For example, when a phone call comes in, OpenAI's infrastructure hold the incoming SIP call open without answering it and notifies the backend with a call_id via webhook; the backend then calls OpenAI's infrastructure then connects the answered call to a Realtime AI session, and the actual WebRTC/SIP media flows directly between the user's device (browser/phone) and OpenAI. What's supported now:
Problems:
|
Context
AI/ai-sdk-java-backlog#386.
Supported the Realtime API using the official OpenAI client.
Feature scope:
Definition of Done
Aligned changes with the JavaScript SDK