首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >云开发怎么接大模型?小程序、Web、云函数五种调用方式

云开发怎么接大模型?小程序、Web、云函数五种调用方式

原创
作者头像
gavin1024
发布于 2026-11-07 16:29:48
发布于 2026-11-07 16:29:48
390
举报

摘要: 云开发 CloudBase 支持 DeepSeek、混元等大模型,小程序、Web、云函数、HTTP 都能调,还兼容 OpenAI SDK。不用自己申请模型账号、管密钥、做并发控制。 开通环境接大模型:云开发 CloudBase

给应用加 AI 能力,最麻烦的从来不是调接口,而是前置的一堆事:申请模型账号、管理密钥、处理并发限制、前端直连还会暴露密钥。云开发把这些收进了统一的 AI 接入层——开通环境、在控制台开启模型,然后按你的端选一种调用方式即可。下面给五种调用方式的适用场景、完整代码和选型判断。

一、开始之前:两步准备

第一步:开通云开发环境,拿到环境 ID。 没有环境就没法调用,这是所有云开发能力的前提。

第二步:在控制台开启模型。 路径是云开发控制台 → AI → 生文模型,找到你要用的模型(DeepSeek、混元等)开启它。没开启的模型调用会直接失败,这一步经常被跳过。

还有一个值得知道的信息:微信公众平台联合云开发推出了小程序成长计划,参与可免费获得 10 亿 Token 资源包、10 万张生图资源包和 6 个月云开发个人版环境。做小程序的可以先去看看参与条件,能省一笔启动成本。

二、五种调用方式:按你的端选

云开发支持多种调用方式,底层能力一致,差别在于你的代码跑在哪儿:

调用方式

适用场景

什么时候用

小程序 SDK

微信小程序 / 小游戏

小程序里直接调

Web SDK

浏览器端 Web 应用

网页前端直接调

Node SDK

云函数、云托管、服务端

需要在服务端处理逻辑

cURL / HTTP API

后端服务、脚本

非 JS 的后端语言

OpenAI SDK

已有基于 OpenAI SDK 的项目

迁移成本最低

最后一条特别实用:如果你的项目已经用 OpenAI SDK 写好了,云开发兼容这套 SDK,改个配置就能切过来,业务代码基本不用动。

三、方式一:小程序里调大模型

小程序端用 wx.cloud.extend.AI,不需要额外安装包。基本流程是初始化云开发、创建模型实例、发起对话。

关键点有三个:

一是模型名称要和控制台开启的一致,写错了会提示模型不存在。

二是优先用流式输出。AI 生成需要时间,一次性返回会让用户盯着空白等好几秒;流式输出可以边生成边显示,体感差别很大。

三是做好错误兜底。模型调用可能因为网络、额度、内容审核等原因失败,要有明确提示,不要让界面卡在 loading 状态。

四、方式二:Web 应用里调大模型

Web 端用 @cloudbase/js-sdk,先初始化 SDK 并完成登录(匿名登录即可),再调用 AI 能力。

Web 端有一个必须注意的点:前端直接调模型意味着用户可以无限次触发调用,消耗的是你的额度。做法是在业务上加限制——比如要求登录后才能用、限制单用户每日次数、对输入长度做上限。这些限制逻辑建议放在云函数里做,前端限制可以被绕过。

五、方式三:云函数里调大模型(推荐用于生产)

这是生产环境最稳妥的方式。用 Node SDK 在云函数里调用,前端只调云函数,不直接碰模型。

为什么推荐这条路:

可以做权限与限流。云函数里能拿到可信的用户身份,可以判断这个用户有没有权限用、今天用了多少次。

可以加工提示词。把系统提示词、业务上下文、知识库内容在服务端拼好,前端只传用户输入。这样提示词不会暴露,也不会被用户篡改。

可以记录与审计。每次调用记一条数据,方便统计用量、排查问题、分析用户在问什么。

可以做内容过滤。对用户输入和模型输出做一遍检查,拦掉不该过的内容。

云函数的特性也适合这个场景:事件驱动执行、自动扩缩容、按需付费、与数据库和存储无缝集成。需要长连接或高并发的 Agent 场景,也可以用云托管部署。

六、方式四与五:HTTP API 与 OpenAI SDK

HTTP API / cURL 适合非 Node 的后端。Python、Java、Go、PHP 的服务端都可以直接发 HTTP 请求调用,不依赖特定 SDK。

OpenAI SDK 兼容是迁移场景的首选。已有项目如果是基于 OpenAI SDK 写的,把 baseURL 和密钥换成云开发的配置即可,调用代码不用改。这条路对于「想把海外模型换成国内模型」的项目特别省事。

