Open2

音声対話AIエージェントの作成について

まさぴょん🐱まさぴょん🐱

AI音声アシスタントクイックスタート

https://docs.livekit.io/agents/quickstarts/voice-agent/

LiveKit Agents のドキュメントに書かれている内容について整理する📝

「エージェントが使用する VAD(音声区間検出)、STT(音声認識)、TTS(音声合成)、LLM(大規模言語モデル)といったプラグインを、agents.py ファイルを編集することで変更できます」というものです。

具体的には、

  • VAD (Voice Activity Detection): 音声の有無を検出して、必要なタイミングだけを音声処理に回すためのモジュールです。ここでは Silero が使用されています。
  • STT (Speech To Text): 入力された音声をテキストに変換するモジュールです。ここでは Deepgram が使用されています。
  • TTS (Text To Speech): テキストを音声に変換するモジュールです。ここでは OpenAI の TTS が使われています。
  • LLM (Large Language Model): テキストを解析・生成するための大規模言語モデルです。ここでは OpenAI の gpt-4o-mini モデルが使われています。

元のコード例は以下のようになっています(assistants.py 内):

assistant = VoiceAssistant(
    vad=silero.VAD.load(),
    stt=deepgram.STT(),
    llm=openai.LLM(model="gpt-4o-mini"),
    tts=openai.TTS(),
    chat_ctx=initial_ctx,
)

この設定によって、音声の区間検出は Silero、音声認識は Deepgram、テキスト生成や自然言語処理は OpenAI(gpt-4o-mini モデル)、音声合成も OpenAI TTS を用いて行うように構成されています。
もし別のサービスやライブラリを使いたい場合は、同じ箇所(vad=...stt=... など)を変更し、対応するプラグインを指定することでカスタマイズが可能です。