導入事例

LiveKit、Sonicで次世代のAIエージェントを開拓

LiveKitは、開発者がアプリケーションに映像、音声、データの機能を組み込める、主要なリアルタイムプラットフォームです。2021年にWebRTCを使うオープンソースプロジェクトとして始まり、リアルタイムの音声・映像AIを先導しています。現在、個人開発者から、OpenAIのようにリアルタイム音声の可能性を広げる大企業まで、数千の開発者やチームがLiveKitのインフラを利用しています。

多くの企業がビデオ通話をオンライン会議の道具と捉えていたとき、LiveKitの創業者は、リアルタイムの音声と映像があらゆるアプリケーションで重要になる未来を描いていました。その構想は、2024年1月のLiveKit Agentsの公開につながりました。プログラム可能なマルチモーダルAIエージェントを構築する、新しいフレームワークです。

Cartesiaを使うLiveKit Agentとのライブ会話を、こちらでお試しください。

課題

LiveKitは、人間レベルの推論能力を持つAIエージェントの作成を目指しました。そのためには、複雑な技術課題を解決する必要がありました。

  1. 低遅延:リアルタイムの推論には、人間並みの応答時間を実現する、極めて反応の速い処理が必要でした。LiveKitは音声に加え、映像やテキストなど複数のAIの形式を連携させるため、サーバーとクライアントの間で、できるだけ速くデータを転送する必要があります。
  2. 自然な声:LiveKitのエージェントは、電話などで人間の代わりに応対することが多いため、音声は非常にリアルでなければなりません。
  3. 多言語対応:顧客が世界中にいるため、複数の言語で問題なく動作する必要がありました。
  4. 拡張性:911の緊急通報対応などの重要な用途では、多数の同時ユーザーへの対応と、ピーク時の稼働率・性能の保証が必要でした。
  5. コンテキストウィンドウの制約:長時間動作するエージェントには、音声、映像、テキストのマルチモーダルストリームをリアルタイムで処理しながら、会話の一貫性と文脈を保つことが求められます。Transformerはこれを苦手とし、文脈の読み直しが繰り返し必要で、系列長の厳しい上限が継続的なやり取りを妨げていました。

ソリューション

LiveKitがCartesiaを選んだ理由は、AIの根本的に新しいアーキテクチャである状態空間モデルを基盤とするSonicが、次世代のAIエージェントという構想に合致したことです。

  • 高度なアーキテクチャ:SSMにより、Sonicは状態を維持し、ストリーミングデータをネイティブに処理できます。エージェントは、性能を落とさず、数時間や数日にわたるやり取りの文脈を維持できます。
  • 超低遅延:Cartesiaは、初回音声100 ms未満という市場で最も低遅延のモデルを提供しました。マルチモーダルなLiveKitエージェントは、優れたエンドツーエンド性能を一貫して実現できます。
  • 自然な音声生成:Cartesiaのモデルは、文脈を踏まえた人間らしい話し声を生成し、長い会話でも一貫性を保ちます。
  • 多言語対応:Cartesiaは14言語で、英語モデルと同じ、業界をリードする遅延、品質、精度を提供します。
  • 企業向けの拡張性:信頼性の高いインフラが、大量の処理を伴う重要なアプリケーションを支えます。

成果

Cartesiaは現在、LiveKit Agentsの連携機能として利用できます。この提携により、LiveKitは次のような、多様で要求の厳しい用途にエージェントを展開できました。

  • 緊急サービス:完全な信頼性と自然なやり取りを求める、911緊急通報対応のAI音声エージェント。
  • ゲーム:没入感のあるゲーム体験を届ける、AIを使うNPC。
  • 自動運転車:リアルタイムのテレメトリ処理と意思決定。
  • 企業向けソリューション:既存のAIシステムへの、音声と画像機能の円滑な統合。

開発者向け

LiveKitとCartesiaを組み合わせる利点は、LiveKitのグローバルなWebRTCネットワークの品質と、CartesiaのSonicテキスト読み上げモデルの速さを、両方得られることです。

開発者は、開発中は自分のノートパソコンでAgentsワーカーを動かし、本番では自社のサーバーにデプロイできます。エージェントがCartesia APIに接続し、LiveKitのネットワークを使って、ユーザーへ音声をストリーミングします。

こうして、音声エージェントに最先端のテキスト読み上げを使いながら、自分で管理するコードでRAGやデータ検索などのビジネスロジックを制御できます。最も簡単な概念実証の音声エージェントは、空白とコメントを除けば、わずか50行です。以下は英語の応答を行う元のコード例です。

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,
        ),
    )

インターネットのアプリケーションは、これからのコンピューターの使い方のためには作られていませんでした。未来のコンピューターは、私たちと同じように見て、聞いて、話します。私たちは、人同士のようにやり取りするでしょう。LiveKitのAgentsフレームワークは、この新しいあり方のアプリケーションを簡単に構築するために設計しました。SSMアーキテクチャの先駆者であるCartesiaは、リアルタイムのマルチモーダルAIモデルがコンピューティングの中心になるという信念を共有しており、Agentsの公開時の理想的なパートナーでした。

Russ d'SaLiveKit CEO兼共同創業者

LiveKitのRussとDavidは、マルチモーダルAIの本来の可能性を引き出すには新しいアーキテクチャが必要だという、Cartesiaの構想を共有しています。LiveKitを使えば、顧客は電話に出る高度なエージェントを、わずか数時間で構築できます。同社のAgentsが、かつてないほど複雑な推論を行うのを支えられることに感謝しています。

Karan GoelCartesia CEO

LiveKitとCartesiaにより、自然な声で会話する、信頼できるエージェントを大規模に導入できます。患者のアクセスと体験を改善し、24時間365日、顧客にサービスを提供しています。

Jeffery LiuAssort Health CEO