# 大模型接入

在小程序中,直接调用大模型的文本生成能力,实现最简单的文本生成

小程序基础库需要在 3.7.1 及以上版本,具备 wx.cloud.extend.AI 对象,开发者可以直接通过小程序中的 wx.cloud.extend.AI 调用。

# 初始化

在小程序代码中,通过以下代码进行云开发环境初始化:

wx.cloud.init({
    env: "<云开发环境ID>",
});

const ai = wx.cloud.extend.AI;

# createModel()

创建指定的 AI 模型。

支持如下模型:

模型提供商 模型标识
hunyuan hunyuan-exp
deepseek deepseek

# 使用示例

const model = ai.createModel("hunyuan-exp");

# ChatModel.streamText()

以流式调用大模型生成文本。流式调用时,生成的文本及其他响应数据会通过 SSE 返回,该接口的返回值对 SSE 做了不同程度的封装,开发者能根据实际需求获取到文本流和完整数据流。

# 使用示例

const hy = ai.createModel("hunyuan-exp"); // 创建模型

const res = await hy.streamText({
  data: {
    model: "hunyuan-lite", // 模型名称
    messages: [
      {
        role: "user",
        content: "hi"
      }
    ]
  }
});

for await (let str of res.textStream) {
  console.log(str); // 打印生成的文本
}
for await (let event of res.eventStream) {
  console.log(event); // 打印每次返回的完整数据

  // 当大模型结束传输时,通常会发一条 [DONE] 数据,在此之后即可停止循环
  if (event.data === "[DONE]") {
    break;
  }
}

# ChatModel.generateText()

调用大模型生成文本。

# 使用示例

const hy = ai.createModel("hunyuan-exp"); // 创建模型
const res = await hy.generateText({
  model: "hunyuan-lite",
  messages: [{ role: "user", content: "你好" }],
});
console.log(res);
// {
//   "id": "27dae91f4e9a4777782c61f89acf8ea4",
//   "object": "chat.completion",
//   "created": 1737602298,
//   "model": "hunyuan-lite",
//   "system_fingerprint": "",
//   "choices": [
//     {
//       "index": 0,
//       "message": {
//         "role": "assistant",
//         "content": "你好!很高兴与你交流。请问有什么我可以帮助你的吗?无论是关于生活、工作、学习还是其他方面的问题,我都会尽力为你提供帮助。"
//       },
//       "finish_reason": "stop"
//     }
//   ],
//   "usage": {
//     "prompt_tokens": 3,
//     "completion_tokens": 33,
//     "total_tokens": 36
//   },
//   "note": "以上内容为AI生成,不代表开发者立场,请勿删除或修改本标记"
// }
console.log(res.choices[0].message.content);
// 你好!很高兴与你交流。请问有什么我可以帮助你的吗?无论是关于生活、工作、学习还是其他方面的问题,我都会尽力为你提供帮助。