configure_session

An asynchronous function that runs at the beginning of every session. It configures the session by returning a SessionConfig object, which contains parameters like VAD (voice activity detection), STT (speech-to-text), TTS (text-to-speech), the initial messages of the session, etc.

Example usage

from jay_ai import ConfigureSessionInput, SessionConfig

async def configure_session(input: ConfigureSessionInput):
    user_timezone = input["custom_data"]["my_user_timezone"]
    return SessionConfig(
        initial_messages=[
          {"role": "system", "content": "You are a helpful assistant."}
        ],
        vad=VAD.Silero(),
        stt=STT.Deepgram(api_key=os.environ["DEEPGRAM_API_KEY"]),
        tts=TTS.OpenAI(
            api_key=os.environ["OPENAI_API_KEY"]
        ),
        session_data={
            "my_user_id": "test-12345",
            "my_user_timezone": user_timezone
        }
    )

Parameters

input
object
required

Example input parameter:

{
  "custom_data": {
    "my_user_id": "abc123"
  }
}

Returns

SessionConfig
object
required