> ## Documentation Index
> Fetch the complete documentation index at: https://docs-preprod.sambanova.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# LiveKit

LiveKit is an open-source project that enables scalable, multi-user conferencing with WebRTC. It provides the tools you need to add real-time video, audio, and data capabilities to your applications.

## Prerequisites

* A [SambaCloud](https://cloud.sambanova.ai/apis) account and API key.
* Python 3.11.5 or later.

## Installation and setup

1. Create and activate a virtual environment:

   ```shell
   python -m venv .venv source .venv/bin/activate
   ```

2. Install the minimal form of livekit

   ```shell
   pip install "livekit-agents[openai,silero,deepgram,cartesia,turn-detector]~=1.0"
   ```

## Example use cases

You can combine LiveKit with SambaCloud models to create powerful, real-time AI agents. Some common applications include:

* Multimodal assistants – Support text, voice, and screen sharing with an AI assistant.
* Telehealth – Enable real-time AI support during virtual medical consultations.
* Call centers – Automate inbound and outbound customer support with AI voice agents.
* Real-time translation – Translate conversations instantly across languages.

## Example - Voice Agent with SambaCloud

The following example shows how to build a voice AI agent using LiveKit with SambaCloud STT and LLM models:

```python
from livekit import agents
from livekit.agents import AgentSession, Agent, RoomInputOptions
from livekit.plugins import openai, cartesia, noise_cancellation, silero
import os

SAMBANOVA_URL = os.getenv("SAMBANOVA_URL")
SAMBANOVA_API_KEY = os.getenv("SAMBANOVA_API_KEY")

class Assistant(Agent):
    def __init__(self) -> None:
        super().__init__(instructions="You are a helpful voice AI assistant.")

stt = openai.STT(
    model="Whisper-Large-v3",
    api_key=SAMBANOVA_API_KEY,
    base_url=SAMBANOVA_URL,
)

llm = openai.LLM(
    model="Llama-4-Maverick-17B-128E-Instruct",
    api_key=SAMBANOVA_API_KEY,
    base_url=SAMBANOVA_URL,
)

async def entrypoint(ctx: agents.JobContext):
    session = AgentSession(
        stt=stt,
        llm=llm,
        tts=cartesia.TTS(),
        vad=silero.VAD.load(),
    )
    await session.start(
        room=ctx.room,
        agent=Assistant(),
        room_input_options=RoomInputOptions(
            noise_cancellation=noise_cancellation.BVC(),
        ),
    )
    await session.generate_reply(
        instructions="Greet the user and offer your assistance."
    )

if __name__ == "__main__":
    agents.cli.run_app(agents.WorkerOptions(entrypoint_fnc=entrypoint))

```

## LiveKit documentation

See [LiveKit documentation](https://docs.livekit.io/agents/) for more details.
