Zenn
Closed6

ElevenLabsのConversational AIを試す

kun432kun432

少し前にリリースされてたやつ

https://elevenlabs.io/blog/conversational-ai

Conversational AIの紹介

カスタマイズ可能でインタラクティブな音声エージェントを構築するためのオールインワンプラットフォーム

本日、私たちは「Conversational AI」を発表できることを誇りに思います。これは、カスタマイズ可能でインタラクティブな音声エージェントを構築するためのオールインワンプラットフォームです。Conversational AIを使用すれば、アウトバウンドセールスのダイヤラー、スケジュール管理エージェント、インタラクティブなゲームキャラクター、家庭教師、カスタマーサポートエージェントなど、さまざまな用途のエージェントを作成できます。

私たちのプラットフォームは、サーバーコールを最小限に抑えることで低遅延を実現するよう設計されています。Conversational AIは、リアルタイムモデルを使用して話者が話し終えたタイミングを予測し、会話のターンテイクや割り込みをスムーズに処理します。また、技術的なセットアップを簡素化したため、エージェントのカスタマイズに集中することができます。

Conversational AIは、リアルに近いText to Speech(音声合成)、Speech to Text(音声認識)、選択可能なLLM(大規模言語モデル)、そして独自のターンテイクおよび割り込みロジックを統合します。これにより、自然な会話を実現します。これらを活用して、以下に注力できます:

  • ナレッジベースの構築
  • システムプロンプトの作成
  • アプリケーションとの機能呼び出しによる連携
  • お気に入りの音声をライブラリから選択、または自分の声をクローン化
  • 驚きの体験で顧客を楽しませる方法を見つける

Conversational AIは、よりインタラクティブなエージェントを構築するための高度な機能も備えています:

  • 通話を処理するためのTwilioネイティブ統合
  • 柔軟性を高めるサーバーサイドおよびクライアントサイドのツール呼び出し
  • 個別化された会話を生み出すダイナミックプロンプティング

初めてのエージェントを設定する方法についてはこちらで概要をご覧ください。完全な制御を好む方は、このガイドに従って、ご自身のLLMまたはサーバーを接続することもできます。Python、JavaScript、React、SwiftのSDKをご用意しているほか、WebSocket APIを直接統合することも可能です。

当社のSDKを使用して構築されたプロジェクトの例はこちらでご覧いただけます。

Conversational AIの開発に関する詳細をご覧になりたいですか?リードエンジニアであるJozefのインタビューはこちらからどうぞ。

ElevenLabsのTTSはストリーミングで入力を受けることができるので、例えばLLMのストリーミング出力をそのまま渡して高速にレスポンスする、ということが可能なのは確認していた。

https://zenn.dev/link/comments/4ce1b1e154ec64

そのあたりも含めつつ、スムーズな音声会話が行えるLLMエージェントを作るプラットフォームという形で出してきたのだろうと思う。少し気になるので試してみようと思う。

kun432kun432

公式のドキュメント

https://elevenlabs.io/docs/conversational-ai/docs/introduction

はじめに

カスタマイズされた会話型音声エージェントを数分で展開。

Conversational AIとは?

ElevenLabsのConversational AIは、カスタマイズされた会話型音声エージェントを展開するためのプラットフォームです。お客様のニーズに応えて開発された当社のプラットフォームは、ゼロから会話スタックを構築するために通常必要とされる数か月の開発期間を不要にします。このプラットフォームは、以下のビルディングブロックを組み合わせたものです。

  • 音声認識
    当社の調整済みのASRモデルは、通話者の会話をテキストに変換します。
  • LLM
    Gemini、Claude、OpenAI などからお選びいただくか、ご自身で用意していただくことも可能です。
  • 音声合成
    5,000 以上の音声と 31 言語に対応した、低レイテンシで人間のような音声合成機能です。
  • 会話ターンの切り替え
    人間のように会話の切り替えと割り込みを検出する、カスタムのサービスです。

全体として、1 日あたり数千件の通話に対応できる、高度に構成可能な AI音声エージェントソリューションになっています。サーバー側およびクライアント向けツール、ナレッジベース、動的エージェントのインスタンス化、ビルトインモニタリング機能を備えた、完全な開発者向けツールキットです。

価格

  • セットアップおよびプロンプトのテスト:1分あたり500クレジット
  • 本番:1分あたり1,000クレジット

まずは、無料プランから始めてみてください。このプランには、毎月10分間の会話が含まれています。

