跳到主要内容

SDK 初始化

web 端初始化

// 在 Web 项目的根目录下,使用 npm 或 yarn 安装所需的包:
// npm i @cloudbase/js-sdk@2.8.26-beta.0

// 引入 SDK,这里我们引入了完整的 clousebase-js-sdk,也支持分模块引入
import cloudbase from "@cloudbase/js-sdk";

const app = cloudbase.init({
env: "your-env", // 需替换为实际使用环境 id
});
const auth = app.auth();
await auth.signInAnonymously(); // 或者使用其他登录方式
const ai = await app.ai();
// 接下来就可以调用 ai 模块提供的方法了

小程序端初始化

微信小程序基础库和 AI SDK,我该用哪个?

AI SDK 和微信小程序基础库提供的 AI 能力是相同的。

AI SDK 是云开发提供的多端 SDK,在多个平台都有一致的使用体验。如果您有一码多端的需求,可以选用 AI SDK。

然而在小程序上使用 AI SDK 会受到一定的限制:

  1. 小程序包体积有限制,引入 AI SDK 会增加一定的包体积
  2. 小程序需要配置服务器域名,配置完成后 AI SDK 才能进行请求

微信小程序基础库内置了完整的云开发 AI 能力,不占用包体积,也无需配置服务器域名。对于专注于小程序的开发者们,使用微信小程序基础库是一个好的选择。在不用安装任何外部包的情况下,也能完整地访问到云开发提供的 AI+ 能力。

微信小程序基础库和 AI SDK 在使用方法上有一定的区分,请注意阅读文档。

使用微信小程序基础库

wx.cloud.init({
env: 'lowcode-2gp2855c5ce22e35', // 指定云开发环境 ID
});

const ai = wx.cloud.extend.AI;
// 接下来就可以调用 ai 模块提供的方法了

使用 AI SDK

// 在开始之前,请确保完成配置了小程序 request 合法域名,详情请参考 https://docs.cloudbase.net/quick-start/baas/wx-mini
// 在小程序 package.json 所在的目录(一般是 miniprogram 目录)执行命令安装 npm 包:
// npm i @cloudbase/js-sdk@2.8.26-beta.0
// 安装完成后,点击微信开发者工具的菜单栏中「工具 -> 构建 npm」

// 引入 SDK,这里我们以分模块的形式按需引入了 cloudbase-js-sdk,也支持完整引入
import cloudbase from "@cloudbase/js-sdk/app";
import { registerAuth } from "@cloudbase/js-sdk/auth";
import { registerAi } from "@cloudbase/js-sdk/ai";

registerAuth(cloudbase);
registerAi(cloudbase);
const app = cloudbase.init({
env: "your-env", // 需替换为实际使用环境 id
});
const auth = app.auth({ persistence: "local" });
await auth.signInWithOpenId(); // 或者使用其他登录方式
const ai = await app.ai();
// 接下来就可以调用 ai 模块提供的方法了

云函数 Node.js 端初始化

云函数的运行环境为 Node.js。在云函数中使用 AI SDK 接入大模型,Agent 之前,需要完成以下的初始化工作。

Node.js 版本要求

Node.js 要求 18 以上版本,请在新建云函数时注意选择符合要求的 Node.js 版本。

// 在 Node.js 项目的根目录下,使用 npm 或 yarn 安装所需的包:
// npm i @cloudbase/js-sdk@2.8.26-beta.0
// npm i @cloudbase/adapter-node

// 引入 SDK,这里我们引入了完整的 clousebase-js-sdk,也支持分模块引入
const cloudbase = require("@cloudbase/js-sdk");
// 引入 node.js 端的适配器,详情请参考 https://docs.cloudbase.net/api-reference/webv3/adapter#%E4%B8%80%E5%A5%97%E4%BB%A3%E7%A0%81%E5%A4%9A%E7%AB%AF%E9%80%82%E9%85%8D
const adapter = require("@cloudbase/adapter-node");


const { sessionStorage } = adapter.genAdapter();

cloudbase.useAdapters(adapter);

const app = cloudbase.init({
env: "your-env", // 需替换为实际使用环境 id
});
/**
* auth 初始化的时候要传入storage 和 captchaOptions.openURIWithCallback
* 否则会用默认的,依赖于平台,在 nodejs 环境报错
*/
const auth = app.auth({
storage: sessionStorage,
captchaOptions: {
openURIWithCallback: () =>
console.log("open uri with callback"),
},
});

exports.main = async (event, context) => {
await auth.signInAnonymously(); // 或者使用其他登录方式
const ai = await app.ai();
// 接下来就可以调用 ai 模块提供的方法了
};

在微搭中初始化

在微搭应用中可以通过 $w.cloud.getCloudInstance 获取 cloudbase 实例,并且不用关心登录等逻辑。

async function initAi() {
const app = await $w.cloud.getCloudInstance();
const ai = await app.ai();
// 接下来就可以调用 ai 模块提供的方法了
}

完成初始化后

在完成 SDK 初始化后,即可开始使用 AI+ 的各种能力了。可以参考以下文章进行使用:

参考链接

AI SDK 以 Cloudbase BaaS 为基础,在开发前推荐了解 BaaS 的各项配置,如安全域名、登录权限等,详情可参考: