【多模态大模型开发】集成Coze调用GPT-4

今天我们来看看聆思大模型 AI 开发套件如何通过Coze Bot 使用 GPT-4 。

整体思路

首先,介绍几个关键点:

  1. Coze 国际版支持 GPT-4 能力,可以将 Bot 部署到 Discord;
  2. 借助 coze-discord-proxy 代理 Discord 对话Coze-Bot,实现API形式请求GPT4对话模型/微调模型;
  3. 利用 LSPlatform 应用编排中的 http-request 去调用 API 以及联接开发板。

以此整体思路如上图,开发板和聆思大模型平台通过 SDK 拉通;聆听大模型平台应用编排网络节点调用 API;API 由部署在 Zeabur 上的 coze-discord-proxy 服务提供;coze-discord-proxy 服务实现了代理用户在Discord频道中发送信息,并调度两个Discord Bot(一个关联 Coze Bot,一个用来监听Discord消息)。按照交互梳理的流程如下:

  • ① “小聆小聆”唤醒,语音交互
  • ② 聆思大模型平台 http-request 节点调用 coze-discord-proxy服务
  • ③ coze-discord-proxy 内部调用 discord (user)
  • ④ discord 调用 coze (coze bot)
  • ⑤ coze bot 返回对话
  • ⑥ discord 返回对话 (watch bot)
  • ⑦ coze-discord-proxy 返回对话
  • ⑧ 聆思大模型平台返回对话到开发板

环境变量(coze-discord-proxy相关)

本文默认您已经拥有聆思大模型平台相关账号及权限,如没有请访问 platform.listenai.com

本文默认您能正常访问 Discord、Coze国际版、Zeabur, 我们尝试了 coze.com 需要全局代理才能正常访问。

部署 coze-discord-proxy 的方式有很多种,本文以部署到 Zeabur 为例,我们需要的环境变量如下:

BOT_TOKEN=[用来监听Discord消息的bot(watch bot)的token]
GUILD_ID=[Discord 两个bot所在的服务器ID]
COZE_BOT_ID=[Discord被coze托管bot的ID]
CHANNEL_ID=[默认频道-在使用与openai对齐的接口时(/v1/chat/completions) 消息会默认发送到此频道]
USER_AUTHORIZATION=[Discord 当前用户的 token]
PROXY_SECRET=[请求头校验的值(前后端统一),后续接口调用需要的Authorization]
TZ=Asia/Shanghai

保姆级部署 coze-discord-proxy 的教程并非我们编写此文的目的,因此我们会更聚集于部署过程中的重点以及如何在开发板上调用。

详细教程请参考:通过接口调用Coze托管的discord-bot,实现免费使用GPT4和绘画

我们需要在 Discord 平台创建两个 Bot,并获取它们的token,为了方便区分我们姑且称为watch bot 和 coze bot,watch bot 用于监听消息后续需要将它的token配置到环境变量中,coze bot 用于cozen.com 平台发布bot到discord。这两个bot都需要添加到Discord同一个服务器(可新创建)中,并且都要赋予Administrator(管理员)权限记录 watch bot 的token,即为 BOT_TOKEN

权限配置如下图:

添加到同一服务器中,需要复制服务器ID之类的信息时记得先开启Discord开发者模式,具体操作路径(以网页版为例):点击左下角用户设置图标--新页面点击高级设置--打开开发者模式开关。之后

右键服务器即可显示复制服务器ID,点击即可复制,这就是GUILD_ID:

同理右键频道即可显示复制频道ID,点击即可复制,这就是CHANNEL_ID

接着我们在coze.com平台开发bot,并发布到discord,这里需要把 discord 中 coze bot 的token填写到coze平台。

我们这里使用的是 GPT-4:

Tips: 如需更高级的自定义Coze Bot,请查看 Coze 文档:Coze  。接下来我们测试一下coze bot 有么有发布成功,如有回复那就是正常,并复制coze bot 的id,这就是COZE_BOT_ID

当然,如果此刻您打开了浏览器的调试界面(F12),在 devtool network 还能看到 message 请求,请求头中包含 Authorization ,这就是USER_AUTHORIZATION。之后在 coze-discord-proxy 服务就会代理这个用户来发送消息:

至此,我们需要的环境变量都准备好了,接下去 zeabur.com 发布 coze-discord-proxy 服务吧。

发布 coze-discord-proxy 服务

这步因为我们使用的是zeabur.com的免费资源,因此部署过程中可能会提示升级套餐之后才给部署。我们的操作是删除再重新创建。

部署的前提是需要将 coze-discord-proxy fork 到自己的账号下,方面 zeabur 上使用 git 的方式部署。

基本上都是比较简单的操作,需要注意的是要配置环境变量:

发布成功之后我们还可自定义访问域名。也能访问到 coze-discord-proxy 服务 swagger 文档:

至此,我们以及部署了拥有 GPT-4 能力的 API 服务。接下来我们将在聆思大模型平台接入这 API 服务。

聆思大模型平台接入 Coze API

我们了解到ListenAI大模型平台应用编辑基于Node-RED,有基本的网络相关节点,今天的主角就是http-request节点。话不多说,我们看看文档:

其实和代码中使用 http 类似,参数也是 url、method、headers 之类的,如果是前端工程师的话,肯定很熟悉这一套操作了。

请求方式选择POST