もっと必要な場合は今すぐ有料プランにアップグレードしてください。営業電話は不要です。企業でのご利用(1日6時間以上の会話)の場合は、弊社営業チームまでご連絡ください。お客様のニーズに合わせたカスタム価格をご案内いたします。

結構お高いような気がするがとりあえずQuickstartに従って進める

kun432kun432

エージェントのセットアップ

https://elevenlabs.io/docs/conversational-ai/docs/agent-setup

Quickstartでは、音声で注文を行うことができるレストラン向けのAIアシスタントを作っていく。

まず、エージェントのセットアップを行う。エージェントのセットアップはWebのダッシュボードから行うことができる。実際には裏でWeb SDKが使用されているらしい。

ダッシュボードの左のメニューから「Conversational AI」をクリック

初回は利用規約への同意が求められるので、内容確認の上、承諾して進める

エージェント作成用の画面が表示される。あらかじめ用意されたテンプレートからも作成できるようだが、今回は一から作るので「Start from blank」をクリック

新しくエージェントが作成された。右のペーンでエージェントの細かい設定を行っていく模様。

まず「Agent」タブ。ここはLLMエージェントの基本的な設定を行う。今回は以下だけ設定する。

まず「Agent Language」は日本語で試したいので "Japanese"を選択する。

次に「First message」。これは会話の一番最初にエージェントが話すフレーズの様子。以下と設定。

First message
いらっしゃいませ!洋食レストラン「キッチンさくら」へようこそ。ご注文は何になさいますか?

そして「System prompt」。ここがLLMエージェントに設定するシステムプロンプトになる。架空のレストランの設定をClaude.aiに生成してもらって作った。

System prompt
あなたは、昭和レトロな洋食レストラン「キッチンさくら」のフレンドリーで有能なバーチャルアシスタントです。このレストランは兵庫県神戸市三宮の旧居留地にあります。
あなたの役割は、音声での会話を通じて顧客が注文できるようにサポートすることです。あなたはメニューの品目と価格について幅広い知識を持っています。

## メニュー

- 特製デミグラスハンバーグ(950円): ジューシーな手ごねハンバーグに、たっぷりの玉ねぎを炒めて作ったデミグラスソース。ライスかパン付き。
- 和風おろしハンバーグ(950円): さっぱりとした大根おろしと特製ポン酢で。ライスかパン付き。
- ミックスフライ(1,200円): エビフライ、ヒレカツ、白身フライの盛り合わせ。自家製タルタルソース付き。
- ナポリタン(800円): 昔ながらの太めのスパゲティを使用。ケチャップの甘みと玉ねぎ、ピーマン、ウインナーの旨みが調和。
- カレーライス(750円): 野菜をたっぷり使った特製カレー。福神漬け付き。オプションのトッピング:目玉焼き(+100円)、チーズ(+100円)、ハンバーグ(+300円)
- オムライス(850円): ふわとろ卵に包まれた特製チキンライス。デミグラスソースまたはケチャップを選べます。
- コーヒー(350円): おかわり半額
- アイスコーヒー(400円)
- ウーロン茶(300円)
- メロンソーダ(350円)
- クリームソーダ(450円)
- プリン(300円)
- チョコレートパフェ(500円)
- バニラアイス(250円)

## あなたのタスク

1. お客様をお迎えする: 温かい歓迎の挨拶から始め、どのようなお手伝いができるかをお尋ねください。
2. 注文を受ける: お客様の選択を注意深く聞き、キッチンさくらの種類と数量を確認してください。
3. 注文の詳細を確認する: お客様に注文を繰り返して確認してください。
4. 合計金額を計算する: 注文された品目に基づいて合計金額を計算してください。
5. 配達先情報の収集: 配達時間の目安を伝えるため、お客様の配達先住所をお尋ねします。
6. 配達時間の目安: 調理時間は10分で、お客様の地域を基準とした配達時間を加えた時間をお客様にお知らせします。
7. 注文内容の要約: お客様に注文内容の要約、合計金額、配達時間の目安をお知らせします。
8. 会話の終了: お客様に感謝の意を表し、注文の準備中であることをお知らせします。

## ガイドライン

