Skip to content

Commit 09aab24

Browse files
Merge pull request #4222 from HeidiSteen/heidist-freshness
AI Vision multimodal doc updates
2 parents 49dee1d + 1b3f695 commit 09aab24

File tree

3 files changed

+49
-35
lines changed

3 files changed

+49
-35
lines changed

articles/search/cognitive-search-defining-skillset.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.service: azure-ai-search
88
ms.custom:
99
- ignite-2023
1010
ms.topic: conceptual
11-
ms.date: 12/06/2024
11+
ms.date: 04/18/2025
1212
---
1313

1414
# Create a skillset in Azure AI Search
@@ -192,7 +192,7 @@ Skills read from and write to an enriched document. Skill inputs specify the ori
192192
| `source`: `/document/some-named-field` | For text-based skills, such as entity recognition or key phrase extraction, the origin should be a field that contains sufficient text to be analyzed, such as a *description* or *summary*. |
193193
| `source`: `/document/normalized_images/*` | For image content, the source is image that's been normalized during document cracking. |
194194

195-
If the skill iterates over an array, both context and input source should include `/*` in the correct positions.
195+
If the skill iterates over an array, both context and input source should include `/*` in the correct positions. For more information about the complete syntax, see [Skill context and input annotation language](cognitive-search-skill-annotation-language.md).
196196

197197
## Define outputs
198198

articles/search/cognitive-search-skill-vision-vectorize.md

Lines changed: 38 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,44 +9,55 @@ ms.custom:
99
- build-2024
1010
- references_regions
1111
ms.topic: reference
12-
ms.date: 08/05/2024
12+
ms.date: 04/18/2025
1313
---
1414

1515
# Azure AI Vision multimodal embeddings skill
1616