URL:填写您的Coze API 接口地址,如https://coze.zeabur.app/v1/chat/completions

添加头
Authorization值是前文您环境变量中的 PROXY_SECRET,用于简单鉴权
Accept:application/json
Content-Type:application/json

细心的小伙伴可能会发现, http-request前面加了一个前处理的节点,这是因为我们要组装发给Coze API的数据格式,可简单定义为:

const content = msg?._input?.content || '';

msg._input.content = {
    "channelId": "1210469212355829770",
    "messages": [
        {
            "content": content,
            "role": "user"
        }
    ],
    "model": "",
};

return msg;

Tips: 此处仅作简单演示,您可自行实现创意节点。

为了确保调用没问题,我们还可以简单的调试一下,确定是使用的 Coze API。

聆思大模型AI开发套件接入 Coze API

如同上一篇文章中的拓展开发,我们只需要将闲聊逻辑从调用内置星火认知大模型改为调用 Coze API 即可,开发板端代码无需修改。需要注意的是,处理网页版对话和硬件语音对话略有不同,还需要将返回内容转成语音下发。

  • 前处理:
/**
 *  闲聊前置处理节点
 */
const asrResult = msg._input.optAsrResult || msg._input.origin_content;
// 格式化传给API接口的数据
const reqData = {
  "channelId": "",
  "messages": [
      {
          "content": asrResult,
          "role": "user"
      }
  ],
  "model": "",
};
// msg._input.content = reqData
msg._input.content = asrResult;
msg.payload = reqData
return msg;

  • 后处理
//大模型回复内容
let content = msg.payload.choices[0]?.message?.content || '';

msg._output = {
  stream: true
}

msg.payload = {
  "text": content
}

return msg

最后记得重新部署,在端侧就能体验到 GPT-4 了。

Tips:流式输出的接口是有的,但对接出了的问题,http-request 有一定的局限性,后续可以尝试使用 axios 等模块实现。

分享来自社区博主 huqi ,原文链接:【聆思大模型AI开发套件】集成Coze调用GPT-4

示例开发板SDK和开发文档:套件简介 | 聆思文档中心

<think>好的,我现在需要回答用户关于Coze和Dify的问题。首先,我得回顾一下用户提供的引用内容,确保信息准确。 根据引用[1],Dify是开源的,需要用户自己提供大模型的API Key,这意味着用户需要承担相应的费用,尤其是处理大量数据时成本可能很高。但Dify的优点是提供了方便的代码嵌入方式,方便集成到自己的网页应用中。引用[2]提到Coze有模型广场,可以直接使用预训练的Bot,还有交互功能如开场白和建议问题。引用[3]比较了三个工具,指出Dify支持Ollama本地模型,适合数据隐私敏感的场景,而Coze在知识库管理和交互设计上有优势。 接下来,我需要整理这些信息,区分Coze和Dify的核心差异。费用方面,Dify需要自备API Key,成本可能高;Coze可能有托管服务,但不确定是否免费。功能上,Dify适合需要代码嵌入和本地部署的场景,Coze则强调快速搭建和预训练模型。隐私方面,Dify的本地模型支持更适合敏感数据。 用户可能关心如何选择这两个工具,所以需要从使用场景、成本、技术需求等方面对比。同时,生成的相关问题要覆盖性能、优化、应用场景等,但要根据引用内容调整,比如Dify的成本问题,Coze的交互功能。 需要确保回答结构清晰,分点说明差异,并引用正确的来源。同时,问题部分要引导用户深入思考各自工具的优势和适用情况。最后检查LaTeX格式是否正确,但用户问题中可能不涉及数学公式,所以暂时不需要使用。</think>### Coze与Dify对比分析 Coze和Dify均为AI应用开发平台,但定位和功能存在显著差异,以下是核心对比: --- #### **1. 核心定位** - **Dify** 开源框架,需用户自行提供大模型API Key(如GPT-4、Claude等),适合注重**数据隐私**和**代码自主可控**的场景。支持本地部署(如通过Ollama运行本地模型),适合企业级定制化需求[^1][^3]。 - **Coze** 提供一站式AI Bot开发平台,内置多模态大模型和预训练Bot(模型广场),无需自行管理模型API,适合快速搭建交互式应用(如客服助手、知识问答)[^2][^3]。 --- #### **2. 关键功能差异** | 能力项 | Dify | Coze | |--------------|-------------------------------|-------------------------------| | **数据接入** | 支持Notion同步、网页抓取 | 支持飞书、表格、图片上传 | | **知识库处理** | 智能分段+增强训练 | 基础分段+问答拆分 | | **成本控制** | 依赖用户API调用费用(高数据量成本高) | 平台托管模型,费用相对透明 | | **交互设计** | 需手动配置 | 内置“开场白”、“下一步问题建议”等交互优化 | | **部署方式** | 支持本地化部署(如Ollama) | 仅限云端使用 | --- #### **3. 典型应用场景** - **选择Dify的场景** - 需保护敏感数据(如医疗、金融)的本地化部署需求 - 希望深度定制AI工作流并集成到自有系统(代码嵌入友好) - 愿意承担大模型API调用成本的高自由度开发 - **选择Coze的场景** - 快速搭建对话式应用(如营销助手、FAQ机器人) - 无编码经验,依赖预训练Bot和模板 -多模态交互(如图片生成、语音处理)[^3] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值