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.24.tar.gz (617.8 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.24-py3-none-any.whl (676.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: videosdk_agents-1.0.24.tar.gz
  • Upload date:
  • Size: 617.8 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.24.tar.gz
Algorithm Hash digest
SHA256 5f11f985a493b7e70bb03a29fc7dcdaf8d460925eac08660d5ae5430ec8e67b5
MD5 1c0b7d6e6ade7461026a45c6c408276a
BLAKE2b-256 fa4521f663a2703d370d05431cb0e25a2cd5a7340f0f6d69c1ddbfc7856eafd4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for videosdk_agents-1.0.24-py3-none-any.whl
Algorithm Hash digest
SHA256 1eb57b547fd9d6bd3d7cb59fcb2f71cf99cf09049c8384e83f129c61dec4e53e
MD5 995d152490c3ad2eea3b45bdad403171
BLAKE2b-256 6b6e86d87dbba0a2f3a7efbbcbb7a32cc186c480876201ee10ff5804600c58ee

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