LiveKit Inference Overview

参照元: LiveKit Agents Documentation ロードマップ: 学習ロードマップ

What(何についてか)

LiveKit Inferenceは、LiveKit Cloudに内蔵された統合モデルルーターだ。voice agentに必要なSTT/LLM/TTSの各プロバイダー(OpenAI、Google、Deepgram、Cartesia、ElevenLabs、AssemblyAI等)を、単一のインターフェースで利用できる。従来のプラグイン個別インストールやAPIキーの個別管理が不要になる。

Why(なぜ必要か)

従来のLiveKit Agentsでは、各プロバイダーのプラグインを個別にインストールし、それぞれのAPIキーを環境変数等で管理する必要があった。プロバイダーが増えるほど設定が複雑になり、モデルの差し替えにも手間がかかった。Inferenceは認証をLiveKit Cloudが透過的に処理するため、モデル切り替えがモデルIDの変更だけで完結する。

How(どう動くか)

クラス記法

inference モジュールのクラスをAgentSessionに渡す。

from livekit.agents import AgentSession, inference
 
session = AgentSession(
    stt=inference.STT(model="deepgram/flux-general", language="en"),
    llm=inference.LLM(model="openai/gpt-4.1-mini"),
    tts=inference.TTS(model="cartesia/sonic-3", voice="9626c31c-..."),
)

パラメータの詳細制御(temperature等)が必要な場合はこちらを使う。

String descriptors(省略記法)

クラスの代わりに文字列で指定できるシンタックスシュガー。プロトタイピングやサンプルコードで有用。

session = AgentSession(
    stt="deepgram/nova-3:en",
    llm="openai/gpt-4.1-mini",
    tts="cartesia/sonic-3:9626c31c-bec5-4cca-baa8-f8ba9e84c8bc",
)

フォーマット: "provider/model" が基本。: 以降にコンテキスト依存のパラメータを付与する(STTなら言語、TTSならvoice ID)。

対応モデル一覧

モデルIDの命名規則は一貫して provider/model-name

LLM

DeepSeek(V3)、Gemini(2.5 Flash〜3.1 Pro)、Kimi(K2.5)、OpenAI(GPT-4.1〜5.4)、Qwen(Qwen3 235B)に対応。OpenAIの *-chat-latest 系モデルは常に最新スナップショットを指すエイリアスとして機能する。Retiredマークのついたモデル(DeepSeek-V3.2、Gemini 2.0系、Gemini 3 Pro等)は利用不可。

STT

AssemblyAI(Universal系)、Cartesia(Ink Whisper・100言語)、Deepgram(Flux / Nova-2 / Nova-3系)、ElevenLabs(Scribe v2 Realtime・190言語)に対応。Deepgramは用途別モデル(Medical、Phone Call、Conversational AI等)が用意されている。

TTS

Cartesia(Sonic / Sonic 2 / Sonic 3・30+言語)、Deepgram(Aura-2)、ElevenLabs(Flash v2.5 / Turbo v2.5・29言語)、Inworld(TTS 1.5 Max/Mini)、Rime(Arcana / Mist v3)、xAI(tts-1・auto検出)に対応。Cartesia Sonic 3は日付付きモデルIDでバージョン固定が可能。

課金

従量課金制。Scale planで割引、Enterprise planでカスタム料金。詳細はLiveKit Inference pricing pageを参照。

実装時の判断軸

graph LR
    A["モデル選択"] --> B{"詳細設定が必要?"}
    B -->|"No"| C["String descriptor"]
    B -->|"Yes"| D["クラス記法"]
    A --> E{"言語カバー"}
    E -->|"日本語必須"| F["多言語モデル優先"]
    A --> G{"レイテンシ重視?"}
    G -->|"Yes"| H["Flash/Turbo系"]
    A --> I{"コスト重視?"}
    I -->|"Yes"| J["mini/nano系LLM + Flash系TTS"]
  1. プロトタイプ段階 — String descriptorsで素早く試す
  2. 詳細設定が必要 — クラス記法でパラメータ制御
  3. モデル選択 — 言語カバー・レイテンシ・コストの3軸で判断。Retiredモデルに注意
  4. 認証 — LiveKit Cloudの認証で一括処理。プロバイダー個別のAPIキー管理が不要

一言まとめ

LiveKit Inferenceは、voice agentに必要なAIモデルアクセスを単一インターフェースに統合し、プラグイン不要・認証透過・モデルID切り替えだけでSTT/LLM/TTSを差し替え可能にする仕組み。