コンテンツにスキップ

SupabaseをElevenLabsの会話型AI音声エージェントに接続

データベースの力で実現するシームレスなリアルタイム音声AI

設定時間

10~15分

難易度

中級

カテゴリ

スケジューリング & コミュニケーション

タイプ

API

SupabaseでAI音声エージェントがライブデータにアクセス

SupabaseとElevenLabsの連携により、アプリケーションデータを音声で操作できる強力なインターフェースが実現します。AIエージェントはデータベースへのクエリ、リアルタイムの変化への対応、サーバーサイドロジックの実行を自然な会話で行い、ユーザーが期待する低遅延パフォーマンスを維持します。

仕組み

ElevenLabsの音声エージェントはSupabaseの自動生成REST APIやEdge Functionsに直接接続し、会話中にリアルタイムでデータへアクセスできます。ユーザーが「注文状況は?」「今日の分析を見せて」などと質問すると、エージェントがSupabaseデータベースからライブデータを即座に取得し、返答します。

主な機能

  • リアルタイムデータクエリ 音声会話中に実行
  • 安全なAPI連携 認証機能を内蔵
  • サーバーレスロジックの実行 Supabase Edge Functions経由
  • グローバル低遅延アクセス 分散インフラによる提供
  • シームレスなスケーラビリティ ユーザー数の増加に対応

デベロッパー向けメリット

この連携は、既存システムとシームレスに統合できる信頼性の高い音声AIを求めるデベロッパー向けに設計されています。複雑なカスタムバックエンドは不要で、SupabaseのPostgreSQL基盤により標準SQLが使え、ElevenLabsがエンタープライズレベルの音声レイヤーを提供します。

機能

連携機能

音声エージェントをより賢く、反応よくする強力な機能

リアルタイムデータベースアクセス

  • ライブ会話中にSupabaseへ直接APIコール
  • サブセカンド応答の即時データ取得
  • 複雑なSQLクエリやJOINにも対応
  • 頻繁にアクセスされるデータのキャッシュ機能

安全な認証・認可

  • Supabase AuthによるJWT認証
  • ユーザーごとのデータアクセスを制御するRow Level Security
  • ロールベース権限によるAPIキー管理
  • 機密情報の暗号化通信

Edge Function連携

  • 通話中のカスタムサーバーレスロジック実行
  • 複数テーブル操作や外部APIコールに対応
  • TypeScript/JavaScriptによる複雑なワークフロー対応
  • グローバル展開による最小遅延

多言語データ対応

  • 31以上の言語で音声対話が可能
  • 入力言語に関係なく統一されたデータベースクエリ
  • リアルタイム翻訳機能
  • 返答時の文化的文脈も保持

リアルタイムデータ同期

  • 会話中にライブでデータベース更新
  • Webhookによるプッシュ通知対応
  • データ変更イベントに応じたレスポンス
  • 既存ワークフローとのシームレス連携

インストール

インストールガイド

Supabase+ElevenLabs連携をすぐに始める手順

ステップ1:Supabaseアクセスの準備

