-
了解工作流对大模型进行高质量工作的辅助意义
-
学会复现吴恩达博士的翻译工作流开源项目
-
了解构成大模型工作流系统的关键元素
-
学会搭建一个更复杂的业务场景工作流
代码能力要求:中,AI/数学基础要求:低
-
有编程基础的同学
- 能够自己动手实现一套复杂的大模型工作流
-
没有编程基础的同学
- 可以关注和理解工作流对于大模型应用的意义、关键元素和构建思路
- 不需要复杂编程知识,可以尝试复现简单的翻译工作流
上传两张图,第一张图中任务流程有输入输出,存在模型请求和条件判断,有循环,讨论该图是工作流还是智能体;
展示第二张图,指出其为智能体,并解释工作流和智能体的特点;
-
工作流的特点: 以完成特定任务为目标,基于任务流程进行编排规划,重视业务流程和直接产品; 工作流程中使用了模型,模型输出结果只是过程中的一个数据结果,以业务逻辑为导向;
-
智能体的特点: 尝试构建解决问题的原方法,完成泛化任务,更重视任务处理的原方法的合理性,追求自身结构合理性
-
工作流和智能体的关系: 认为工作流和智能体不是完全对立的状态,工作流可以包含智能体,智能体也可以被视作一种工作流 一个工作人员可以使用多个智能体,多智能体框架在寻找配合的原方法,在业务工作中可构建新逻辑链解决问题;
-
为什么需要工作流: 从职场角度讨论,思考有些人工作表现好或不好的相关要素;
-
大模型应用的相关因素: · 反应速度更快; · 理解能力更强; · 有相关经验,学过相关学科,在理论和实践上能力都很强; · 这些因素会影响大模型应用的效果;
-
大模型应用中的能力: · 对输入信息的理解、推理、规划能力,如理解交通法规、完成论文等写作任务; · 上下文学习能力,即对输入信息的补充知识进行学习; · 文字生成的创作风格;
-
大模型应用的局限性: · 模型是预训练的,对训练语料之外的信息不了解,如询问新闻时无法回答; · 模型在特定系统中,如订单系统中,若不提供相关信息,无法完成任务;
-
大模型应用中的控制能力: · 需要将模型与业务逻辑结合,通过控制方式将信息传递给模型,如处理订单任务时需告知相关信息; · 对模型的输出有进一步要求,如回答用户是否为售后问题时,工程上需要简单的真假值,而自然语言处理可能不符合要求; · 在执行过程中涉及输出格式控制,如通过思维链控制等方法提高模型输出质量时,可能与工程产生冲突;
-
大模型应用中的多次请求控制: · 模型可能会进行多步请求,如第一次请求结果不理想时会进行调整; · 涉及到多次层的控制,如多轮自我优化反思和复杂任务的执行过程编排;
-
大模型应用中的工作流: · 能够帮助解决大模型应用中的一些问题,将工作任务拆分成多个工作节点; · 能够进行数据传递和任务编排,如新闻信息检索中需要先完成大纲才能进行后续操作;
-
大模型应用的实例: · 直接请求模型的效果可能不适用实际业务场景,如退货问题的常规回答不符合电商平台需求; · 使用工作流可以更好地编排任务,如售后问题中先进行响应和安抚,再进行更适合的处理。
-
开源翻译工作流项目的具体内容: · 项目中三个关键代码,第一个是initial translation,做了两件关键事情,一是说明模型当前扮演的角色,二是写了system的message,给定原始语种和目标语种,给出翻译任务并要求根据原始语种给出目标语种的翻译,不要做无关解释,接下来给定source text,用户以特定方式给出,工作结果是列出翻译结果;
· 第二个代码做了一轮对上一轮翻译的反思,除说明是语言学家外,还提供原始文本和翻译,目标是改进翻译,给出改进意见,这里有编码冗余,进行了是否有国别的判断,特定地区时语种要更符合当地口语化表达,需仔细阅读原始文本和提供的翻译内容并给出相关建议,结果是一堆改进建议;
· 第三个代码是回到最初始的语言学家,看到第一轮的原始文本、出发文本和改进建议,进行最终翻译;
· 主调用函数的输入变量包括原始语种、目标语种、原始文本和是否有特定国别的处理,通过多轮函数调用和参数传递构建起最简单的三步直线链条,整个思路强调在模型使用过程中,很难通过直接依赖大模型和prompt的组合完成高质量工作,可考虑利用特定场景下的步骤编排、输入输出传递的方式完成更好任务;
-
工作流复线及框架的使用: · 读完代码后看整个项目思路,是让模型完成首轮翻译后自我反思修正,提升文本最终翻译质量; · 探讨用框架完成工作流复线的问题,什么时候应该使用框架,什么时候不应该使用或没必要使用,如存在复杂逻辑、数据等待、中间状态存储,需要做更复杂条件判断,手写代码难维护,编码过程中思路整理和结构体系需要更好的书写规范结构时,就需要使用框架;