大模型微信小程序对接:从零配置到对话验证

想把大模型对话能力放进微信小程序,核心思路是:小程序端不直接暴露 API Key,而是通过自己的后端或云函数转发请求。
下面从准备条件开始,一步步完成对接和验证。

先明确需要准备什么

开始前请确认你手上有以下资源:

  • 已注册的微信小程序 AppID,并开通云开发(如使用云函数方案)。
  • 一个可用的大模型 API 服务,拿到 API Key 和请求地址(例如 OpenAI 兼容接口的 https://api.xxx.com/v1/chat/completions)。
  • 一个已备案的域名并配置 HTTPS 证书,如果使用云函数,可跳过域名备案要求,但云函数调用外部 API 仍需网络可达。
  • 微信开发者工具,并登录对应小程序账号。

注意:小程序正式环境要求所有网络请求使用 HTTPS 且域名需在小程序后台配置。
开发阶段可在开发者工具中勾选“不校验合法域名”临时绕过,但上线前必须补全。

用云函数做一层转发

推荐用微信云函数作为中间层,避免 API Key 写在小程序代码里。
操作路径:微信开发者工具 → 云开发 → 云函数 → 新建云函数,命名为 chatProxy。

在云函数目录下安装依赖(以 Node.js 为例):

cd cloudfunctions/chatProxy
npm install axios

编辑 index.js,写入最小转发逻辑:

const cloud = require('wx-server-sdk')
const axios = require('axios')
cloud.init()

exports.main = async (event, context) => {
  const { messages } = event
  const apiKey = process.env.LLM_API_KEY // 在云函数环境变量中配置
  const apiUrl = process.env.LLM_API_URL

  try {
    const res = await axios.post(apiUrl, {
      model: 'gpt-3.5-turbo', // 按实际模型名修改
      messages,
      stream: false
    }, {
      headers: { Authorization: `Bearer ${apiKey}` },
      timeout: 15000
    })
    return { code: 0, data: res.data }
  } catch (err) {
    return { code: -1, message: err.message }
  }
}

在云开发控制台为 chatProxy 配置环境变量 LLM_API_KEY 和 LLM_API_URL,不要写死在代码里。

小程序端发起调用并渲染回复

在小程序页面中调用云函数:

wx.cloud.callFunction({
  name: 'chatProxy',
  data: {
    messages: [{ role: 'user', content: '你好,介绍一下你自己' }]
  },
  success: res => {
    if (res.result.code === 0) {
      const reply = res.result.data.choices[0].message.content
      this.setData({ answer: reply })
    } else {
      wx.showToast({ title: '请求失败', icon: 'none' })
    }
  },
  fail: err => {
    console.error('云函数调用失败', err)
    wx.showToast({ title: '网络异常', icon: 'none' })
  }
})

将 answer 绑定到页面的文本区域即可看到模型回复。
如果希望流式输出,需要让云函数支持 SSE 并将分片逐步返回,实现成本较高,新手建议先用非流式跑通。

上线前必须检查的配置项

  • 云函数超时时间:默认 3 秒可能不够,在云开发控制台将超时时间调到 20 秒左右(根据模型响应速度调整)。
  • 合法域名:如果云函数内调用的 API 域名需要加入小程序后台的 request 合法域名吗?不需要,云函数不受此限制,但小程序端直接调用外部 API 时必须配置。
  • API Key 权限:不要在前端代码或公开仓库中出现 Key,定期在模型服务商后台轮换。
  • 错误兜底:对云函数返回的 code 做判断,避免直接把原始错误信息展示给用户。

常见报错与验证方法

现象一:云函数调用返回“request:fail url not in domain list”

说明小程序端直接请求了外部 API 且域名未配置。
检查 wx.request 的 URL 是否已在小程序后台“开发管理 → 服务器域名”中添加。

现象二:云函数执行超时

先检查模型 API 是否可达,可在云函数中临时打印耗时;
适当增加超时时间,或改用流式接口减少等待。

现象三:返回 401 Unauthorized

确认云函数环境变量中的 API Key 是否复制完整,以及请求头是否包含 Authorization: Bearer 。

验证是否成功:在小程序页面输入一条测试消息,观察是否在几秒内显示模型回复;
同时查看云函数日志,确认无报错。
若日志显示 code: 0 但页面无内容,检查数据解析路径 choices[0].message.content 是否与接口返回结构一致。

两个容易忽略的细节

消息体结构:大模型接口通常要求 messages 数组,每条包含 role 和 content,角色用 user、assistant、system。
不要传错字段名。

内容安全:小程序上线后涉及用户输入内容,建议在云函数中接入内容安全检测接口,避免违规内容直接转发给模型。
具体可参考微信官方文档的内容安全能力。

按照以上步骤,即使没有后端经验,也能完成大模型微信小程序对接的基本链路。
先跑通非流式对话,再根据需求优化超时、流式输出和错误提示,是比较稳妥的路径。

分享到:
上一篇
大模型React组件配置:从环境准备到流式对话验证
下一篇
大模型支付宝小程序对接:从零配置到接口验证
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意