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
33 lines
2.1 KiB
Markdown
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`.
|