VideoSDK Agents
Agents Framework on top of VideoSDK's architecture.
Installation
pip install videosdk-agents
Visit https://docs.videosdk.live/ai_agents/introduction for Quickstart, Examples and Detailed Documentation.
Usage
import asyncio
from videosdk.agents import Agent, AgentSession, RealTimePipeline, function_tool, WorkerJob, RoomOptions, JobContext
from videosdk.plugins.openai import OpenAIRealtime, OpenAIRealtimeConfig
from openai.types.beta.realtime.session import InputAudioTranscription, TurnDetection
class MyVoiceAgent(Agent):
def __init__(self):
super().__init__(
instructions="You are a helpful voice assistant that can answer questions and help with tasks.",
)
async def on_enter(self) -> None:
await self.session.say("How can i assist you today?")
async def entrypoint(ctx: JobContext):
print("Starting connection test...")
print(f"Job context: {jobctx}")
model = OpenAIRealtime(
model="gpt-4o-realtime-preview",
config=OpenAIRealtimeConfig( modalities=["text", "audio"] )
)
pipeline = RealTimePipeline(model=model)
session = AgentSession(
agent=MyVoiceAgent(),
pipeline=pipeline,
context=jobctx
)
try:
await ctx.connect()
await session.start()
print("Connection established. Press Ctrl+C to exit.")
await asyncio.Event().wait()
except KeyboardInterrupt:
print("\nShutting down gracefully...")
finally:
await session.close()
await ctx.shutdown()
def make_context() -> JobContext:
room_options = RoomOptions(room_id="<meeting_id>", name="Sandbox Agent", playground=True)
return JobContext(
room_options=room_options
)
if __name__ == "__main__":
job = WorkerJob(job_func=entryPoint, jobctx=make_context)
job.start()
Metadata
Release files for videosdk-agents 1.0.28
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| videosdk_agents-1.0.28.tar.gz | 643.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| videosdk_agents-1.0.28-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / videosdk_agents-1.0.28.tar.gz
| Download URL | videosdk_agents-1.0.28.tar.gz |
|---|---|
| Size | 643.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d78991406dc701ce644ca021db85f33b6bd0159d0117466884ba59a51f74224a
|
|
BLAKE2b-256 checksum How to use checksums |
c91dc6195db8fa6706b31768da631fccd10dd869ebda993d9feca4ebdc9a27ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.11
|
Release files / videosdk_agents-1.0.28-py3-none-any.whl
| Download URL | videosdk_agents-1.0.28-py3-none-any.whl |
|---|---|
| Size | 703.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5e3034e109066dd51d9bb35658dbd1bbf8917780c2226689094fe70f14acf40a
|
|
BLAKE2b-256 checksum How to use checksums |
3125017ad1b836fda0c5ccd54f273241c07670f6b861c23ab3ed31a37d02acb1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.11
|