mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
6cb2289a16
* Add multi-turn streaming sample and rename multi-turn samples - Rename 03_multi_turn.py to 03a_multi_turn.py - Add 03b_multi_turn_streaming.py showing streaming with session history - The new sample demonstrates calling get_final_response() after iterating the stream to persist conversation history - Update READMEs to reflect the new file names Closes #4447 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Auto-finalize ResponseStream on iteration completion When a ResponseStream is fully consumed via async iteration, automatically trigger finalization (finalizer + result hooks). This ensures session history is persisted in streaming multi-turn conversations without requiring an explicit get_final_response() call. - Add auto-finalize call in __anext__ on StopAsyncIteration - Guard inner stream finalization to prevent double-execution - Re-check _finalized after iteration in get_final_response() - Add tests for auto-finalization and streaming session history - Revert sample file renames from previous commit Closes #4447 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * README fix * Fix SIM102 lint: combine nested if statements Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
6cb2289a16
ยท
2026-03-09 22:29:09 +00:00
History
Get Started with Agent Framework for Python
This folder contains a progressive set of samples that introduce the core concepts of Agent Framework one step at a time.
Prerequisites
pip install agent-framework --pre
Set the required environment variables:
export AZURE_AI_PROJECT_ENDPOINT="https://your-project-endpoint"
export AZURE_OPENAI_RESPONSES_DEPLOYMENT_NAME="gpt-4o" # optional, defaults to gpt-4o
Samples
| # | File | What you'll learn |
|---|---|---|
| 1 | 01_hello_agent.py | Create your first agent and run it (streaming and non-streaming). |
| 2 | 02_add_tools.py | Define a function tool with @tool and attach it to an agent. |
| 3 | 03_multi_turn.py | Keep conversation history across turns with AgentSession. |
| 4 | 04_memory.py | Add dynamic context with a custom ContextProvider. |
| 5 | 05_first_workflow.py | Chain executors into a workflow with edges. |
| 6 | 06_host_your_agent.py | Host a single agent with Azure Functions. |
Run any sample with:
python 01_hello_agent.py
These samples use Azure Foundry models with the Responses API. To switch providers, just replace the client, see all providers