Files
wehub-resource-sync e768098d0e
tools_continuous_delivery / Private PyPI non-main branch release (push) Has been skipped
tools_continuous_delivery / Private PyPI main branch release (push) Failing after 2m42s
Publish Promptflow Doc / Build (push) Has been cancelled
Publish Promptflow Doc / Deploy (push) Has been cancelled
Flake8 Lint / flake8 (push) Has been cancelled
Spell check CI / Spell_Check (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:39:52 +08:00

33 lines
2.1 KiB
Markdown

# Prompt Flow → MAF Node Mapping
| Prompt Flow Concept | MAF Equivalent | Sample |
|---|---|---|
| Flow (YAML / visual graph) | `Workflow` built with `WorkflowBuilder` | All samples |
| Node (any step) | `Executor` class with a `@handler` method | All samples |
| LLM node | `Agent(client=FoundryChatClient(...), instructions=...)` inside an `Executor` | `01_linear_flow.py` |
| Python node | Plain Python logic inside an `Executor @handler` | `02_python_node.py` |
| Prompt node | String formatting inside an `Executor @handler` | `02_python_node.py` |
| Embed Text + Vector Lookup nodes | `AzureAISearchContextProvider` via `context_providers=[...]` | `05_rag_flow.py` |
| If / conditional node | `.add_edge(source, target, condition=fn)` | `03_conditional_flow.py` |
| Parallel nodes (no dependencies) | `.add_fan_out_edges(source, [targetA, targetB])` | `04_parallel_flow.py` |
| Merge / aggregate node | `.add_fan_in_edges([sourceA, sourceB], target)` | `04_parallel_flow.py` |
| Flow Inputs | Type annotation on the start `Executor`'s `@handler` parameter | All samples |
| Flow Outputs | `await ctx.yield_output(value)` in the terminal `Executor` | All samples |
| Connections (credentials) | Identity-based auth, workspace connections, env vars, or Key Vault | [`connections-alternatives.md`](../connections-alternatives.md) |
| Evaluation flow | `SimilarityEvaluator` from Azure AI Evaluation SDK | `phase-3-validate/` |
| Multi-step specialist routing | `HandoffBuilder` from `agent-framework-orchestrations` | `07_multi_agent.py` |
| Managed Online Endpoint | AML managed online endpoint via `score.py` init()/run() pattern | `phase-4-migrate-ops/4b-deployment/` |
---
## WorkflowContext type parameters
| Annotation | Behaviour |
|---|---|
| `WorkflowContext` | Side effects only — no output sent |
| `WorkflowContext[str]` | Sends a `str` downstream via `ctx.send_message()` |
| `WorkflowContext[Never, str]` | Yields a `str` as the final workflow output via `ctx.yield_output()` |
| `WorkflowContext[str, str]` | Both sends a message downstream AND yields a workflow output |
`Never` is imported from `typing_extensions`.