Skip to main content

Video SDK Agents

Project description

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()

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

videosdk_agents-1.0.9.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

videosdk_agents-1.0.9-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file videosdk_agents-1.0.9.tar.gz.

File metadata

  • Download URL: videosdk_agents-1.0.9.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for videosdk_agents-1.0.9.tar.gz
Algorithm Hash digest
SHA256 d04dcf61c1a64ebb55690d539f73c3b358e787f12070f14439e1b44b979ff707
MD5 784f76bfbb4cc840555cc85e10f6890d
BLAKE2b-256 1e36e6113a189a575a57c6c82155f34f6fae7087074ed8a5c976675bdf7a4e5a

See more details on using hashes here.

File details

Details for the file videosdk_agents-1.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for videosdk_agents-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 5c94f7b86bbd0bc3c5d6415cfc668fd364d4af9ddf1f553880a74cf9309b47ea
MD5 27d3a2f29844544abee81b90eb3bdab7
BLAKE2b-256 6ee95fd6afe556886383e13f2fed87dee2cce5c71e5678e3be18112a1da3d515

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page