Skip to content

Commit 2ffdbcc

Browse files
authored
Merge branch 'main' into jpvalidation-7-15-2
2 parents 5f230eb + 2354750 commit 2ffdbcc

File tree

335 files changed

+10191
-4343
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

335 files changed

+10191
-4343
lines changed

.github/policies/disallow-edits.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,17 @@ configuration:
2828
matchAny: true
2929
pattern: articles/ai-foundry/responsible-ai/*
3030
- not:
31-
activitySenderHasAssociation:
32-
association: Member
31+
or:
32+
- activitySenderHasAssociation:
33+
association: Member
34+
- isActivitySender:
35+
user: learn-build-service-prod[bot]
3336
then:
3437
- addReply:
3538
reply: >-
3639
@${issueAuthor} - Pull requests that modify files in this folder aren't accepted from public contributors.
3740
- closePullRequest
3841

39-
4042
- description: \@mention specific people when a PR is opened in the "ai-foundry/responsible-ai" folder.
4143
if:
4244
- payloadType: Pull_Request

.openpublishing.redirection.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -489,6 +489,26 @@
489489
"source_path": "articles/ai-foundry/model-inference/index.yml",
490490
"redirect_url": "../foundry-models/index",
491491
"redirect_document_id": false
492+
},
493+
{
494+
"source_path": "articles/machine-learning/concept-package-models.md",
495+
"redirect_url": "/azure/machine-learning/concept-endpoints",
496+
"redirect_document_id": false
497+
},
498+
{
499+
"source_path": "articles/machine-learning/how-to-package-models-moe.md",
500+
"redirect_url": "/azure/machine-learning/concept-endpoints",
501+
"redirect_document_id": false
502+
},
503+
{
504+
"source_path": "articles/machine-learning/how-to-package-models-app-service.md",
505+
"redirect_url": "/azure/machine-learning/concept-endpoints",
506+
"redirect_document_id": false
507+
},
508+
{
509+
"source_path": "articles/machine-learning/how-to-package-models.md",
510+
"redirect_url": "/azure/machine-learning/concept-endpoints",
511+
"redirect_document_id": false
492512
}
493513
]
494514
}

articles/ai-foundry/.openpublishing.redirection.ai-studio.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1203,6 +1203,11 @@
12031203
"redirect_url": "/azure/ai-foundry/how-to/develop/trace-application#visualize-your-traces",
12041204
"redirect_document_id": false
12051205
},
1206+
{
1207+
"source_path_from_root": "/articles/ai-foundry/agents/index.yml",
1208+
"redirect_url": "/azure/ai-foundry/",
1209+
"redirect_document_id": false
1210+
},
12061211
{
12071212
"source_path_from_root": "/articles/ai-foundry/how-to/online-evaluation.md",
12081213
"redirect_url": "/azure/ai-foundry/how-to/monitor-applications",
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
---
2+
title: 'Learn what is a capability host'
3+
titleSuffix: Azure AI Foundry
4+
description: Learn how to create and delete capability hosts
5+
services: cognitive-services
6+
manager: nitinme
7+
ms.service: azure-ai-agent-service
8+
ms.topic: conceptual
9+
ms.date: 07/07/2025
10+
author: fosteramanda
11+
ms.author: fosteramanda
12+
---
13+
14+
# Capability hosts
15+
16+
> [!NOTE]
17+
> Updating capability hosts is not supported. To modify a capability host, you must delete the existing one and recreate it with the new configuration.
18+
19+
Capability hosts are sub-resources that you define at both the Azure AI Foundry Account and Foundry project scopes. They specify where the Azure AI Foundry Agent Service should store and process your agent data, including:
20+
- **Conversation history (threads)**
21+
- **File uploads**
22+
- **Vector stores**
23+
24+
## Why use capability hosts?
25+
26+
Capability hosts allow you to **bring your own Azure resources** instead of using the default Microsoft-managed platform resources. This gives you:
27+
28+
- **Data sovereignty** - Keep all agent data within your Azure subscription.
29+
- **Security control** - Use your own storage accounts, databases, and search services.
30+
- **Compliance** - Meet specific regulatory or organizational requirements.
31+
32+
## How do capability hosts work?
33+
34+
Creating capability hosts is not required. However if you do want agents to use your own resources, you must create a capability host on both the account and project.
35+
36+
### Default behavior (Microsoft-managed resources)
37+
If you don't create an account-level and project-level capability host, the Azure AI Foundry Agent Service automatically uses Microsoft-managed Azure resources for:
38+
- Thread storage (conversation history)
39+
- File storage (uploaded documents)
40+
- Vector search (embeddings and retrieval)
41+
42+
### Bring-your-own resources
43+
When you create capability hosts at both the account and project levels, all agent data is stored and processed using your own Azure resources within your subscription. This configuration is called a **standard agent setup**.
44+
45+
#### Configuration hierarchy
46+
47+
Capability hosts follow a hierarchy where more specific configurations override broader ones:
48+
49+
1. **Service defaults** (Microsoft-managed search and storage) - Used when no capability host is configured.
50+
2. **Account-level capability host** - Provides shared defaults for all projects under the account.
51+
3. **Project-level capability host** - Overrides account-level and service defaults for that specific project.
52+
53+
54+
## Recommended setup
55+
56+
### Required properties
57+
58+
A capability host must be configured with the following three properties at either the account or project level:
59+
60+
| Property | Purpose | Required Azure resource | Example connection name |
61+
|----------|---------|------------------------|------------------------|
62+
| `threadStorageConnections` | Stores conversation history and chat threads | Azure Cosmos DB | `"my-cosmosdb-connection"` |
63+
| `vectorStoreConnections` | Handles vector storage for retrieval and search | Azure AI Search | `"my-ai-search-connection"` |
64+
| `storageConnections` | Manages file uploads and blob storage | Azure Storage Account | `"my-storage-connection"` |
65+
66+
### Optional property
67+
68+
| Property | Purpose | Required Azure resource | When to use |
69+
|----------|---------|------------------------|-------------|
70+
| `aiServicesConnections` | Use your own model deployments | Azure OpenAI | When you want to use models from your existing Azure OpenAI resource instead of the built-in account level ones. |
71+
72+
**Account capability host**
73+
```http
74+
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/capabilityHosts/{name}?api-version=2025-06-01
75+
76+
{
77+
"properties": {
78+
"capabilityHostKind": "Agents"
79+
}
80+
}
81+
```
82+
**Project capability host**
83+
84+
This configuration overrides service defaults and any account-level settings. All agents in this project will use your specified resources:
85+
```http
86+
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/projects/{projectName}/capabilityHosts/{name}?api-version=2025-06-01
87+
88+
{
89+
"properties": {
90+
"capabilityHostKind": "Agents",
91+
"threadStorageConnections": ["my-cosmos-db-connection"],
92+
"vectorStoreConnections": ["my-ai-search-connection"],
93+
"storageConnections": ["my-storage-account-connection"],
94+
"aiServicesConnections": ["my-azure-openai-connection"] // Optional
95+
}
96+
}
97+
```
98+
99+
### Optional: account-level defaults with project overrides
100+
101+
Set shared defaults at the account level that apply to all projects:
102+
103+
```http
104+
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/capabilityHosts/{name}?api-version=2025-06-01
105+
106+
{
107+
"properties": {
108+
"capabilityHostKind": "Agents",
109+
110+
// Optional: define shared BYO resources for every project. All foundry projects under this account will uses these Azure resources
111+
"threadStorageConnections": ["shared-cosmosdb-connection"],
112+
"vectorStoreConnections": ["shared-ai-search-connection"],
113+
"storageConnections": ["shared-storage-connection"]
114+
}
115+
}
116+
```
117+
> [!NOTE]
118+
> All Azure AI Foundry projects will inherit these settings. Then override specific settings at the project level as needed.
119+
120+
## Delete capability hosts
121+
122+
> [!WARNING]
123+
> Deleting a capability host will affect all agents that depend on it. Make sure you understand the impact before proceeding. For instance, if you delete the project and account capability host, agents in your project will no longer have access to the files, thread, and vector stores it previously did.
124+
125+
### Delete an account-level capability host
126+
127+
```http
128+
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/capabilityHosts/{name}?api-version=2025-06-01
129+
```
130+
131+
### Delete a project-level capability host
132+
133+
```http
134+
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/projects/{projectName}/capabilityHosts/{name}?api-version=2025-06-01
135+
```
136+
137+
## Next steps
138+
- Learn more about the [Standard Agent Setup](standard-agent-setup.md)
139+
- Get started with [Agent Service](../environment-setup.md)

articles/ai-foundry/agents/how-to/connected-agents.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ Checks the contract against internal standards or uploaded guidelines to identif
109109
## Use the .NET SDK
110110

111111
> [!NOTE]
112-
> This shows a synchronous usage. You can find an asynchronous example on [GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/ai/Azure.AI.Projects/samples/Sample24_Agent_Connected_Agent.md)
112+
> This shows a synchronous usage. You can find an asynchronous example on [GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/ai/Azure.AI.Agents.Persistent/samples/Sample23_PersistentAgents_Connected_Agent.md)
113113
114114
To enable your Agent to use a connected agent, you use `ConnectedAgentToolDefinition` along with the agent ID, name, and a description.
115115

@@ -230,7 +230,7 @@ To create a multi-agent setup, follow these steps:
230230
```python
231231
import os
232232
from azure.ai.projects import AIProjectClient
233-
from azure.ai.projects.models import ConnectedAgentTool, MessageRole
233+
from azure.ai.agents.models import ConnectedAgentTool, MessageRole
234234
from azure.identity import DefaultAzureCredential
235235

236236

articles/ai-foundry/agents/how-to/metrics.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ ms.service: azure-ai-agent-service
1515

1616
Monitoring is available for agents in a [standard agent setup](../concepts/standard-agent-setup.md).
1717

18+
[!INCLUDE [Feature preview](../../openai/includes/preview-feature.md)]
19+
1820
> [!IMPORTANT]
1921
> Monitoring support is currently limited to Azure AI Foundry hubs. Azure AI Foundry projects are not supported.
2022
@@ -94,4 +96,4 @@ You can set alerts for any metric listed in the [monitoring data reference](../r
9496
## Related content
9597

9698
- See [Monitoring data reference](../reference/monitor-service.md) for a reference of the metrics and other important values created for Azure AI Foundry Agent Service.
97-
- See [Monitoring Azure resources with Azure Monitor](/azure/azure-monitor/essentials/monitor-azure-resource) for general details on monitoring Azure resources.
99+
- See [Monitoring Azure resources with Azure Monitor](/azure/azure-monitor/essentials/monitor-azure-resource) for general details on monitoring Azure resources.

articles/ai-foundry/agents/how-to/tools/azure-functions.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,14 @@ ms.custom: azure-ai-agents
1414

1515
# Use Azure Functions with Azure AI Foundry Agent Service
1616

17-
The Azure AI Foundry Agent Service integrates with Azure Functions, enabling you to create intelligent, event-driven applications with minimal overhead. This combination allows AI-driven workflows to leverage the scalability and flexibility of serverless computing, making it easier to build and deploy solutions that respond to real-time events or complex workflows.
18-
19-
Azure Functions provide support for triggers and bindings, which simplify how your AI Agents interact with external systems and services. Triggers determine when a function executes—such as an HTTP request, message from a queue, or a file upload to Azure Blob Storage and allows agents to act dynamically based on incoming events.
20-
17+
The Azure AI Foundry Agent Service integrates with Azure Functions, enabling you to create intelligent, event-driven applications with minimal overhead. This combination allows AI-driven workflows to leverage the scalability and flexibility of serverless computing, making it easier to build and deploy solutions that respond to real-time events or complex workflows.
18+
19+
Currently, direct integration with Azure Functions is only supported for functions triggered by Azure Storage Queues. Other trigger types, such as HTTP or Blob Storage, are not natively supported at this time.
20+
21+
Azure Functions provide support for triggers and bindings, which simplify how your AI Agents interact with external systems and services. Triggers determine when a function executes—such as an HTTP request, message from a queue, or a file upload to Azure Blob Storage—and allow agents to act dynamically based on incoming events.
22+
23+
For HTTP-triggered Azure Functions, integration is possible by describing the function through an OpenAPI specification and registering it as a callable tool in the agent configuration. Alternatively, you can implement a queue-based wrapper function that receives messages from the agent and internally invokes the HTTP logic, enabling the use of the existing queue-based integration.
24+
2125
Meanwhile, bindings facilitate streamlined connections to input or output data sources, such as databases or APIs, without requiring extensive boilerplate code. For instance, you can configure a trigger to execute an Azure Function whenever a customer message is received in a chatbot and use output bindings to send a response via the Azure AI Agent.
2226

2327
### Supported models

articles/ai-foundry/agents/how-to/tools/deep-research-samples.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@ Use this article to learn how to use the Deep Research tool with the Azure AI Pr
5050

5151
Save this endpoint to an environment variable named `BING_RESOURCE_NAME`.
5252

53-
* The names of your `o3-deep-research-model` deployment name and Azure OpenAI GPT model deployment name. You can find them in **Models + Endpoints** in the left navigation menu.
53+
* The deployment names of your `o3-deep-research-model` and `gpt-4o` models. You can find them in **Models + Endpoints** in the left navigation menu.
5454

55-
:::image type="content" source="../../media/tools/deep-research/model-deployments.png" alt-text="A screenshot showing the model deployment screen the AI Foundry portal." lightbox="../../media/tools/deep-research/model-deployments.png":::
55+
:::image type="content" source="../../media/tools/deep-research/model-deployments.png" alt-text="A screenshot showing the model deployment screen the AI Foundry portal." lightbox="../../media/tools/deep-research/model-deployments.png":::
5656
57-
Save the name of your `o3-deep-research-model` deployment name as an environment variable named `DEEP_RESEARCH_MODEL_DEPLOYMENT_NAME` and Azure OpenAI GPT model deployment name as an environment variable named `MODEL_DEPLOYMENT_NAME`.
57+
Save the name of your `o3-deep-research` deployment name as an environment variable named `DEEP_RESEARCH_MODEL_DEPLOYMENT_NAME` and the `gpt-4o` deployment name as an environment variable named `MODEL_DEPLOYMENT_NAME`.
5858

5959
> [!NOTE]
60-
> Limitation: The Deep Research tool is currently recommended only in nonstreaming scenarios. Using it with streaming can work, but it might occasionally time out and is therefore not recommended.
60+
> Other GPT-series models including GPT-4o-mini and the GPT-4.1 series are not supported for scope clarification.
6161

6262
## Create an agent with the Deep Research tool
6363

@@ -197,6 +197,9 @@ with project_client:
197197
print("Deleted agent")
198198
```
199199

200+
> [!NOTE]
201+
> Limitation: The Deep Research tool is currently recommended only in nonstreaming scenarios. Using it with streaming can work, but it might occasionally time out and is therefore not recommended.
202+
200203
## Next steps
201204

202205
* [Reference documentation](https://aka.ms/azsdk/azure-ai-projects/python/reference)

articles/ai-foundry/agents/how-to/tools/deep-research.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,14 @@ The Deep Research tool is supported in the following regions where the deep rese
4747
|---------|---------|
4848
| ✔️ | ✔️ |
4949

50-
## GPT model for clarifying research scope
50+
## GPT-4o model for clarifying research scope
5151

52-
The Deep Research tool uses a GPT model to clarify the question contained in the user prompt, gather additional context if needed, and precisely scope the research task. This model is deployed during configuration of the Deep Research tool and can be one of the GPT-series models including GPT-4o, **except** the GPT-4.1 family, The 4.1 family is not supported by the Agents service.
52+
The Deep Research tool uses the `gpt-4o` model to clarify the question contained in the user prompt, gather additional context if needed, and precisely scope the research task. This model is deployed during configuration of the Deep Research tool.
5353

54-
## Deep research model for deep analysis
54+
> [!NOTE]
55+
> Other GPT-series models including GPT-4o-mini and the GPT-4.1 series are not supported for scope clarification.
56+
57+
## Deep research model for analysis
5558

5659
- **Model name**: `o3-deep-research`
5760
- **Deployment type**: Global Standard
@@ -64,7 +67,7 @@ The Deep Research tool uses a GPT model to clarify the question contained in the
6467
- [Grounding with Bing Search tool](./bing-grounding.md) resource for connecting to your Azure AI Foundry project.
6568
- [Model deployments](../../../model-inference/how-to/create-model-deployments.md) for the following models
6669
- `o3-deep-research` version `2025-06-26`. This model is available in `West US` and `Norway East`.
67-
- Any Azure OpenAI GPT model like `gpt-4o` for intent clarification. Deploy in the same regions.
70+
- The `gpt-4o` model for intent clarification. Deploy this model in the same region.
6871

6972
## Research tool setup
7073

articles/ai-foundry/agents/how-to/tools/file-search.md

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: cognitive-services
66
manager: nitinme
77
ms.service: azure-ai-agent-service
88
ms.topic: how-to
9-
ms.date: 12/11/2024
9+
ms.date: 07/17/2025
1010
author: aahill
1111
ms.author: aahi
1212
ms.custom: azure-ai-agents
@@ -26,17 +26,13 @@ File search augments agents with knowledge from outside its model, such as propr
2626

2727
### File sources
2828
- Upload local files
29-
- Azure Blob Storage
30-
31-
### Supported file types
32-
33-
- [Supported file types](#supported-file-types)
29+
- Azure Blob Storage
3430

3531
### Usage support
3632

3733
|Azure AI foundry support | Python SDK | C# SDK | JavaScript SDK | REST API | Basic agent setup | Standard agent setup |
3834
|---------|---------|---------|---------|---------|---------|---------|
39-
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | File upload only | File upload and using BYO blob storage |
35+
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | File upload only | File upload and using bring-your-own blob storage |
4036

4137
## Dependency on agent setup
4238

@@ -49,9 +45,8 @@ The file search tool has the same functionality as Azure OpenAI Assistants. Micr
4945
The file search tool uses the Azure AI Search and Azure Blob Storage resources you connected during agent setup.
5046
- Uploaded files get stored in your connected Azure Blob Storage account
5147
- Vector stores get created using your connected Azure AI Search resource
52-
<br> </br>
5348

54-
For both agent setups, Azure OpenAI handles the entire ingestion process, which includes:
49+
For both agent setups, the service handles the entire ingestion process, which includes:
5550
- Automatically parsing and chunking documents
5651
- Generating and storing embeddings
5752
- Utilizing both vector and keyword searches to retrieve relevant content for user queries.
@@ -169,9 +164,9 @@ vector_store = project_client.agents.create_vector_store_and_poll(
169164

170165
Vector stores created using thread helpers (like `tool_resources.file_search.vector_stores` in Threads or `message.attachments` in Messages) have a default expiration policy of seven days after they were last active (defined as the last time the vector store was part of a run).
171166

172-
When a vector store expires, the runs on that thread fail. To fix this issue, you can recreate a new vector_store with the same files and reattach it to the thread.
167+
When a vector store expires, the runs on that thread fail. To fix this issue, you can recreate a new vector_store with the same files and reattach it to the thread.
173168

174-
### Supported file types
169+
## Supported file types
175170

176171
> [!NOTE]
177172
> For text/ MIME types, the encoding must be either utf-8, utf-16, or ASCII.

0 commit comments

Comments
 (0)