七、四类典型应用怎么做

对话问答:最基础的形态。用户输入问题,模型回答。注意保存对话历史并在下次请求时带上,否则模型不记得前面说过什么。历史记录存数据库,按会话 ID 关联。

内容总结:把长文本丢给模型让它提炼要点。实现上要注意输入长度限制,超长文本需要先分段。提示词里明确输出格式(比如「用三条要点总结」),结果更可控。

图片理解与生成:云开发 AI 也支持图片生成能力。生成的图片建议存到云存储,数据库里存 fileID,和普通图片处理方式一致。

知识库问答:先把你的文档内容检索出来,拼进提示词再让模型回答。这类需求建议用 Agent 开发框架做,云开发支持 LangChain、LangGraph、CrewAI 三种框架,可以部署到 HTTP 云函数(快速部署、按量计费)或云托管(长连接、高并发)。

八、想要现成的聊天界面

不想从零写聊天 UI 的,云开发提供了 Agent UI 组件,开箱即用:小程序用源码组件,React Web 应用用 React 组件。消息列表、输入框、流式显示这些都做好了,接上你的 Agent 就能用。

做完之后还能接到多个渠道:发布为小程序或 Web 应用,或者对接公众号客服、小程序客服、企业微信客服、服务号客服。同一个 Agent,多个入口复用。

九、给 AI 工具的完整提示词

想让 AI 帮你搭一个带 AI 对话的小程序,可以用这段:

代码语言:txt
复制
用云开发做一个 AI 聊天微信小程序。

页面结构:
1. 聊天页(首页):消息列表(用户消息右对齐、AI 消息左对齐)、底部输入框与发送按钮
2. 消息支持流式显示,AI 回复时逐字出现
3. 顶部有「新建对话」按钮,可开启新会话
4. 我的页面:历史会话列表,点击可回看

数据结构:
- conversations 集合:openid、title(取首条消息前 20 字)、createTime、updateTime
- messages 集合:conversationId、openid、role(user / assistant)、content、createTime

实现要求:
- 模型调用走云函数,不在小程序端直接调模型
- 云函数里从数据库读取该会话的历史消息,拼成上下文再请求模型
- 云函数里做限流:同一用户每日调用上限 50 次,超出返回提示
- 用云开发身份认证,云函数里用 OPENID 认人
- conversations 和 messages 集合权限均设为仅创建者可读写
- 发送按钮在请求中置为 loading,防止重复提交
- 请求失败时在消息流里显示错误提示,不要卡在 loading

开发阶段规划
注意:你每完成一个阶段,都需要让我本地体验确认后,再进入下一阶段。
阶段 1:建两个集合与权限,搭聊天页面 UI
阶段 2:云函数调用模型,打通单轮对话
阶段 3:接入历史上下文,实现多轮对话与会话管理
阶段 4:加入流式输出、限流、错误处理,部署

生成完成后列出需要我手动完成的步骤(包括需要在控制台开启哪个模型)。

十、四个容易踩的坑

模型没在控制台开启。调用直接失败。写代码前先去控制台 → AI → 生文模型里确认目标模型已开启。

前端直接调模型没有任何限制。用户可以反复触发,额度消耗不可控。正确做法是走云函数,在服务端做权限和次数限制。

多轮对话不记得上文。每次只传了当前这条消息。要把历史消息一起传给模型,通常保留最近若干轮。

没有流式输出,用户以为卡死了。AI 生成有延迟,一次性返回体验很差。用流式输出,让内容逐步出现。

总结

云开发 CloudBase 接大模型的路径很短:开通环境、控制台开启模型、按端选一种调用方式。小程序和 Web 可以直接调,但生产环境建议走云函数——能做权限、限流、提示词加工和调用记录,这四件事前端都做不了。要做复杂 Agent 的,可以用 LangChain、LangGraph、CrewAI 框架开发并部署到云函数或云托管;不想写聊天界面的,直接用 Agent UI 组件。做小程序的可以关注小程序成长计划,有免费的 Token 和生图资源包。

开通环境,给你的应用加上 AI:云开发 CloudBase 购买页

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、开始之前:两步准备
  • 二、五种调用方式:按你的端选
  • 三、方式一:小程序里调大模型
  • 四、方式二:Web 应用里调大模型
  • 五、方式三:云函数里调大模型(推荐用于生产)
  • 六、方式四与五:HTTP API 与 OpenAI SDK
  • 七、四类典型应用怎么做
  • 八、想要现成的聊天界面
  • 九、给 AI 工具的完整提示词
  • 十、四个容易踩的坑
  • 总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档