释义
- Prompt flow:Prompt flow 是一套微软新出不久的开发工具,旨在简化基于 LLM 的人工智能应用程序的端到端开发周期,从构思、原型设计、测试、评估到生产部署和监控。它使即时工程变得更加容易,并使您能够构建具有生产质量的 LLM 应用程序。
- RAG:Graph RAG:利用知识图谱弥补传统RAG的短板。
- DAG:在图论中,如果一个有向图从任意顶点出发无法经过若干条边回到该点,则这个图是一个有向无环图(DAG,Directed Acyclic Graph)。
背景
- 考虑后续大模型应用的开发,会涉及到拓展多个应用场景,如下图
- 中间的agent层负责横向拓展多个应用场景,每个业务场景抽象设计为一个一个的flow
- 那么在代码的设计层面,需要考虑如下因素:
- 易用
- 易维护
- 方便拓展
- 方便调试
- 方便测试评估
- 方便部署
- 参数化配置
- 最好可视化
- 以上需求Prompt flow全都可以满足
Quick Start
- 按照官方文档安装即可,注意:python只能使用3.9版本
- IDE使用vs code,配置可视化插件
- 打开项目根目录flow.dag.yaml文件,点击Visual editor,即可渲染出DAG图,如下
- 以搭建一个RAG问答系统为例,最终效果如下
- 左边是可对于每个节点参数化配置的地方,右边是DAG图
- 提供:运行、批量运行、调试、部署:本地部署/docker部署等便捷功能,如下
- 提供本地问答测试界面
- 提供API调用接口
总结
- Prompt flow为agent工程提供了统一易用的工具,提升认知和效率
- flow中每个节点的输入输出都比较自由和随意,后续如果可以进一步抽象出节点的输入输出,可以进一步降低开发人员协作的成本,提高开发效率
2023-10-20更新
思考
- 实际的开发中需要积累【节点库】,使过往节点的复用更加地方便,但官方没有提供【节点库】和【节点共享】类似功能, 如果选型该框架,需要思考如何构建一个如同git推拉代码一样方便的节点共享和节点拉取流程,主要是方便复用
发表回复