promptflow
microsoft/promptflow加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
做 LLM 应用的最痛时刻,不是模型调不通,而是调通了却不知道对不对。提示词改一版,整体效果是升是降?上周线上那条回答为什么变了?答案散落在各个同事的笔记本里。
Promptflow(微软,MIT 协议,11.2k stars)就是为这个场景而生的:它把一次 LLM 调用的完整链路——提示词模板、模型调用、Python 代码、工具、检索——编排成一张有向无环图(DAG),让整条链路的每个节点都能被追踪、评估、版本化。类比一下:如果 LangChain 像"手写胶水代码把所有环节串起来",那 Promptflow 更像"给这条流水线装上了工厂的仪表盘和质检工位"。
Promptflow 2023 年 6 月开源,是微软 Azure ML 团队孵化出的工程化工具,核心目标是解决"提示词资产无法治理"这一企业级痛点。它在 2024-2025 年达到鼎盛,被大量团队用于搭建内部 AI 应用流水线。
但必须先说最重要的结论:仓库 README 顶部已有明确警告——Prompt flow 将于 2027 年 4 月 20 日退役,官方不再推荐用于新开发,容器镜像(含 promptflow-runtime、promptflow-python)已停止更新包括安全补丁。微软推荐迁移到 Microsoft Agent Framework(2026 年 4 月 3 日发布 1.0,融合 AutoGen 与 Semantic Kernel)。仓库最近一次提交正是 2026-10-19 添加这条弃用声明。
这意味着:技术价值仍然很高,但作为新项目选型已不合适。它的历史价值是研究微软大模型工程化方法的最佳样本。
一个 Flow 就是一个 YAML 文件描述的 DAG(flow.dag.yaml),节点包括:LLM 节点(调用模型)、Python 节点(执行自定义代码)、Prompt 节点(渲染模板)、Tool 节点、Retrieval 节点。节点间通过输入/输出依赖自动拓扑排序执行。仓库 examples/flows/ 下有近 800 个示例流,覆盖对话、总结、RAG、多轮等场景。

这是 Promptflow 最有辨识度的能力。每个节点执行都会生成 span,记录耗时、Token 消耗、输入输出,在 VS Code 扩展和 Web UI 中以瀑布图呈现,可直接定位是哪个节点慢、哪个节点贵。

promptflow-evals 子包提供评估能力,可针对数据集批量跑分,把评估接入 CI/CD 做提示词回归测试。这是把"玄学调参"变成"可度量工程"的关键一环。
pf flow serve 启动 FastAPI/Flask serving 端点Dockerfile.jinja2)与 docker-composeexamples/tutorials/flow-deploy/kubernetes/deployment.yaml
pf flow serve 或 pf run 后可启动本地 Web UI(_sdk/_service 下基于 Flask 的完整前端,含 flow 管理、聊天窗口、运行记录)。这对不熟悉 VS Code 扩展的用户更友好。

代码组织为 11 个 Python 子包(Poetry 管理,多包 monorepo):promptflow(主 SDK/CLI)、promptflow-core(DAG 执行器、变量解析、工具 schema)、promptflow-devkit(CLI、Web UI 服务、连接管理)、promptflow-tracing(OpenTelemetry 风格追踪)、promptflow-evals(评估)、promptflow-tools(内置工具集)、promptflow-parallel(并行执行)、promptflow-rag(RAG 组件)、promptflow-azure(Azure 集成)、promptflow-recording(录制回放)、promptflow-azure。全仓 1637 个 Python 文件、4988 个文件路径,测试文件 661 个。
依赖方面核心为 Flask/FastAPI(serving)、ruamel.yaml(保留注释的 YAML 处理)、jsonschema(工具校验)、OpenTelemetry(追踪),云端额外依赖 azure-identity / azure-ai-ml。
| 维度 | 评估 |
|---|---|
| CLI 上手 | 很简单:pip install promptflow promptflow-tools → pf flow init --type chat → pf flow test |
| Web UI | 中等:本地启动无需云订阅,完整云功能需 Azure |
| VS Code 扩展 | 需 Node.js 18+,与 Azure 账号联动 |
| 学习曲线 | 中等偏高:DAG/节点/连接/变体概念较多,需要理解 YAML Flow 结构 |
| Python 版本 | 3.9–3.11 官方推荐(3.12+ 支持弱) |
Promptflow 代表了 2023-2025 年大模型应用工程化的一条重要路线:把提示词和 LLM 链路当作可版本化、可评估、可观测的软件资产。它与 LangChain(代码优先)、LlamaIndex(检索优先)、Haystack(管道优先)共同构成了当时 LLM 应用框架的四大流派。其 tracing 与 evaluation 设计至今仍被后续框架借鉴;而它最终的退役,也标志着大模型框架赛道从"百花齐放"快速收敛到以 Agent 为中心的少数几套体系。
结论:技术上仍是学习微软大模型工程化方法论的优质样本(含大量中文社区资料、183 张文档插图、近 800 个示例),代码质量与测试覆盖良好(661 个测试文件,MIT 协议)。但由于 2027 年 4 月官方退役 + 镜像停止安全更新,不建议用于新项目生产部署,存量项目应规划向 Microsoft Agent Framework 迁移。