跟月影学前端智能体开发
15
15
1.0x
00:00/00:00
登录|注册

11|工作流框架:Ling的设计思想与整体架构

你好,我是月影。
前面两节课我们讲了 AI 应用的用户体验中,非常核心的一个技术挑战,即如何在流式输出下,实时处理 JSON 格式的数据。
我采用的思路是自己实现 JSON 解析器,使用动态解析 JSON 数据流的方式,用 jsonuri 来动态构建 JSON 数据,这个方案构成处理整个 AI 业务工作流的核心。
基于这个核心,我封装了一个开源框架叫做 Ling,用来方便地处理复杂的 AI 工作流。
由于在后续的 AI 应用实践课程中,我们会比较频繁地采用这个框架,因此在这一节课里,我先来介绍一下这个框架的设计思想与整体架构。

Ling 基础架构

Ling 是一个基于流式 JSON 数据的异步工作流框架。它能够比较方便地管理 AI 业务工作流的节点,并及时处理其中流转的数据。
如上图所示,业务中三个 AI 节点分别是 BotA、BotB、BotC,当 BotA 推理生成数据时,Ling 通过 string-response 事件在指定字段的数据输出完成时,及时分发给 BotB 和 BotC 进行处理。
在这个过程中,所有需要发送给客户端的数据,会通过单一的 Stream 实例完成数据的分发。

构建 Ling 工作流

这么说呢,还是比较抽象,我们还是看一个实际的例子。
让我们来实现一个简易的儿童版 AI 十万个为什么,用户输入一个问题,根据问题生成一篇适合儿童阅读的、内容稍微丰富一些的文章,效果如下:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. Ling框架是基于流式JSON数据的异步工作流框架,旨在方便地管理AI业务工作流的节点,并及时处理其中流转的数据。 2. Ling框架的设计思想是基于流式JSON数据的异步处理,通过创建Bot节点来处理不同的任务,实现工作流的管理和数据处理。 3. Ling框架的应用举例包括创建一个儿童版AI十万个为什么的工作流,通过两级AI节点实现用户输入问题后快速生成适合儿童阅读的文章。 4. Ling框架的使用方法涵盖配置Ling实例对象、创建Bot节点、添加任务提示、触发任务处理、监听事件等简单操作。 5. Ling框架支持多种事件类型,如`object-response`、`string-response`和`inference-done`,用于处理JSON解析完成、字符串解析完成和整个Bot推理完成等事件。 6. Ling框架的流式数据传输通过设置HTTP Header和使用pipeline进行流式连接,实现数据流的发送和处理。 7. Ling框架的前端交互实现使用了EventSource处理,通过配置sse参数,接口返回的数据格式是Server-Sent Events格式,便于前端使用。 8. Ling框架的前端渲染Markdown内容通过使用marked库将Markdown转成HTML进行渲染,实现了在前端展示大模型输出的Markdown内容。 9. Ling框架是一个非常方便易用的异步实时响应工作流框架,具有广泛的应用前景和可扩展性。 10. Ling框架的完整代码可在GitHub仓库获取,有兴趣的同学可以进一步深入研究,掌握其用法和设计细节。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《跟月影学前端智能体开发》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部