You need to enable JavaScript to run this app.
文档中心
AI 原生 BaaS 平台 Supabase 版

AI 原生 BaaS 平台 Supabase 版

复制全文
下载 pdf
大模型访问管理
模型使用
复制全文
下载 pdf
模型使用
AIDAP 为使用 Supabase 引擎的 Workspace 提供了访问大模型的能力(AI-Gateway),允许用户通过兼容 OpenAI 的接口调用字节跳动 Doubao 系列模型。本文介绍如何在控制台中查看可用模型、在线测试模型效果以及通过 SDK 调用模型。​
功能简介​
AIDAP 提供的面向 APP/Agent 用户的、一站式访问大模型的 AI-Gateway 能力。相比于传统 AI-Gateway,AIDAP 的 AI-Gateway 具有如下优势:​
​
核心优势​
功能详情​
开发者收益​
免 API Key 安全管理​
深度集成认证体系:​
  • 与 Supabase Auth 无缝融合,支持 access_token 与 service_role_key 的统一身份认证。​
  • 安全性跃升:无需为终端用户分发 API Key,从根源规避密钥泄露风险。​
  • 快速接入:现有 Supabase 应用可快速添加访问 AI 模型的能力。​
  • 架构简化:支持“纯前端”开发模式,免去后端中转服务的开发成本。​
主流生态全兼容​
标准协议原生支持:​
  • 兼容 OpenAI (GPT)、Anthropic (Claude)、Google (Gemini) 等主流厂商 SDK。​
  • 深度适配 Vercel AI SDK 等现代化 AI 开发工具链。​
  • 无感迁移:开发者可延续原有开发习惯与工具链,零学习成本。​
  • 降低负担:无需关心底层模型协议的转换与维护,大幅减轻研发压力。​
一站式运维管理套件​
全链路用户与流量治理:​
  • 内置配额管理、多层级限流策略及模型 Fallback。​
  • 提供计量计费、观测审计、长期记忆及 Hooks 回调。​
  • 缩短交付周期:免去运维管理功能的重复开发,使团队更聚焦业务创新。​
  • 维护成本优化:在 AI 编程场景下,显著降低生成的代码复杂度,提升代码的可维护性。​
​
说明​
关于大模型的详细计费信息,请参见大模型访问计费项与价格。​
注意事项​
新创建的 Workspace 中,用户的 Token 配额默认为 0,因此在您初次使用 AI-Gateway之前,需要先调整配额值,否则会遇到以下报错:​
  • {"error":{"message":"no quota configured for user","type":"quota_exceeded"}}​
  • {"type":"error","error":{"type":"rate_limit_error","message":"no quota configured for user"}}​
  • {"error":{"code":402,"message":"no quota configured for user","status":"RESOURCE_EXHAUSTED"}}​
功能入口​
  1. 在顶部导航栏,选择目标项目和目标地域。​
  1. 进入目标 Workspace 的分支管理页面。可通过以下两种途径中的任意一种进入目标 Workspace 的分支管理页面。​
  • 单击页面中间导航栏中的​​分支管理,再单击页面左上角的 Workspace 名称右侧的​​,在弹出的下拉列表中选择目标 Workspace,即可进入目标 Workspace 的分支管理页面。​
  • 单击页面中间导航栏中的​​ Workspaces 进入 Workspaces 页面。在 Workspaces 页面单击目标 Workspace 名称进入目标 Workspace 的概览页。在概览页,单击分支区域右侧的全部分支,即可进入目标 Workspace 的分支管理页面。​
​
  1. 在分支管理页面,单击目标分支名称,进入分支总览页。​
  1. 在分支总览页,选择访问大模型 > 模型使用选项卡。​
查看模型列表​
在模型使用页面左侧,展示了当前 Workspace 可用的大模型列表。每个模型显示以下信息:​
  • 模型名称:模型的完整标识符,例如 bytedance/doubao-seed-2.0-pro。​
  • 模型类型:模型的能力类型,例如“文本模型”。​
  • 提供方:模型的提供方,例如“字节跳动”。​