Supabaseプロジェクトの認証情報を用意

  • app.supabase.comでSupabaseダッシュボードにログイン
  • 既存プロジェクトを選択、または新規作成
  • 左サイドバーの「設定」→「API」へ移動
  • 「Project URL」をコピー(例:https://your-project.supabase.co
  • サーバーサイド操作用の「Service Role Key」をコピー
  • 公開アクセスが必要な場合は「Anon Key」を控える

Row Level Securityの設定

  • Supabaseの「認証」→「ポリシー」へ移動
  • エージェントがアクセスするテーブルに適切なRLSポリシーを設定
  • Service Role Keyに必要な権限があるか確認
  • SQLエディタでサンプルクエリを使いポリシーをテスト

ステップ2:ElevenLabsエージェントの設定

Supabase認証情報を安全に保存

  • ElevenLabs会話型AIダッシュボードに移動
  • 「設定」→「Secrets Manager」へ進む
  • SUPABASE_SERVICE_KEYという名前で新しいシークレットを作成
  • SupabaseのService Role Keyを値として貼り付け
  • SUPABASE_URLという名前でプロジェクトURLのシークレットも作成

ツール設定にアクセス

  • ダッシュボードから音声エージェントを選択
  • 「ツール」セクションに移動
  • 「新しいツールを追加」をクリックしてデータベース連携を作成

ステップ3:データベースツールの定義

データベースクエリツール

  • 名前:query_database
  • 説明:Supabaseデータベースからデータを取得
  • メソッド:GET
  • URL:SupabaseプロジェクトURLの後ろに/rest/v1/table_nameを入力
  • apikeyというヘッダーを追加し、保存済みのSUPABASE_SERVICE_KEYを選択
  • Authorizationヘッダーを追加し、BearerトークンでSUPABASE_SERVICE_KEYを選択
  • Content-Typeヘッダーを追加し、値はapplication/json

レコード挿入ツール

  • 名前:insert_record
  • 説明:Supabaseデータベースに新規レコードを作成
  • メソッド:POST
  • URL:SupabaseプロジェクトURLの後ろに/rest/v1/table_nameを入力
  • apikeyというヘッダーを追加し、保存済みのSUPABASE_SERVICE_KEYを選択
  • Authorizationヘッダーを追加し、BearerトークンでSUPABASE_SERVICE_KEYを選択
  • Content-Typeヘッダーを追加し、値はapplication/json
  • Preferヘッダーを追加し、値はreturn=representation

レコード更新ツール

  • 名前:update_record
  • 説明:Supabase内の既存レコードを更新
  • メソッド:PATCH
  • URL:SupabaseプロジェクトURLの後ろに/rest/v1/table_nameを入力
  • apikeyというヘッダーを追加し、保存済みのSUPABASE_SERVICE_KEYを選択
  • Authorizationヘッダーを追加し、BearerトークンでSUPABASE_SERVICE_KEYを選択
  • Content-Typeヘッダーを追加し、値はapplication/json
  • レコード選択用のクエリパラメータを設定

レコード削除ツール

  • 名前:delete_record
  • 説明:Supabaseデータベースからレコードを削除
  • メソッド:DELETE
  • URL:SupabaseプロジェクトURLの後ろに/rest/v1/table_nameを入力
  • apikeyというヘッダーを追加し、保存済みのSUPABASE_SERVICE_KEYを選択
  • Authorizationヘッダーを追加し、BearerトークンでSUPABASE_SERVICE_KEYを選択
  • レコード選択用のクエリパラメータを設定

ステップ4:エージェントプロンプトの設定

システムプロンプトの更新

エージェントのシステムプロンプトにデータベースアクセス手順を追加:

以下のツールでSupabaseデータベースにアクセスできます:

  • query_database:ユーザーがデータについて質問したときに情報を取得
  • insert_record:ユーザー入力に基づき新しいエントリを作成
  • update_record:リクエストに応じて既存データを修正
  • delete_record:権限がある場合にレコードを削除

insert・update・delete操作を実行する前に、必ずユーザーに内容を確認してください。データ取得時は自然な会話形式で提示しましょう。

ツール説明の設定

各ツールに、エージェントが使い分けやすい明確な説明を記載:

  • クエリツール:既存データの質問や検索時に使用
  • 挿入ツール:新しい情報追加やレコード作成時に使用
  • 更新ツール:既存データの変更リクエスト時に使用
  • 削除ツール:情報削除が必要な場合に慎重に使用

レスポンス処理の設定

エージェントに適切なデータベースレスポンス処理を学習させる:

  • 返却データを解析し、会話形式で提示
  • 結果が空の場合も親切なメッセージで案内
  • 挿入・更新成功時は必ず確認メッセージを返す
  • エラーメッセージはユーザーに分かりやすく伝える

トラブルシューティング

トラブルシューティング&サポート

スムーズな運用のためのよくある問題と解決策

サポートに連絡

最もリアルな音声AIプラットフォーム