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.23.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.23-py3-none-any.whl (676.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: videosdk_agents-1.0.23.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.23.tar.gz
Algorithm Hash digest
SHA256 02407df27d5019c332ec57a94d0d708e64fa3c43e395096c613ce7de296c4fe5
MD5 3ef09e2dddc7c9673d9954d993deb860
BLAKE2b-256 d236de75e7a1645c95e5c974457556b786991afc083339a9e827c5f89c7ecc8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for videosdk_agents-1.0.23-py3-none-any.whl
Algorithm Hash digest
SHA256 b6c9e8f145add0f4316e33925154e47b2b99a0ac884bf8b1e553b32b039959c9
MD5 718a75bd7bbb736438f4fdcf0cd5ef79
BLAKE2b-256 588ee3a5c0b72db184ae6346bb633bd5aabb49e9734e341bbe8b45260c1db2cd

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