- 会話全体を通して、フレンドリーかつプロフェッショナルな口調で対応してください。
- 顧客のニーズに根気よく、かつ注意深く対応してください。
- 情報が不明な場合は、顧客に丁寧に繰り返し説明してもらうか、明確にしてもらってください。
- 支払いに関する情報は収集しないでください。支払いについては、商品の配達時に処理すると顧客に伝えてください。
- 注文の受付や管理とは関係のない話題は避けてください。

LLMは、デフォルトの「Gemini 1.5 Flash」にしたが、以下から選べる様子。

他にもLLMのパラメータや、あと、RAGで使うナレッジベースのデータなんかも設定できる様子だが、とりあえず。

次に「Voice」タブ。ここではTTSの設定を行える様子。今回は音声を変えただけ。あとモデルはせっかくなので最新のFlash v2.5を使う。これで一旦保存する。

あと、エージェントの名前はここで変更できる。

では「Test AI Agent」をクリックしてテストしてみる。

「Call AI Agent」をクリック

実際に試した動画

https://youtu.be/AKBl4a6Z4u0

日本語の発話に関しては、以前と変わらず非常に読み間違いが多くて残念なのだが、レスポンスは悪くないと思う。

kun432kun432

エージェントの会話を解析して、会話が成功したかの評価や、会話からデータの抽出などを行うことができる。

「Analysis」タブに以下の2つがある。

  • Evaluation criteria: 会話を評価するための基準を設定する
  • Data collection: 会話からデータを抽出するための設定を行う

「Evaluation criteria」では、目的を達成できたか?という観点で評価基準をプロンプトで設定(Goal Prompt Criteria)、つまりLLMが評価する模様。複数の目的を設定でき、結果は success / failure / unknownで判定される。

ドキュメントでは以下のような項目を設定している様子

  • 注文が完了したか?: 顧客の注文を確認し、金額や配送先、配達時間などを説明したか、を評価する
  • 顧客は満足したか?: 会話から満足の兆候を分析し、顧客の質問にきちんと回答しているか、顧客が不満を表していないか、などを評価する
  • メニューについてきちんと説明したか?: メニューにオプションがある場合などはきちんとそれを説明、確認したか、などを評価する

「Data collection」では、会話から抽出したい項目を型・プロンプトで登録する。つまり、こちらもLLMで解析されるということになる。こちらも複数登録ができる。

ドキュメントでは以下のような項目が登録されている。

  • 注文の種類: 配達 / ピックアップ / 確認だけ のどれか
  • 注文したメニュー: 注文確定したメニュー / 注文をやめたメニュー / 確認されたメニュー など
  • 配達地域
  • 会話のカテゴリー: 注文確定した / 注文をやめた / メニューの確認 / 一般的な確認 など

これらの項目を登録すると「それ以降」の会話ではこの情報が記録されるようになる。

エージェントの会話履歴や上記の評価や抽出した情報は「Call History」から確認できる。

一覧から、個々の会話の詳細を確認してみる

個々の会話は録音されているのでここで聞くことができ、また会話のサマリが生成される。

下にスクロールすると、先ほど登録した評価基準や項目抽出設定に従って、評価と項目がリストアップされているのがわかる。

また会話の文字起こしも確認することができる。認識精度はいまいちな感があるけど。

kun432kun432

インテグレーション

上記はダッシュボード上のテスト用で確認したが、実際に使う場合はアプリケーション等でアクセスすることになる。ドキュメントには

  • Next.JS/Viteアプリ
  • Twilioとの連携
  • WordPressやWIXなどのノーコードCMSへの埋め込みチャットボット

などのサンプル、組み込み手順、そして

  • Python
  • React
  • JavaScript
  • iOS

それぞれのSDKや、また、WebSocketを含むAPIリファレンスが用意されているので、確認されたい。

kun432kun432

まとめ

リアルタイム性のある音声エージェントが、Webでポチポチするだけでめちゃめちゃ簡単にできてしまう上、評価やデータ抽出なんかの利用解析手段も整備されているのは良いと思う。

ただ、以前からそうなのだが、ElevenLabsは日本語TTSの精度がイマイチすぎる・・・

今回は先日新しくリリースされたモデル「Flash v2.5」を使って、改善されていることを期待したのだけど、残念ながら以前のモデルと変わらないように思う。

Conversational AIの設定はほんと簡単お手軽にできてしまうのだが、それだけに余計に日本語TTSの残念さが目立ってしまう・・・

英語だときっと素晴らしいんだろうねぇ・・・ほんと残念・・・

このスクラップは2ヶ月前にクローズされました
ログインするとコメントできます