Python: [BREAKING] Python: move Azure AI embeddings to Foundry - #5056
Merged
Eduard van Valkenburg (eavanvalkenburg) merged 3 commits intoApr 2, 2026
Conversation
Copilot started reviewing on behalf of
Eduard van Valkenburg (eavanvalkenburg)
April 2, 2026 09:20
View session
4 tasks
Contributor
There was a problem hiding this comment.
Pull request overview
This PR consolidates the Python provider surface by moving the Azure AI inference embeddings implementation into the Foundry package, removing the now-empty agent-framework-azure-ai package, promoting Cosmos history provider imports via agent_framework.azure, and aligning model-related environment variables to the new *_CHAT_MODEL / *_CHAT_COMPLETION_MODEL scheme.
Changes:
- Migrate Azure AI inference embeddings into
agent-framework-foundry(FoundryEmbeddingClient/RawFoundryEmbeddingClient) and update associated tests/docs/samples. - Remove the
agent-framework-azure-aipackage and update repo config (workspace deps, lockfile, CI workflows) accordingly. - Promote
CosmosHistoryProviderthroughagent_framework.azureand relocate/update the Cosmos history provider sample + namespace coverage.
Reviewed changes
Copilot reviewed 67 out of 72 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| python/uv.lock | Removes agent-framework-azure-ai from the workspace lock; adds Foundry embedding dependency (azure-ai-inference) and includes azure-cosmos in all. |
| python/pyproject.toml | Drops agent-framework-azure-ai from workspace sources and type-check environments. |
| python/README.md | Updates top-level Python README links to point to Foundry instead of the removed Azure AI package. |
| python/.env.example | Renames/expands env var examples for Foundry embeddings and OpenAI/Azure OpenAI model selection. |
| python/samples/README.md | Updates provider/env var matrix to reflect Foundry embeddings and new model env var naming. |
| python/samples/05-end-to-end/m365-agent/README.md | Updates required OpenAI model env var naming for the sample. |
| python/samples/05-end-to-end/m365-agent/.env.example | Updates OpenAI model env var naming for the sample. |
| python/samples/02-agents/observability/.env.example | Updates OpenAI model env var naming. |
| python/samples/02-agents/middleware/README.md | Updates OpenAI model env var naming referenced by the sample. |
| python/samples/02-agents/mcp/README.md | Updates OpenAI model env var naming referenced by the sample. |
| python/samples/02-agents/embeddings/openai_embeddings_on_azure.py | Adds a new Azure OpenAI embeddings sample using OpenAIEmbeddingClient. |
| python/samples/02-agents/embeddings/foundry_embeddings.py | Updates embedding sample to use agent-framework-foundry and FoundryEmbeddingClient. |
| python/samples/02-agents/devui/workflow_with_agents/workflow.py | Updates Azure OpenAI model env var lookup for the DevUI workflow sample. |
| python/samples/02-agents/devui/workflow_with_agents/.env.example | Updates Azure OpenAI model env var naming for the DevUI workflow sample. |
| python/samples/02-agents/devui/README.md | Updates required env var naming for DevUI samples. |
| python/samples/02-agents/devui/.env.example | Updates Azure OpenAI model env var naming for DevUI. |
| python/samples/02-agents/chat_client/README.md | Updates the OpenAI env var descriptions for responses vs chat-completions clients. |
| python/samples/02-agents/conversations/README.md | Adds Cosmos history provider sample entry + prerequisites. |
| python/samples/02-agents/conversations/cosmos_history_provider.py | Switches import to agent_framework.azure.CosmosHistoryProvider and updates sample structure/text. |
| python/packages/openai/agent_framework_openai/_shared.py | Renames model setting fields/env var mappings (responses → chat_model, chat completion → chat_completion_model). |
| python/packages/openai/agent_framework_openai/_chat_client.py | Updates env var documentation and model resolution fields for OpenAIChatClient (Responses). |
| python/packages/openai/agent_framework_openai/_chat_completion_client.py | Updates env var documentation and model resolution fields for OpenAIChatCompletionClient. |
| python/packages/openai/README.md | Updates documented env vars and lookup order to the new naming. |
| python/packages/openai/tests/openai/conftest.py | Updates test env fixtures for the new env var names and semantics. |
| python/packages/openai/tests/openai/test_openai_chat_client.py | Updates env var preference test for OpenAIChatClient. |
| python/packages/openai/tests/openai/test_openai_chat_client_azure.py | Updates Azure env var usage for OpenAIChatClient tests. |
| python/packages/openai/tests/openai/test_openai_chat_completion_client.py | Updates env var preference test for OpenAIChatCompletionClient. |
| python/packages/openai/tests/openai/test_openai_chat_completion_client_azure.py | Updates Azure env var usage for OpenAIChatCompletionClient tests. |
| python/packages/foundry/pyproject.toml | Adds azure-ai-inference dependency now that embeddings live in Foundry. |
| python/packages/foundry/README.md | Updates package description to include embedding integrations. |
| python/packages/foundry/agent_framework_foundry/_embedding_client.py | Introduces Foundry embedding clients/options/settings and new env var names. |
| python/packages/foundry/agent_framework_foundry/init.py | Exports new embedding client symbols from agent_framework_foundry. |
| python/packages/foundry/tests/foundry/test_foundry_embedding_client.py | Migrates embedding tests from agent_framework_azure_ai types to Foundry equivalents. |
| python/packages/core/pyproject.toml | Updates core[all] to include agent-framework-azure-cosmos and drop agent-framework-azure-ai. |
| python/packages/core/README.md | Updates example env vars (removes OPENAI_RESPONSES_MODEL, adds OPENAI_CHAT_COMPLETION_MODEL). |
| python/packages/core/agent_framework/azure/init.py | Promotes CosmosHistoryProvider and removes azure-ai embedding symbols from the azure namespace. |
| python/packages/core/agent_framework/azure/init.pyi | Updates azure namespace type stubs to match the new exported surface. |
| python/packages/core/agent_framework/foundry/init.py | Adds lazy exports for Foundry embedding client symbols. |
| python/packages/core/agent_framework/foundry/init.pyi | Updates Foundry namespace type stubs to include embedding symbols. |
| python/packages/core/agent_framework/microsoft/init.py | Removes Foundry Local symbols from the agent_framework.microsoft namespace. |
| python/packages/core/agent_framework/microsoft/init.pyi | Updates agent_framework.microsoft stubs to match the removed Foundry Local exports. |
| python/packages/core/tests/core/test_azure_namespace.py | Adds coverage asserting agent_framework.azure exposes CosmosHistoryProvider. |
| python/packages/azure-cosmos/README.md | Updates docs to prefer from agent_framework.azure import CosmosHistoryProvider and points to root samples. |
| python/packages/azure-cosmos/AGENTS.md | Updates usage/import-path guidance to include agent_framework.azure promotion. |
| python/packages/azure-cosmos/samples/README.md | Removes package-local samples README (sample moved to root samples). |
| python/packages/azure-cosmos/samples/init.py | Removes package-local samples package marker. |
| python/packages/azure-ai/tests/conftest.py | Removes tests as part of deleting the agent-framework-azure-ai package. |
| python/packages/azure-ai/tests/azure_openai/test_entra_id_authentication.py | Removes tests as part of deleting the agent-framework-azure-ai package. |
| python/packages/azure-ai/README.md | Deletes package docs along with removing agent-framework-azure-ai. |
| python/packages/azure-ai/pyproject.toml | Deletes the agent-framework-azure-ai package manifest. |
| python/packages/azure-ai/LICENSE | Deletes package-level license file along with the removed package. |
| python/packages/azure-ai/AGENTS.md | Deletes package-level agent docs along with the removed package. |
| python/packages/azure-ai/agent_framework_azure_ai/_shared.py | Deletes AzureAISettings and related helpers from the removed package. |
| python/packages/azure-ai/agent_framework_azure_ai/_entra_id_authentication.py | Deletes Entra token-provider helper from the removed package. |
| python/packages/azure-ai/agent_framework_azure_ai/init.py | Deletes package exports along with the removed package. |
| python/packages/lab/gaia/samples/openai_agent.py | Updates OpenAI model env var naming in lab sample docs. |
| python/packages/devui/dev.md | Updates env var naming in DevUI developer docs. |
| python/packages/devui/frontend/src/components/layout/deployment-modal.tsx | Updates example env vars in the deployment modal template snippets. |
| python/packages/devui/agent_framework_devui/ui/assets/index.js | Updates the built frontend asset to match the updated env var snippet. |
| python/CODING_STANDARD.md | Updates repo structure/docs to reference foundry/ instead of azure-ai/. |
| python/AGENTS.md | Updates package listing to reference Foundry and promoted Cosmos integration. |
| python/.github/skills/python-testing/SKILL.md | Updates CI/test documentation to refer to Foundry integration instead of Azure AI. |
| python/.github/skills/python-package-management/SKILL.md | Updates package management documentation to reference Foundry package location. |
| docs/features/vector-stores-and-embeddings/README.md | Updates embedding roadmap text to refer to Foundry package location. |
| docs/decisions/0021-provider-leading-clients.md | Updates env-var naming examples to the new scheme. |
| .github/workflows/python-sample-validation.yml | Updates workflow env var wiring to the new model env var names. |
| .github/workflows/python-merge-tests.yml | Renames path filters/job gating from azure-ai to foundry and updates env var wiring; removes azure-ai samples test step. |
| .github/workflows/python-integration-tests.yml | Updates integration workflow env vars and adds Foundry embedding env vars. |
| .github/ISSUE_TEMPLATE/python-issue.yml | Updates issue template placeholder to reference Foundry package instead of Azure AI. |
Eduard van Valkenburg (eavanvalkenburg)
force-pushed
the
rename_azure_ai_embeddings
branch
from
April 2, 2026 09:30
978921e to
befc945
Compare
Contributor
Eduard van Valkenburg (eavanvalkenburg)
enabled auto-merge
April 2, 2026 09:37
Eduard van Valkenburg (eavanvalkenburg)
disabled auto-merge
April 2, 2026 09:37
SergeyMenshykh
approved these changes
Apr 2, 2026
Eduard van Valkenburg (eavanvalkenburg)
force-pushed
the
rename_azure_ai_embeddings
branch
from
April 2, 2026 10:00
befc945 to
86aedb6
Compare
Eduard van Valkenburg (eavanvalkenburg)
enabled auto-merge
April 2, 2026 10:05
Eduard van Valkenburg (eavanvalkenburg)
disabled auto-merge
April 2, 2026 11:23
Eduard van Valkenburg (eavanvalkenburg)
enabled auto-merge
April 2, 2026 11:23
westey (westey-m)
approved these changes
Apr 2, 2026
Ben Thomas (alliscode)
pushed a commit
to alliscode/agent-framework
that referenced
this pull request
Apr 3, 2026
…soft#5056) * renamed AzureAIINferenceEmbeddings and lazy load azure-cosmos and env var rename * updated coverage * fix readme
Eduard van Valkenburg (eavanvalkenburg)
deleted the
rename_azure_ai_embeddings
branch
June 30, 2026 09:02
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation and Context
This PR consolidates the Python provider surface after moving Azure AI inference embeddings into Foundry, removing the now-empty
agent-framework-azure-aipackage, and aligning environment variable names with the current client split. It also finishes the Azure Cosmos promotion soCosmosHistoryProvideris available fromagent_framework.azureand the root samples/docs reflect the promoted import paths.This is a breaking change because it removes the
agent-framework-azure-aipackage, replaces the old Azure AI inference embedding class names and import paths with Foundry equivalents, and renames the affected OpenAI/Azure OpenAI/Foundry environment variables.Description
agent-framework-foundryasFoundryEmbeddingClientandRawFoundryEmbeddingClientagent-framework-azure-aipackage, its embedding-only tests/assets, and the obsolete Azure AI-specific workflow wiring*_CHAT_MODEL/*_CHAT_COMPLETION_MODELscheme and rename Foundry embedding configuration toFOUNDRY_MODELS_*.env.example, package-management docs, and CI workflows to use the new names and locationsagent-framework-azure-cosmosinto theagent_framework.azurenamespace, add it toagent-framework-core[all], move the Cosmos history provider sample into the rootsamples/tree, and add namespace coverageFixes: #5003
Contribution Checklist