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

你好,我是月影。
前面两节课我们讲了 AI 应用的用户体验中,非常核心的一个技术挑战,即如何在流式输出下,实时处理 JSON 格式的数据。
我采用的思路是自己实现 JSON 解析器,使用动态解析 JSON 数据流的方式,用 jsonuri 来动态构建 JSON 数据,这个方案构成处理整个 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
《跟月影学前端智能体开发》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论