当前支持的模型包括:​
​
模型名称​
类型​
提供方​
服务状态​
bytedance/doubao-seed-2.1-pro​
文本模型​
字节跳动​
服务中​
bytedance/doubao-seed-2.1-turbo​
文本模型​
字节跳动​
已下线​
bytedance/doubao-seed-2.0-pro​
文本模型​
字节跳动​
已下线​
bytedance/doubao-seed-2.0-code​
文本模型​
字节跳动​
已下线​
bytedance/doubao-seed-2.0-lite​
文本模型​
字节跳动​
已下线​
bytedance/doubao-seed-2.0-mini​
文本模型​
字节跳动​
服务中​
bytedance/doubao-seedance-2.0​
视频模型​
字节跳动​
服务中​
bytedance/doubao-seedance-2.0-fast​
视频模型​
字节跳动​
服务中​
bytedance/doubao-seedance-2.0-mini​
视频模型​
字节跳动​
服务中​
bytedance/doubao-seedream-5.0-pro​
图片模型​
字节跳动​
服务中​
bytedance/doubao-seedream-5.0-lite​
图片模型​
字节跳动​
已下线​
​
注意​
  • 实际可用的模型列表可能随平台更新而变化,请以控制台页面显示为准。​
  • 图片模型 doubao-seedream-5.0-lite 已于 2026 年 10 月 12 日停止服务。建议您换用 doubao-seedream-5.0-pro。​
  • 文本模型 doubao-seed-2.1-turbo 和 doubao-seed-2.0-lite 已于 2026 年 10 月 9 日停止服务。建议您换用 doubao-seed-2.1-pro。​
  • 文本模型 doubao-seed-2.0-pro 和 doubao-seed-2.0-code 已于 2026 年 8 月 8 日停止服务。您可使用 doubao-seed-2.1-pro 和 doubao-seed-2.1-turbo 作为替换。​
在线测试模型​
在模型列表中单击选择目标模型后,右侧区域将展示该模型的测试交互面板。您可以:​
  1. 在输入框中输入想要测试的内容,例如“什么是大模型?”。​
  1. 单击发送按钮,即可实时查看模型的响应结果。​
通过在线测试,您可以快速验证不同模型的能力表现,选择最适合业务场景的模型。​
若选择的视频/图片模型(Seedance/Seedream),交互区将展示对应的多模态生成参数,便于在线体验不同模型的效果与能力差异。​
说明​
在访问大模型控制台中,您的会话记录不会保留(离开页面后历史聊天记录不再显示),但历史生成的视频产物会保存在对应分支的 Storage 中,您仍可前往 Storage 下载历史产物。​
  • Bucket 名称:_supabase_internal_ai_gateway_output​
  • 视频文件路径:video/<tenant>/<user>/<task_id>/video.mp4​
  • 最后一帧路径:video/<tenant>/<user>/<task_id>/last_frame.<ext>​
查看 AI Gateway 审计日志​
  1. 在 Supabase 控制台单击左侧导航栏的 Logs,进入 Logs & Analytics 页面。​
  1. 在 Logs & Analytics 页面,单击 Collection > AI Gateway,即可进入 AI Gateway 的审计日志页面。​
在该页面上,您可以查看到 AI Gateway 服务产生的运行日志列表。​
搜索与过滤​
日志列表上方提供了以下过滤和查看工具:​
  • 搜索框:支持按关键词检索日志事件。​
  • 刷新按钮:手动刷新日志列表。​
  • Last hour:时间范围选择器,默认显示最近一小时的日志,可切换其他时间范围。​
  • Severity:按日志级别(如 INFO、WARNING、ERROR)过滤​
  • Module:按模块维度过滤日志,支持的模块有 Backend 和 AI Request Trace。​
  • Chart:图表视图的开关,直观查看日志量分布趋势。​
  • 下载按钮:导出当前日志数据。​
查看日志详情​
单击日志列表中任意一条日志的标签(如 INFO),右侧会展开该条日志的详情面板,提供 Details 和 Raw 两个视图:​
  • Details 视图​
以结构化方式展示日志的关键字段,便于快速阅读:​
​
字段​
说明​
id​
日志条目的唯一标识符。​
timestamp​
日志产生的时间戳。​
event_message​
完整的原始日志消息内容。​
metadata​
日志元数据,包含 level(日志级别)、module(所属模块)、msg(简短消息)等字段,支持单击 Expand 展开查看完整内容。​
​
  • Raw 视图​
