|
| 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) |
0 commit comments