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.18.tar.gz (613.0 kB 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.18-py3-none-any.whl (670.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: videosdk_agents-1.0.18.tar.gz
  • Upload date:
  • Size: 613.0 kB
  • 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.18.tar.gz
Algorithm Hash digest
SHA256 bebc1054b1a753c6f4a46c9d49f38396d92bea1ed107e9b2df93da9e4e386ae1
MD5 0395b812502874447f151c89002d6275
BLAKE2b-256 395125a60bd4f80c218b42606fe565ce7df90549fb4bd2ed4e37bd4e639106d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for videosdk_agents-1.0.18-py3-none-any.whl
Algorithm Hash digest
SHA256 f837318a3d213fd3ead4c2e5844593485ab4017b4b18cd18baf0279c0980e33d
MD5 02f510e9de2b7282e30cce4cb6612549
BLAKE2b-256 53e6780c2e03ea5ed3a85ebc5eeaade7c33e7d1cc93a1c67ecfa67a870e8ddc8

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