以原始 JSON 格式展示日志的完整数据,字段与 Details 视图一一对应,适合需要复制或精确解析日志内容的场景。示例结构如下:​
​
​
{​
"event_message": "...",​
"id": "d93da8cc-52d5-4d05-ad10-5e673e06****",​
"metadata": [​
{​
"level": "info",​
"module": "backend",​
"msg": "[BACKEND] HERTZ: HTTP server listening on address=[::]:8916"​
}​
],​
"timestamp": 1782114218004000​
}​
​
调用示例​
页面下方提供了调用代码示例,帮助您将模型集成到应用程序中。当前支持以下三种调用方式:​
  • OpenAI:通过 OpenAI SDK 调用,适合已集成 OpenAI 生态的应用。​
  • cURL:通过命令行直接发送 HTTP 请求,适合快速调试和测试。​
  • Vercel AI:通过 Vercel AI SDK 调用,适合基于 Vercel 部署的 AI 应用。​
说明​
AIDAP Supabase 的大模型接口兼容 OpenAI API 格式。您可以在控制台的调用方式下拉菜单中切换不同方式,查看对应的代码示例。​
通用调用流程​
无论使用哪种调用方式,核心流程均为:​
  1. 通过 Supabase 客户端获取当前用户的 Session(Access Token)。​
  1. 使用该 Token 作为鉴权凭证,将 Supabase 实例的 URL 作为请求地址。​
  1. 调用 Chat Completions 接口发送请求。​
