跳到主要内容

常见问题 FAQ

在流式调用时,如何才能知道流式传输结束了?

for await 代码块后的代码在流式传输之后才会执行,所以只要在for await 代码块后做流式调用结束相关的通知/设定标识的操作即可。

const hy = ai.createModel("hunyuan"); // 创建模型
const res = await hy.streamText({
model: "hunyuan-lite",
messages: [{ role: "user", content: "你好,请你介绍一下李白" }],
});

for await (let str of res.textStream) {
console.log(str);
}
console.log("流式传输结束啦"); // 流式传输结束后才会执行这里的代码!

大模型请求超时怎么办?

在请求大模型时,提示词的简单程度、网络速度等多重因素可能都会让请求时长增加。cloudbase-js-sdk 默认设置了超时时间为 15 秒,当请求超时时,会主动取消请求。用户可以在 cloudbase.init 时自定义超时时间。

import cloudbase from "@cloudbase/js-sdk";

const app = cloudbase.init({
env: "your-env", // 需替换为实际使用环境 id
timeout: 30000 // 设置超时时间为 30 秒
});
const auth = app.auth();
await auth.signInAnonymously(); // 或者使用其他登录方式
const ai = await app.ai(); // 后续就可以按常规方式调用 ai 能力了