当前位置: 首页 > article >正文

总结之Coze 是一站式 AI Bot 开发平台——工作流使用及coze总结(三)

工作流介绍

工作流支持通过可视化的方式,对插件、大语言模型、代码块等功能进行组合,从而实现复杂、稳定的业务流程编排,例如旅行规划、报告分析等。
当目标任务场景包含较多的步骤,且对输出结果的准确性、格式有严格要求时,适合配置工作流来实现。

功能概述

工作流由多个节点构成,节点是组成工作流的基本单元。例如,大语言模型 LLM、自定义代码、判断逻辑等节点。 工作流默认包含了 Start 节点和 End 节点。
Start 节点是工作流的起始节点,可以包含用户输入信息。
End 节点是工作流的末尾节点,用于返回工作流的运行结果。

工作流节点

工作流通用节点及说明

节点名称描述
大模型大语言模型节点,该节点支持选择不同的 AI 模型处理文本生成任务。
代码代码节点。通过 IDE 编写代码处理输入参数,并返回输出值。
知识库知识库节点。根据输入参数从关联知识库中召回数据,并返回。
条件if-else 逻辑节点。满足设置条件则运行 if 分支,否则运行 else 分支。
变量变量节点。用于读取和写入 Bot 中的变量。
循环通过设置循环次数和逻辑,来实现重复执行一系列任务。
工作流集成已发布的工作流,可以嵌套子任务。

coze额外节点及说明

节点名称描述
插件coze的插件节点,可以实现指定功能,比如封装的gpt4调用、头条搜索等功能,可以自定义插件。
图像流集成图像流,可以嵌套子任务。
数据库可支持对 Database 放开读写控制,用户可读写其他用户提交的数据,由开发者控制。需要提前在 Bot 的 Database 中添加 Table。
长期记忆用于调用Long-term Memory,获取用户的个性化信息,对应的Bot必须打开了LTM
文本处理用于处理多个字符串类型变量的格式

通过使用场景介绍节点功能

简单场景

1、调用插件

比如调用图片理解插件,解析图片内容,当然还有很多插件,其插件特定和功能不一样,可以理解成插件就是封装的应用程序,里面也是代码逻辑、大模型交互等实现。可以自定义插件。
在这里插入图片描述

2、调用大模型

通过使用大模型(LLM)节点,设置大模型的模型类型,模型参数,输入参,输出参,提示词等调用大模型。支持批处理。当批处理有能力限制,并发最高10,一批次任务最高200。

在这里插入图片描述

3、使用代码实现指定逻辑

以下面为例,处理输入大模型的变量。
在这里插入图片描述

复杂场景

调用插件、LLM、子流程、代码、条件等实现特定业务场景,如:分析图片内容,并且优化文本,提炼文本骨干,聚合文本信息

条件判断作用:如何插件获取内容失败,直接结束。
代码作用:作为适配器,调整输入输出参数,方便使用以发布的子流程。
在这里插入图片描述

使用循环体

通过循环体实现业务功能

在这里插入图片描述

COZE总结

优点:

1、一站式服务,开发成本低,对开发人员要求低。
2、方便快捷的搭建自己的LLM工作流。
3、学习成本较低,上手快。
4、接入方便,可以通过bot或者直接使用工作流的方式接入,bot还可以发布到豆包、飞书等字节旗下平台中。

缺点:

1、使用coze的工作流、大模型、bot都需要收取费用,如果工作流中没有大模型交互也是要有费用产生。调用其他模型也需要key。但整体成本还好,费用不高。
2、coze插件能力有限,除了字节跳动自己应用的扩展功能,如短视频内容提取、头条搜索、抖音搜索等。
3、存在bug,coze还是在不断迭代过程,会出现使用上bug。特别是它集成了很多东西,复杂组合后,出现问题对生产端是致命的。
4、日志体系不完善,调试内调用还可以看出工作流哪里有问题,如果发布成API调用,日志不方便实时查询,排查需要时间。
5、插件、或者发布的工作流存在并发问题
如:图片理解插件其内部实现就是单线程不支持并发,并发报错,这是官方插件,并且插件描述没有提及。这样的坑估计不少。
工作流也会出现并发后连续失败,流程本身没有问题。超过20就出现了。

建议

如果公司以后有规划大模型方向的扩展,建议自己搭建自己的工作流,不依赖coze。
但开发周期和成本确实更高。
参考开源AI工作流:
https://dify.ai/
https://tryfastgpt.ai/
https://n8n.io/


http://www.kler.cn/news/326680.html

相关文章:

  • vivado中除法器ip核的使用
  • VS开发 - 静态编译和动态编译的基础实践与混用
  • golang学习笔记23-面向对象(五):多态与断言【重要】
  • C++学习9.24
  • git本地分支落后于远程分支,因此推送被拒绝怎么办?
  • nodejs逐字读取文件示例
  • Python中的`super()`函数:掌握面向对象编程的艺术
  • PHP“===”的意义
  • 工具类:JWT
  • 【AI学习】Lilian Weng:Extrinsic Hallucinations in LLMs(LLM 的外在幻觉)
  • TS-AI:一种用于多模态个体化脑区划分的深度学习管道,并结合任务对比合成|文献速递-Transformer架构在医学影像分析中的应用
  • 生产环境升级mysql流程及配置主从服务
  • YOLOv8改进 | 主干篇,YOLOv8改进主干网络为华为的轻量化架构GhostNetV1
  • C++ 左值右值引用梳理(一)
  • 蓝桥杯—STM32G431RBT6(RTC时钟获取时间和日期)
  • python 如何引用变量
  • LeetCode 每日一题 最佳观光组合
  • 水波荡漾效果+渲染顺序+简单UI绘制
  • Chromium 屏蔽“缺少 Google API 密钥,因此 Chromium 的部分功能将无法使用。”提示 c++
  • Conda 虚拟环境使用指南,python,anaconda,miniconda
  • MySQL InnoDB 事务commit逻辑分析
  • C++的new关键字
  • 如何在Android上运行Llama 3.2
  • 关于TrustedInstaller权限
  • c++-类和对象-设计立方体类
  • 每天学习一个技术栈 ——【Django Channels】篇(2)
  • ansible实现远程创建用户
  • [BUUCTF从零单排] Web方向 03.Web入门篇之sql注入-1(手工注入详解)
  • Java 编码系列:注解处理器详解与面试题解析
  • Uptime Kuma运维监控服务本地部署结合内网穿透实现远程在线监控