文本模型调用示例​
通过 OpenAI SDK 调用文本模型​
通过 OpenAI 官方 SDK 调用模型,适合已集成 OpenAI 生态的应用。无需额外安装特定 SDK。​
​
const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY);​
​
const { data: { session }, error } = await supabase.auth.getSession();​
​
const client = new OpenAI({​
apiKey: session.access_token,​
baseURL: '$SUPABASE_URL/v1',​
})​
​
const stream = await client.chat.completions.create({​
model: 'bytedance/doubao-seed-2.0-pro',​
stream: true,​
messages: [{ role:'user', content: '' }],​
});​
​
通过 cURL 调用文本模型​
通过命令行直接发送 HTTP 请求,适合快速调试和测试。​
​
curl "$SUPABASE_URL/v1/chat/completions" \​
-H "Authorization: Bearer $session.access_token" \​
-H "Content-Type: application/json" \​
-d '{​
"model":"bytedance/doubao-seed-2.0-pro",​
"stream": true,​
"messages":[{"role":"user","content":""}​
]​
}'​
​
通过 Vercel AI SDK 调用文本模型​
通过 Vercel AI SDK 调用模型,适合基于 Vercel 部署的 AI 应用。​
​
const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY);​
​
const { data: { session }, error } = await supabase.auth.getSession();​
​
const gateway = createOpenAICompatible({​
name: "ai-gateway",​
apiKey: session.access_token,​
baseURL: '$SUPABASE_URL/v1',​
});​
​
const result = streamText({​
model: gateway('bytedance/doubao-seed-2.0-pro'),​
prompt: '',​
});​
​
视频模型调用示例​
通过 Ark Python SDK 调用视频模型​
​
import os​
import time​
​
from arkruntime import Ark​
from supabase import create_client​
​
supabase_url = "https://br-xxx.supabase.aidap.cn-beijing.volces.com"​
supabase_anon_key = os.environ.get("SUPABASE_ANON_KEY")​
​
# 构造 Supabase Client​
supabase = create_client(supabase_url, supabase_anon_key)​
​
def generate_video() -> None:​
# 获取已登录 APP 用户的 Supabase session​
session = supabase.auth.get_session()​
client = Ark(​
base_url=supabase_url + "/api/v3",​
api_key=session.access_token,​
)​
​
response = client.content_generation.tasks.create(​
model="bytedance/doubao-seedance-2.0-fast",​
content=[​
{​
"type": "text",​
"text": (​
"一段 5 秒的产品展示视频:银色机器人手臂在明亮工作台上绘制一朵蓝色花,"​
"镜头缓慢推进,写实摄影风格,高质量细节"​
),​
}​
],​
duration=5,​
ratio="16:9",​
resolution="720p",​
watermark=False,​
)​
​
task = client.content_generation.tasks.get(response.id)​
while str(getattr(task.status, "value", task.status)) not in {​
"succeeded",​
"failed",​
"cancelled",​
}:​
time.sleep(10)​
task = client.content_generation.tasks.get(response.id)​
​
print("response:", task)​
​
generate_video()​
​
图片模型调用示例​
通过 Ark Python SDK 调用图片模型​
​
import os​
​
from arkruntime import Ark​
from supabase import create_client​
​
supabase_url = "https://br-xxx.supabase.aidap.cn-beijing.volces.com"​
supabase_anon_key = os.environ.get("SUPABASE_ANON_KEY")​
​
# 构造 Supabase Client​
supabase = create_client(supabase_url, supabase_anon_key)​
​
def generate_image() -> None:​
# 获取已登录 APP 用户的 Supabase session​
session = supabase.auth.get_session()​
client = Ark(​
base_url=supabase_url + "/v1",​
api_key=session.access_token,​
)​
​
response = client.images.generate(​
model="bytedance/doubao-seedream-5.0-pro",​
prompt=(​
"一张简洁的科技产品海报:银色机器人手臂在明亮工作台上绘制一朵蓝色花,"​
"写实摄影风格,高质量细节"​
),​
size="1024x1024",​
watermark=False,​
response_format="url",​
output_format="png",​
)​
print("response:", response)​
​
generate_image()​
​
通过 OpenAI Python SDK 调用图片模型​
​
import os​
​
from openai import OpenAI​
from supabase import create_client​
​
supabase_url = "https://br-xxx.supabase.aidap.cn-beijing.volces.com"​
supabase_anon_key = os.environ.get("SUPABASE_ANON_KEY")​
​
# 构造 Supabase Client​
supabase = create_client(supabase_url, supabase_anon_key)​
​
def generate_image() -> None:​
# 获取已登录 APP 用户的 Supabase session​
session = supabase.auth.get_session()​
client = OpenAI(​
base_url=supabase_url + "/v1",​
api_key=session.access_token,​
)​
​
response = client.images.generate(​
model="bytedance/doubao-seedream-5.0-pro",​
prompt=(​
"一张简洁的科技产品海报:银色机器人手臂在明亮工作台上绘制一朵蓝色花,"​
"写实摄影风格,高质量细节"​
),​
size="1024x1024",​
response_format="url",​
extra_body={​
"watermark": False,​
"output_format": "png",​
},​
)​
print("response:", response)​
​
generate_image()​
​
通过 Vercel Python SDK 调用图片模型​
​
import asyncio​
import os​
​
import ai​
from supabase import create_client​
​
supabase_url = "https://br-xxx.supabase.aidap.cn-beijing.volces.com"​
supabase_anon_key = os.environ.get("SUPABASE_ANON_KEY")​
​
# 构造 Supabase Client​
supabase = create_client(supabase_url, supabase_anon_key)​
​
async def generate_image() -> None:​
# 获取已登录 APP 用户的 Supabase session​
session = supabase.auth.get_session()​
provider = ai.get_provider(​
"openai",​
base_url=supabase_url + "/v1",​
api_key=session.access_token,​
)​
​
response = await provider.sdk_client.images.generate(​
model="bytedance/doubao-seedream-5.0-pro",​
prompt=(​
"一张简洁的科技产品海报:银色机器人手臂在明亮工作台上绘制一朵蓝色花,"​
"写实摄影风格,高质量细节"​
),​
size="1024x1024",​
response_format="url",​
extra_body={​
"watermark": False,​
"output_format": "png",​
},​
)​
print("response:", response)​
​
asyncio.run(generate_image())​
​
关键参数说明​
​
参数​
说明​
apiKey / Authorization​
使用 Supabase 认证体系中的 session.access_token 作为鉴权凭证。​
baseURL / 请求地址​
设置为 Supabase 实例的 URL 加 /v1 后缀,例如 https://your-instance.supabase.co/v1。​
model​
指定要调用的模型名称,需从模型列表中选择,例如 bytedance/doubao-seed-2.0-pro。​
stream​
设置为 true 时启用流式输出,模型将逐步返回生成内容。​
messages / prompt​
对话消息内容。OpenAI 和 cURL 使用 messages 数组(含 role 和 content);Vercel AI 使用 prompt 字符串。​
​
更多示例​
更多使用示例,请参见 APP/Agent 通过 AI-Gateway 访问 AI 模型。​
最近更新时间:2026.10.09 14:28:14
这个页面对您有帮助吗?
有用
有用
无用
无用