让 AI 语音智能体实时访问 Supabase 数据
Supabase + ElevenLabs 集成为应用数据带来强大的语音交互能力。AI 智能体可通过自然对话查询数据库、实时响应变更、触发服务端逻辑,同时保持用户期望的低延迟体验。
工作原理
ElevenLabs 语音智能体可直接连接 Supabase 自动生成的 REST API 和 Edge Functions,实现对话中的实时数据访问。用户可以提问如“我的订单状态如何?”或“查看今日分析”,智能体会即时从 Supabase 数据库获取并回复最新数据。
核心能力
- 实时数据查询,支持语音对话
- 安全 API 集成,内置认证机制
- 无服务器逻辑执行,通过 Supabase Edge Functions
- 全球低延迟访问,分布式架构支持
- 无缝扩展,可随用户增长灵活扩容
开发者优势
本集成适合需要可靠、可控语音 AI 并能无缝对接现有系统的开发者。无需复杂自定义后端,Supabase 基于 PostgreSQL,可用标准 SQL,ElevenLabs 提供企业级语音层支持。
功能
集成功能
让语音智能体更智能、更高效的强大功能
实时数据库访问
- 对话中直接调用 Supabase API
- 亚秒级响应,数据即时获取
- 支持复杂 SQL 查询与多表关联
- 常用数据自动缓存
安全认证与授权
- 基于 JWT 的 Supabase Auth 认证
- 行级安全,按用户访问数据
- API 密钥管理,基于角色的权限控制
- 敏感信息加密传输
Edge Function 集成
- 通话中自定义无服务器逻辑执行
- 多表操作及外部 API 调用
- 支持 TypeScript/JavaScript 复杂流程
- 全球部署,极低延迟
多语言数据支持
- 支持 31+ 种语言语音交互
- 数据库查询统一,无论输入语言
- 实时翻译能力
- 回复保留文化语境
实时数据同步
- 对话中数据库实时更新
- 支持 Webhook 主动通知
- 数据变更事件驱动响应
- 无缝对接现有工作流
安装
安装指南
快速完成 Supabase + ElevenLabs 集成
步骤 1:准备 Supabase 访问
收集 Supabase 项目凭证
- 登录 app.supabase.com 的 Supabase 控制台
- 选择项目或新建项目
- 在左侧栏进入设置,再点击 API
- 复制项目 URL,格式如下:https://your-project.supabase.co
- 复制服务角色密钥,用于服务端操作
- 如需公开访问,记录 Anon Key
配置行级安全
- 在 Supabase 进入认证,再点击策略
- 为智能体访问的表设置合适的 RLS 策略
- 确保服务角色密钥有必要权限
- 在 SQL 编辑器用示例查询测试策略
步骤 2:配置 ElevenLabs 智能体
安全存储 Supabase 凭证
- 进入 ElevenLabs 对话式 AI 控制台
- 在设置中进入 Secrets Manager
- 新建名为 SUPABASE_SERVICE_KEY 的密钥
- 将 Supabase 服务角色密钥粘贴为值
- 再新建 SUPABASE_URL 密钥,填入项目 URL
工具配置
- 在控制台选择语音智能体
- 进入工具区
- 点击添加新工具,创建数据库集成
步骤 3:定义数据库工具
查询数据库工具
- 名称:query_database
- 描述:从 Supabase 数据库获取数据
- 方法:GET
- URL:输入 Supabase 项目 URL,后接 /rest/v1/table_name
- 添加名为 apikey 的 header,选择已安全存储的 SUPABASE_SERVICE_KEY
- 添加 Authorization header,选择 Bearer token,使用 SUPABASE_SERVICE_KEY
- 添加 Content-Type header,值为 application/json
插入记录工具
- 名称:insert_record
- 描述:在 Supabase 数据库新建记录
- 方法:POST
- URL:输入 Supabase 项目 URL,后接 /rest/v1/table_name
- 添加名为 apikey 的 header,选择已安全存储的 SUPABASE_SERVICE_KEY
- 添加 Authorization header,选择 Bearer token,使用 SUPABASE_SERVICE_KEY
- 添加 Content-Type header,值为 application/json
- 添加 Prefer header,值为 return=representation
更新记录工具
- 名称:update_record
- 描述:更新 Supabase 中的现有记录
- 方法:PATCH
- URL:输入 Supabase 项目 URL,后接 /rest/v1/table_name
- 添加名为 apikey 的 header,选择已安全存储的 SUPABASE_SERVICE_KEY
- 添加 Authorization header,选择 Bearer token,使用 SUPABASE_SERVICE_KEY
- 添加 Content-Type header,值为 application/json
- 配置查询参数,选择要更新的记录
删除记录工具
- 名称:delete_record
- 描述:从 Supabase 数据库删除记录
- 方法:DELETE
- URL:输入 Supabase 项目 URL,后接 /rest/v1/table_name
- 添加名为 apikey 的 header,选择已安全存储的 SUPABASE_SERVICE_KEY
- 添加 Authorization header,选择 Bearer token,使用 SUPABASE_SERVICE_KEY
- 配置查询参数,选择要删除的记录
步骤 4:配置智能体提示词
更新系统提示词
在智能体系统提示词中添加数据库访问说明:
你可使用以下工具访问 Supabase 数据库:
- query_database:用户询问数据时,用于获取信息
- insert_record:根据用户输入新建数据
- update_record:用户请求修改数据时使用
- delete_record:有权限时用于删除数据
执行插入、更新或删除操作前,务必与用户确认。查询数据时,请用自然对话方式呈现。
配置工具描述
为每个工具提供清晰描述,帮助智能体理解使用场景:
- 查询工具:遇到数据查询、搜索、查找时触发
- 插入工具:用户想添加新信息或新建记录时使用
- 更新工具:用户请求修改现有数据时使用
- 删除工具:用户需删除信息时谨慎使用
设置响应处理
训练智能体正确处理数据库响应:
- 解析返回数据并用对话方式呈现
- 遇到空结果时友好提示
- 确认插入和更新成功
- 用易懂语言反馈错误信息
故障排查
故障排查与支持
常见问题与解决方案,保障平稳运行