Stream Realtime AI Interactions via WebRTC & WebSockets
Python samples for real-time streaming interactions over WebSocket and WebRTC with function calling support.
Why it matters
Enable real-time, interactive AI experiences by streaming data over WebRTC and WebSockets. This asset facilitates dynamic communication between users and AI agents for immediate feedback and action.
Outcomes
What it gets done
Implement real-time chat applications.
Integrate function calling for dynamic AI responses.
Stream audio/video for interactive AI sessions.
Connect AI agents via WebSocket for continuous interaction.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/sk-concept-realtime | bash Overview
Semantic Kernel - Realtime
This skill provides Python code samples demonstrating real-time streaming interactions. It includes five example files covering simple chat and function-calling scenarios over both WebSocket and WebRTC protocols, plus utility helpers. Use this when building applications that require immediate, streaming responses with low latency. It fits scenarios requiring real-time conversations with optional function execution during live interactions.
What it does
This collection provides Python code samples demonstrating how to build real-time, streaming interactions using WebSocket and WebRTC protocols. It includes examples for both simple chat implementations and advanced scenarios with function calling, enabling developers to create responsive agents that communicate in real time.
When to use - and when NOT to
Use these samples when you need to implement low-latency, bidirectional conversations where immediate response streaming is critical. Use the WebRTC examples (realtime_agent_with_function_calling_webrtc.py, simple_realtime_chat_webrtc.py) for peer-to-peer audio/video scenarios, and the WebSocket examples (realtime_agent_with_function_calling_websocket.py, simple_realtime_chat_websocket.py) for text-based or server-mediated streaming.
Do NOT use these samples for batch processing or scenarios where request-response latency is acceptable, as the real-time infrastructure adds complexity. Avoid WebRTC implementations if you only need server-client text streaming, where WebSocket patterns are simpler and sufficient.
Inputs and outputs
You provide the configuration and define any functions your agent should be able to call during real-time interactions. The samples include a utils.py helper module to support the implementation. You receive working Python code examples that establish real-time connections, stream responses, and optionally handle function calling within the conversation flow. The function calling examples demonstrate how to extend agent capabilities with executable tools during live interactions.
Who it's for
These samples are designed for Python developers building real-time streaming applications. If you're comparing protocols, the collection provides both WebSocket and WebRTC implementations so you can choose based on your transport requirements - WebRTC for direct peer connections with media support, WebSocket for server-mediated text and data streaming.
Source README
Real-time streaming and WebSocket-based AI interactions
Examples (5 files):
realtime_agent_with_function_calling_webrtc.pyrealtime_agent_with_function_calling_websocket.pysimple_realtime_chat_webrtc.pysimple_realtime_chat_websocket.pyutils.py
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.