1717
> [!IMPORTANT]
18-
> This skill is in public preview under [Supplemental Terms of Use](https://azure.microsoft.com/support/legal/preview-supplemental-terms/). The [2024-05-01-Preview REST API](/rest/api/searchservice/skillsets/create-or-update?view=rest-searchservice-2024-05-01-Preview&preserve-view=true) supports this feature.
18+
> This skill is in public preview under [Supplemental Terms of Use](https://azure.microsoft.com/support/legal/preview-supplemental-terms/). The [2024-05-01-Preview REST API](/rest/api/searchservice/skillsets/create-or-update?view=rest-searchservice-2024-05-01-Preview&preserve-view=true) and newer preview APIs support this feature.
1919
2020
The **Azure AI Vision multimodal embeddings** skill uses Azure AI Vision's [multimodal embeddings API](/azure/ai-services/computer-vision/concept-image-retrieval) to generate embeddings for image or text input.
2121

22-
The skill is only supported in search services located in a region that supports the [Azure AI Vision Multimodal embeddings API](/azure/ai-services/computer-vision/how-to/image-retrieval). Review [region availability for multimodal embeddings](/azure/ai-services/computer-vision/overview-image-analysis?tabs=4-0#region-availability). Your data is processed in the [Geo](https://azure.microsoft.com/explore/global-infrastructure/data-residency/) where your model is deployed.
22+
This skill must be [attached to a billable Azure AI multi-service resource](cognitive-search-attach-cognitive-services.md) for transactions that exceed 20 documents per indexer per day. Execution of built-in skills is charged at the existing [Azure AI services pay-as-you go price](https://azure.microsoft.com/pricing/details/cognitive-services/).
2323

24-
> [!NOTE]
25-
> This skill is bound to Azure AI services and requires [a billable resource](cognitive-search-attach-cognitive-services.md) for transactions that exceed 20 documents per indexer per day. Execution of built-in skills is charged at the existing [Azure AI services pay-as-you go price](https://azure.microsoft.com/pricing/details/cognitive-services/).
26-
>
27-
> In addition, image extraction is [billable by Azure AI Search](https://azure.microsoft.com/pricing/details/search/).
28-
>
24+
In addition, image extraction is [billable by Azure AI Search](https://azure.microsoft.com/pricing/details/search/).
25+
26+
Location of resources is an important consideration. Because you're using a preview API version to create a skillset that contains preview skills, you have the option of a [keyless connection](cognitive-search-attach-cognitive-services.md#bill-through-a-keyless-connection), which relaxes the region requirement. However, if you're connecting with an API key, then Azure AI Search and Azure AI multi-service must be in the same region.
27+
28+
+ First, find a [supported region for multimodal embeddings](/azure/ai-services/computer-vision/overview-image-analysis?tabs=4-0#region-availability).
29+
30+
+ Second, verify the [region provides AI enrichment](search-region-support.md).
31+
32+
The Azure AI multi-service resource is used for billing purposes only. Content processing occurs on separate resources managed and maintained by Azure AI Search within the same geo. Your data is processed in the [Geo](https://azure.microsoft.com/explore/global-infrastructure/data-residency/) where your resource is deployed.
2933

3034
## @odata.type
3135

3236
Microsoft.Skills.Vision.VectorizeSkill
3337

3438
## Data limits
3539

36-
The input limits for the skill can be found in [the Azure AI Vision documentation](/azure/ai-services/computer-vision/concept-image-retrieval#input-requirements) for images and text respectively. Consider using the [Text Split skill](cognitive-search-skill-textsplit.md) if you need data chunking for text inputs.
40+
The input limits for the skill can be found in the [Azure AI Vision documentation](/azure/ai-services/computer-vision/concept-image-retrieval#input-requirements) for images and text respectively. Consider using the [Text Split skill](cognitive-search-skill-textsplit.md) if you need data chunking for text inputs.
41+
42+
Applicable inputs include:
43+
44+
+ Image input file size must be less than 20 megabytes (MB). Image size must be greater than 10 x 10 pixels and less than 16,000 x 16,000 pixels.
45+
+ Text input string must be between (inclusive) one word and 70 words.
3746

3847
## Skill parameters
3948

4049
Parameters are case-sensitive.
4150

4251
| Inputs | Description |
4352
|---------------------|-------------|
44-
| `modelVersion` | (Required) The model version to be passed to the Azure AI Vision multimodal embeddings API for generating embeddings. It's important that all embeddings stored in a given index field are generated using the same `modelVersion`. For information about version support for this model, refer to [multimodal embeddings](/azure/ai-services/computer-vision/concept-image-retrieval#what-are-vector-embeddings).|
53+
| `modelVersion` | (Required) The model version (`2023-04-15`) to be passed to the Azure AI Vision multimodal embeddings API for generating embeddings. Vector embeddings can only be compared and matched if they're from the same model type. Images vectorized by one model won't be searchable through a different model. The latest Image Analysis API offers two models, version `2023-04-15` which supports text search in many languages, and the legacy `2022-04-11` model which supports only English. Azure AI Search uses the newer version. |
4554

4655
## Skill inputs
4756

57+
Skill definition inputs include name, source, and inputs. The following table provides valid values for name of the input. You can also specify recursive inputs. For more information, see the [REST API reference](/rest/api/searchservice/skillsets/create?view=rest-searchservice-2025-03-01-preview#inputfieldmappingentry&preserve-view=true) and [Create a skillset](cognitive-search-defining-skillset.md).
58+
4859
| Input | Description |
49-
|--------------------|-------------|
60+
|--------|-------------|
5061
| `text` | The input text to be vectorized. If you're using data chunking, the source might be `/document/pages/*`. |
5162
| `image` | Complex Type. Currently only works with "/document/normalized_images" field, produced by the Azure blob indexer when ```imageAction``` is set to a value other than ```none```. |
5263
| `url` | The URL to download the image to be vectorized. |
@@ -62,15 +73,15 @@ Only one of `text`, `image` or `url`/`queryString` can be configured for a singl
6273

6374
## Sample definition
6475

65-
For text input, consider a record that has the following fields:
76+
For text input, consider a blob that has the following content:
6677

6778
```json
6879
{
69-
"content": "Microsoft released Windows 10."
80+
"content": "Forests, grasslands, deserts, and mountains are all part of the Patagonian landscape that spans more than a million square kilometers of South America."
7081
}
7182
```
7283

73-
Then your skill definition might look like this:
84+
For text inputs, your skill definition might look like this:
7485

7586
```json
7687
{
@@ -85,14 +96,15 @@ Then your skill definition might look like this:
8596
    ],
8697
    "outputs": [
8798
        {
88-
            "name": "vector"
99+
"name": "vector",
100+
"targetName": "text_vector"
89101
        }
90102
    ]
91103
}
92104

93105
```
94106

95-
For image input, your skill definition might look like this:
107+
For image input, a second skill definition in the same skillset might look like this:
96108

97109
```json
98110
{
@@ -107,13 +119,14 @@ For image input, your skill definition might look like this:
107119
],
108120
"outputs": [
109121
{
110-
"name": "vector"
122+
"name": "vector",
123+
"targetName": "image_vector"
111124
}
112125
]
113126
}
114127
```
115128

116-
If you want to vectorize images directly from your blob storage datasource, your skill definition might look like this:
129+
If you want to vectorize images directly from your blob storage data source rather than extract images during indexing, your skill definition should specify a URL, and perhaps a SAS token depending on storage security. For this scenario, your skill definition might look like this:
117130

118131
```json
119132
{
@@ -132,19 +145,20 @@ If you want to vectorize images directly from your blob storage datasource, your
132145
],
133146
"outputs": [
134147
{
135-
"name": "vector"
148+
"name": "vector",
149+
"targetName": "image_vector"
136150
}
137151
]
138152
}
139153
```
140154

141155
## Sample output
142156

143-
For the given input text, a vectorized embedding output is produced.
157+
For the given input, a vectorized embedding output is produced. Output is 1,024 dimensions, which is the number of dimensions supported by the Azure AI Vision multimodal API.
144158

145159
```json
146160
{
147-
"vector": [
161+
"text_vector": [
148162
0.018990106880664825,
149163
-0.0073809814639389515,
150164
....
@@ -153,7 +167,7 @@ For the given input text, a vectorized embedding output is produced.
153167
}
154168
```
155169

156-
The output resides in memory. To send this output to a field in the search index, you must define an [outputFieldMapping](cognitive-search-output-field-mapping.md) that maps the vectorized embedding output (which is an array) to a [vector field](vector-search-how-to-create-index.md). Assuming the skill output resides in the document's **vector** node, and **content_vector** is the field in the search index, the outputFieldMapping in indexer should look like:
170+
The output resides in memory. To send this output to a field in the search index, you must define an [outputFieldMapping](cognitive-search-output-field-mapping.md) that maps the vectorized embedding output (which is an array) to a [vector field](vector-search-how-to-create-index.md). Assuming the skill output resides in the document's **vector** node, and **content_vector** is the field in the search index, the outputFieldMapping in the indexer should look like:
157171

158172
```json
159173
"outputFieldMappings": [
@@ -164,7 +178,7 @@ The output resides in memory. To send this output to a field in the search index
164178
]
165179
```
166180

167-
For mapping image embeddings to the index, you'll need to use the [Index Projections](index-projections-concept-intro.md) feature. The payload for `indexProjections` might look something like this:
181+
For mapping image embeddings to the index, you use [index projections](index-projections-concept-intro.md). The payload for `indexProjections` might look something like the following example. image_content_vector is a field in the index, and it's populated with the content found in the **vector** of the **normalized_images** array.
168182

169183
```json
170184
"indexProjections": {
@@ -175,7 +189,7 @@ For mapping image embeddings to the index, you'll need to use the [Index Project
175189
"sourceContext": "/document/normalized_images/*",
176190
"mappings": [
177191
{
178-
"name": "content_vector",
192+
"name": "image_content_vector",
179193
"source": "/document/normalized_images/*/vector"
180194
}
181195
]

articles/search/search-region-support.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Some features take a dependency on other Azure services or infrastructure that a
2727
| [Availability zones](search-reliability.md#availability-zone-support) | Divides a region's data centers into distinct physical location groups, providing high availability within the same geo. | Regional support is noted in this article. |
2828
| [Semantic ranker](semantic-search-overview.md) | Takes a dependency on Microsoft-hosted models in specific regions. | Regional support is noted in this article. |
2929
| [Query rewrite](semantic-how-to-query-rewrite.md) | Takes a dependency on Microsoft-hosted models in specific regions. | Regional support is noted in this article. |
30-
| [AI service integration](cognitive-search-concept-intro.md) | Refers to [built-in skills](cognitive-search-predefined-skills.md) that make internal calls to Azure AI for enrichment and transformation during indexing. Integration requires that Azure AI Search coexists with an [Azure AI services multi-service account](/azure/ai-services/multi-service-resource#azure-ai-services-resource-for-azure-ai-search-skills) in the same physical region. You can bypass region requirements if you use [identity-based connections](cognitive-search-attach-cognitive-services.md#bill-through-a-keyless-connection), currently in public preview. | Regional support is noted in this article. |
30+
| [AI enrichment](cognitive-search-concept-intro.md) | Refers to [built-in skills](cognitive-search-predefined-skills.md) that make internal calls to Azure AI for enrichment and transformation during indexing. Integration requires that Azure AI Search coexists with an [Azure AI services multi-service account](/azure/ai-services/multi-service-resource#azure-ai-services-resource-for-azure-ai-search-skills) in the same physical region. You can bypass region requirements if you use [identity-based connections](cognitive-search-attach-cognitive-services.md#bill-through-a-keyless-connection), currently in public preview. | Regional support is noted in this article. |
3131
| [Azure OpenAI integration](vector-search-integrated-vectorization.md) | Refers to the AzureOpenAIEmbedding skill and vectorizer that make internal calls to deployed embedding models on Azure OpenAI. | Check [Azure OpenAI model region availability](/azure/ai-services/openai/concepts/models#model-summary-table-and-region-availability) for the most current list of regions for each embedding and chat model. Specific Azure OpenAI models are in fewer regions, so check for model availability first, and then verify Azure AI Search is available in the same region.|
3232
| [Azure AI Foundry integration](vector-search-integrated-vectorization-ai-studio.md) | Refers to skills and vectorizers that make internal calls to the models hosted in the model catalog. | Check [Azure AI Foundry region availability](/azure/ai-foundry/reference/region-support) for the most current list of regions. |
3333
| [Azure AI Vision 4.0 multimodal APIs](search-get-started-portal-image-search.md) | Refers to the Azure AI Vision multimodal embeddings skill and vectorizer that call the multimodal embedding API. | Check the [Azure AI Vision region list](/azure/ai-services/computer-vision/overview-image-analysis#region-availability) first, and then verify Azure AI Search is available in the same region.|
@@ -36,11 +36,11 @@ Some features take a dependency on other Azure services or infrastructure that a
3636

3737
You can create an Azure AI Search resource in any of the following Azure public regions. Almost all of these regions support [higher capacity tiers](search-limits-quotas-capacity.md#service-limits). Exceptions are noted where they apply.
3838

39-
AI service integration refers to internal connections to an Azure AI services multi-service account and doesn't include Azure OpenAI integration.
39+
AI enrichment refers to internal connections to an Azure AI services multi-service account and doesn't include Azure OpenAI integration.
4040

4141
### Americas
4242

43-
| Region | AI service integration | Availability zones | Semantic ranker | Query rewrite |
43+
| Region | AI enrichment | Availability zones | Semantic ranker | Query rewrite |
4444
|--|--|--|--|--|
4545
| Brazil South​​ ​|| || |
4646
| Canada Central​​ |||| |
@@ -58,7 +58,7 @@ AI service integration refers to internal connections to an Azure AI services mu
5858

5959
### Europe
6060

61-
| Region | AI service integration | Availability zones | Semantic ranker | Query rewrite |
61+
| Region | AI enrichment | Availability zones | Semantic ranker | Query rewrite |
6262
|--|--|--|--|--|
6363
| North Europe​ <sup>1</sup>​ |||||
6464
| West Europe​​ |||| |
@@ -80,7 +80,7 @@ AI service integration refers to internal connections to an Azure AI services mu
8080

8181
### Middle East
8282

83-
| Region | AI service integration | Availability zones | Semantic ranker | Query rewrite |
83+
| Region | AI enrichment | Availability zones | Semantic ranker | Query rewrite |
8484
|--|--|--|--|--|
8585
| Israel Central​ <sup>1</sup> | || | |
8686
| Qatar Central​ <sup>1</sup> | || | |
@@ -90,13 +90,13 @@ AI service integration refers to internal connections to an Azure AI services mu
9090

9191
### Africa
9292

93-
| Region | AI service integration | Availability zones | Semantic ranker | Query rewrite |
93+
| Region | AI enrichment | Availability zones | Semantic ranker | Query rewrite |
9494
|--|--|--|--|--|
9595
| South Africa North​ ||| | |
9696

9797
### Asia Pacific
9898

99-
| Region | AI service integration | Availability zones | Semantic ranker | Query rewrite |
99+
| Region | AI enrichment | Availability zones | Semantic ranker | Query rewrite |
100100
|--|--|--|--|--|
101101
| Australia East​ ​|||| |
102102
| Australia Southeast​​​ | | || |
@@ -115,15 +115,15 @@ AI service integration refers to internal connections to an Azure AI services mu
115115

116116
## Azure Government regions
117117

118-
| Region | AI service integration | Availability zones | Semantic ranker | Query rewrite |
118+
| Region | AI enrichment | Availability zones | Semantic ranker | Query rewrite |
119119
|--|--|--|--|--|
120120
| Arizona || || |
121121
| Texas | | | | |
122122
| Virginia |||| |
123123

124124
## Azure operated by 21Vianet
125125

126-
| Region | AI service integration | Availability zones | Semantic ranker | Query rewrite |
126+
| Region | AI enrichment | Availability zones | Semantic ranker | Query rewrite |
127127
|--|--|--|--|--|
128128
| China East | | | | |
129129
| China East 2 <sup>1</sup> || | | |

0 commit comments

Comments
 (0)