LiveKit è una piattaforma leader per il tempo reale che consente agli sviluppatori di integrare video, voce e dati nelle applicazioni. Nata nel 2021 come progetto open source basato su WebRTC, è pioniera nell’IA vocale e video in tempo reale. Oggi migliaia di sviluppatori e team si affidano alla sua infrastruttura, dai singoli sviluppatori a grandi aziende come OpenAI che spingono i limiti della voce in tempo reale.
Quando la maggior parte delle aziende vedeva le videochiamate come un semplice strumento per riunioni online, i fondatori di LiveKit immaginavano un futuro in cui voce e video in tempo reale sarebbero stati essenziali per qualsiasi applicazione. Questa visione ha portato al lancio di LiveKit Agents nel gennaio 2024, un framework innovativo per creare agenti IA programmabili e multimodali.
Prova qui una conversazione dal vivo con un agente LiveKit basato su Cartesia:
La sfida
LiveKit voleva creare agenti IA con capacità di ragionamento di livello umano, affrontando diverse sfide tecniche complesse:
- Bassa latenza: per ragionare in tempo reale, gli agenti avevano bisogno di un’elaborazione estremamente reattiva e tempi di risposta umani. Poiché LiveKit orchestra diverse modalità IA, come video e testo oltre all’audio, deve trasportare i dati tra server e client il più rapidamente possibile.
- Voci naturali: gli agenti di LiveKit sostituiscono spesso le persone in interazioni come le chiamate telefoniche, quindi il parlato deve essere incredibilmente realistico.
- Multilinguismo: gli agenti dovevano operare senza difficoltà in più lingue, perché i clienti di LiveKit sono distribuiti in tutto il mondo.
- Scalabilità: casi d’uso delicati come gli agenti vocali per il coordinamento delle emergenze al 911 richiedevano grandi volumi di utenti simultanei, con disponibilità e prestazioni garantite nei picchi.
- Limiti della finestra di contesto: gli agenti di lunga durata di LiveKit devono mantenere conversazioni e contesto coerenti elaborando flussi multimodali di audio, video e testo in tempo reale. I transformer faticavano in questo compito, richiedendo continui ricaricamenti del contesto e incontrando limiti rigidi alla lunghezza delle sequenze che rendevano impossibile l’interazione continua.
La soluzione
LiveKit ha scelto Cartesia perché Sonic, basato sui modelli a spazio di stato, un’architettura fondamentalmente nuova per l’IA, corrispondeva perfettamente alla sua visione degli agenti IA di nuova generazione.
- Architettura avanzata: gli SSM permettono a Sonic di mantenere lo stato ed elaborare nativamente i dati in streaming, consentendo agli agenti di conservare il contesto per ore o giorni di interazione senza cali di prestazioni.
- Latenza ultrabassa: Cartesia offriva il modello con la latenza più bassa sul mercato, meno di 100 ms al primo audio, permettendo agli agenti multimodali LiveKit di ottenere costantemente prestazioni complessive superiori.
- Generazione vocale naturale: i modelli di Cartesia producono un parlato simile a quello umano e consapevole del contesto, coerente anche nelle conversazioni lunghe.
- Multilinguismo: Cartesia offre 14 lingue con la stessa latenza, qualità e accuratezza ai vertici del settore del modello inglese.
- Scalabilità enterprise: un’infrastruttura solida supporta applicazioni critiche ad alto volume.
I risultati
Cartesia è oggi disponibile come integrazione per LiveKit Agents. La collaborazione ha permesso a LiveKit di distribuire gli agenti in casi d’uso diversi e impegnativi, tra cui:
- Servizi di emergenza: agenti vocali IA per il coordinamento delle emergenze al 911, che richiedono affidabilità impeccabile e interazioni naturali.
- Videogiochi: NPC basati su IA che offrono esperienze immersive.
- Veicoli autonomi: elaborazione della telemetria e decisioni in tempo reale.
- Soluzioni enterprise: integrazione fluida delle capacità vocali e visive con i sistemi IA esistenti.
Per gli sviluppatori
Usare LiveKit e Cartesia insieme permette di combinare la qualità della rete WebRTC globale di LiveKit con la velocità del modello di sintesi vocale Sonic di Cartesia.
Gli sviluppatori possono eseguire i worker Agents sul proprio portatile durante lo sviluppo e distribuirli sui propri server in produzione. Gli agenti si collegano direttamente all’API di Cartesia e usano la rete LiveKit per trasmettere l’audio agli utenti.
Il risultato è un sistema in cui gli sviluppatori hanno un modello di sintesi vocale all’avanguardia per il proprio agente e controllano la logica aziendale, come RAG o ricerca dei dati, nel proprio codice. Il più semplice prototipo dimostrativo di agente vocale richiede appena cinquanta righe di codice, esclusi spazi e commenti. L’esempio originale seguente mantiene istruzioni e saluto in inglese:
load_dotenv(dotenv_path=".env.local")
logger = logging.getLogger("voice-agent")
def prewarm(proc: JobProcess):
proc.userdata["vad"] = silero.VAD.load()
async def entrypoint(ctx: JobContext):
initial_chat_context = llm.ChatContext().append(
role="system",
text=(
"You are a voice assistant created by LiveKit. Your interface with users will be voice. "
"You should use short and concise responses, and avoid usage of unpronounceable punctuation. "
),
)
logger.info(f"connecting to room {ctx.room.name}")
await ctx.connect(auto_subscribe=AutoSubscribe.AUDIO_ONLY)
# Wait for the first participant to connect
participant = await ctx.wait_for_participant()
logger.info(f"starting voice assistant for participant {participant.identity}")
# Set up the Agent
agent = VoicePipelineAgent(
vad=ctx.proc.userdata["vad"],
stt=deepgram.STT(),
llm=openai.LLM(model="gpt-4o-mini"),
tts=cartesia.TTS(
model="sonic",
voice="794f9389-aac1-45b6-b726-9d9369183238",
),
chat_ctx=initial_chat_context,
)
agent.start(ctx.room, participant)
# Once connected, we start by hardcoding a greeting
await agent.say(f"Hey {participant.identity}! How can I help you today?", allow_interruptions=True)
if __name__ == "__main__":
cli.run_app(
WorkerOptions(
entrypoint_fnc=entrypoint,
prewarm_fnc=prewarm,
),
)
Le applicazioni Internet non sono state costruite per il modo in cui useremo i computer in futuro. Quei computer vedranno, ascolteranno e parleranno come noi. Interagiremo con loro come facciamo tra persone. Abbiamo progettato il framework Agents di LiveKit per rendere semplice creare applicazioni per questo nuovo paradigma. Cartesia, pioniera dell’architettura SSM, condivideva la convinzione che i modelli IA multimodali in tempo reale sarebbero stati al centro dell’informatica, rendendola il partner ideale per il lancio di Agents.
Russ e David di LiveKit condividono la visione di Cartesia sulla necessità di nuove architetture per consentire all’IA multimodale di esprimere il suo vero potenziale. Con LiveKit, i nostri clienti possono creare in poche ore agenti sofisticati che rispondono alle telefonate. Siamo grati di poter dare voce ai loro Agents per svolgere compiti di ragionamento più complessi che mai.
Usare LiveKit e Cartesia ci permette di distribuire efficacemente su larga scala agenti conversazionali affidabili con voci naturali, per servire i clienti 24 ore su 24 migliorando l’accesso e l’esperienza dei pazienti.