创建 AI 应用

在完成《5 分钟启动全栈应用》的基础上,如果你要开发 AI 应用,一般还需要实现以下功能:

  • 接入 AI 服务商
  • 设置 Token 计费方案(包括订阅制和一次性购买制)
  • 用户付费后增加 Token
  • 用户使用后扣减 Token
  • 展示 Token 使用情况

别担心,NuxtBase 已经为你准备好了这些功能,你只需要按照以下步骤进行配置即可:

1. 创建 AI 相关数据表

ai-table

在 Supabase SQL 编辑器中执行 sql/ai.sql 中的 SQL 语句,这将创建以下三个表:

  • nuxtbase_user_subscription_token: 订阅制用户的 token 记录表
  • nuxtbase_user_onetime_token: 一次性付费用户的 token 记录表
  • nuxtbase_user_token_history: 用户 token 使用历史记录表

2. 设置注册赠送 Token(可选)

register-trigger

如果你希望为新注册用户赠送免费的 Token,可以在 SQL 编辑器中执行 sql/register-trigger.sql 创建触发器

这样,每当新用户注册时,系统会自动向 nuxtbase_ai_token 表中插入一条记录,赠送相应数量的 Token(当前 sql 中是 1000token,你可以根据自己的需求调整)。

3. 配置 AI 服务

3.1 环境变量配置

.env 文件中添加以下配置:

# AI 服务配置
OPENAI_API_KEY=你的AI服务商API密钥
OPENAI_BASE_URL=你的AI服务商API地址

3.2 配置 Token 计费方案

/config/products/index.ts 中设置不同订阅计划对应的 Token 数量:

{
  // ..。付费产品其他配置
  token_limit: 1000, // 每月1000token
}

4. 示例功能

NuxtBase 提供了一个简单的基于 DeepSeek 的 API 给文案添加 emoji 的功能,你可以访问https://demo.nuxtbase.com来体验(需登录)。

ai-emoji

并且你可以访问https://demo.nuxtbase.site/dashboard/ai/tokens来查看你的 Token 使用情况,如下图:

token-history