Skip to content

Commit dbeb4d6

Browse files
Merge pull request #278136 from HeidiSteen/heidist-semantic
[azure search] Semantic scoring distribution + throttling
2 parents a73a0e0 + 4143f04 commit dbeb4d6

File tree

4 files changed

+37
-15
lines changed

4 files changed

+37
-15
lines changed

articles/search/search-limits-quotas-capacity.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ author: HeidiSteen
88
ms.author: heidist
99
ms.service: cognitive-search
1010
ms.topic: conceptual
11-
ms.date: 05/21/2024
11+
ms.date: 06/13/2024
1212
ms.custom:
1313
- references_regions
1414
- build-2024
@@ -230,6 +230,10 @@ Static rate request limits for operations related to a service:
230230

231231
+ Service Statistics (GET /servicestats): 4 per second per search unit
232232

233+
L2 reranking using the semantic reranker has an expected volume:
234+
235+
+ Up to 10 concurrent queries per replica. If you anticipate consistent throughput requirements near, at, or higher than this level, please file a support ticket so that we can provision for your workload.
236+
233237
## API request limits
234238

235239
* Maximum of 16 MB per request <sup>1</sup>

articles/search/semantic-how-to-configure.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,26 @@ ms.service: cognitive-search
1010
ms.custom:
1111
- ignite-2023
1212
ms.topic: how-to
13-
ms.date: 02/08/2024
13+
ms.date: 06/13/2024
1414
---
1515

1616
# Configure semantic ranking and return captions in search results
1717

18-
In this article, learn how to invoke a semantic ranking over a result set, promoting the most semantically relevant results to the top of the stack. You can also get semantic captions, with highlights over the most relevant terms and phrases, and [semantic answers](semantic-answers.md).
18+
This article explains how to configure a search index for semantic reranking.
19+
20+
Semantic ranking iterates over an initial result set, applying an L2 ranking methodology that promotes the most semantically relevant results to the top of the stack. You can also get semantic captions, with highlights over the most relevant terms and phrases, and [semantic answers](semantic-answers.md).
1921

2022
## Prerequisites
2123

22-
+ A search service on Basic, Standard tier (S1, S2, S3), or Storage Optimized tier (L1, L2), subject to [region availability](https://azure.microsoft.com/global-infrastructure/services/?products=search).
24+
+ A search service on a basic tier or higher, subject to [region availability](https://azure.microsoft.com/global-infrastructure/services/?products=search).
2325

2426
+ Semantic ranker [enabled on your search service](semantic-how-to-enable-disable.md).
2527

26-
+ An existing search index with rich text content. Semantic ranking applies to text (nonvector) fields and works best on content that is informational or descriptive.
28+
+ An existing search index with rich text content. Semantic ranking applies to strings (nonvector) fields and works best on content that is informational or descriptive.
2729

2830
## Choose a client
2931

30-
Choose a search client that supports semantic ranking. Here are some options:
32+
You can use any of the following tools and SDKs to add a semantic configuration:
3133

3234
+ [Azure portal](https://portal.azure.com), using the index designer to add a semantic configuration.
3335
+ [Visual Studio Code](https://code.visualstudio.com/download) with the [REST client](https://marketplace.visualstudio.com/items?itemName=humao.rest-client)

articles/search/semantic-how-to-query-request.md

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,18 @@ ms.service: cognitive-search
1010
ms.custom:
1111
- ignite-2023
1212
ms.topic: how-to
13-
ms.date: 02/08/2024
13+
ms.date: 06/13/2024
1414
---
1515

1616
# Create a semantic query in Azure AI Search
1717

18-
In this article, learn how to invoke a semantic ranking over a result set, promoting the most semantically relevant results to the top of the stack. You can also get semantic captions, with highlights over the most relevant terms and phrases, and [semantic answers](semantic-answers.md).
18+
This article explains how to invoke the semantic ranker on queries. You can apply semantic ranking to text queries, hybrid queries, and vector queries if your search documents contain string fields and the [vector query has a text representation](vector-search-how-to-query.md#query-with-integrated-vectorization-preview).
19+
20+
Semantic ranking iterates over an initial result set, applying an L2 ranking methodology that promotes the most semantically relevant results to the top of the stack. You can also get semantic captions, with highlights over the most relevant terms and phrases, and [semantic answers](semantic-answers.md).
1921

2022
## Prerequisites
2123

22-
+ A search service, Basic tier or higher, with [semantic ranking](semantic-how-to-enable-disable.md).
24+
+ A search service, basic tier or higher, with [semantic ranking enabled](semantic-how-to-enable-disable.md).
2325

2426
+ An existing search index with a [semantic configuration](semantic-how-to-configure.md) and rich text content.
2527

@@ -30,7 +32,7 @@ In this article, learn how to invoke a semantic ranking over a result set, promo
3032
3133
## Choose a client
3234

33-
Choose a search client that supports semantic ranking. Here are some options:
35+
You can use any of the following tools and SDKs to build a query that uses semantic ranking:
3436

3537
+ [Azure portal](https://portal.azure.com), using the index designer to add a semantic configuration.
3638
+ [Visual Studio Code](https://code.visualstudio.com/download) with a [REST client](https://marketplace.visualstudio.com/items?itemName=humao.rest-client)
@@ -86,7 +88,7 @@ In this step, add parameters to the query request. To be successful, your query
8688
"count": true
8789
}
8890
```
89-
91+
9092
### [**REST API**](#tab/rest-query)
9193

9294
Use [Search Documents](/rest/api/searchservice/documents/search-post) to formulate the request.
@@ -220,6 +222,20 @@ The response for the above example query returns the following match as the top
220222
]
221223
```
222224

225+
## Expected workloads
226+
227+
For semantic ranking, you should expect a search service to support up to 10 concurrent queries per replica.
228+
229+
The service throttles semantic ranking requests if volumes are too high. An error message that includes these phrases indicate the service is at capacity for semantic ranking:
230+
231+
```json
232+
Error in search query: Operation returned an invalid status 'Partial Content'`
233+
@search.semanticPartialResponseReason`
234+
CapacityOverloaded
235+
```
236+
237+
If you anticipate consistent throughput requirements near, at, or higher than this level, please file a support ticket so that we can provision for your workload.
238+
223239
## Next steps
224240

225241
Semantic ranking can be used in hybrid queries that combine keyword search and vector search into a single request and a unified response.

articles/search/semantic-search-overview.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ ms.service: cognitive-search
1010
ms.custom:
1111
- ignite-2023
1212
ms.topic: conceptual
13-
ms.date: 02/08/2024
13+
ms.date: 06/12/2024
1414
---
1515

1616
# Semantic ranking in Azure AI Search
1717

18-
In Azure AI Search, *semantic ranking* measurably improves search relevance by using language understanding to rerank search results. This article is a high-level introduction. The section at the end covers [availability and pricing](#availability-and-pricing).
18+
In Azure AI Search, *semantic ranking* is a feature that measurably improves search relevance by using Microsoft's language understanding models to rerank search results. This article is a high-level introduction. The section at the end covers [availability and pricing](#availability-and-pricing).
1919

2020
Semantic ranker is a premium feature, billed by usage. We recommend this article for background, but if you'd rather get started, follow these steps:
2121

@@ -32,7 +32,7 @@ Semantic ranker is a premium feature, billed by usage. We recommend this article
3232
3333
## What is semantic ranking?
3434

35-
Semantic ranker is a collection of query-related capabilities that improve the quality of an initial [BM25-ranked](index-similarity-and-scoring.md) or [RRF-ranked](hybrid-search-ranking.md) search result for text-based queries. When you enable it on your search service, semantic ranking extends the query execution pipeline in two ways:
35+
Semantic ranker is a collection of query-side capabilities that improve the quality of an initial [BM25-ranked](index-similarity-and-scoring.md) or [RRF-ranked](hybrid-search-ranking.md) search result for text-based queries. When you enable it on your search service, semantic ranking extends the query execution pipeline in two ways:
3636

3737
* First, it adds secondary ranking over an initial result set that was scored using BM25 or RRF. This secondary ranking uses multi-lingual, deep learning models adapted from Microsoft Bing to promote the most semantically relevant results.
3838

@@ -101,7 +101,7 @@ Scoring is done over the caption, and any other content from the summary string
101101
1. Matches are listed in descending order by score and included in the query response payload. The payload includes answers, plain text and highlighted captions, and any fields that you marked as retrievable or specified in a select clause.
102102

103103
> [!NOTE]
104-
> Beginning on July 14, 2023, the **@search.rerankerScore** distribution is changing. The effect on scores can't be determined except through testing. If you have a hard threshold dependency on this response property, rerun your tests to understand what the new values should be for your threshold.
104+
> For any given query, the distributions of **@search.rerankerScore** can exhibit slight variations due to conditions at the infrastructure level. Ranking model updates have also been known to affect the distribution. For these reasons, if you're writing custom code for minimum thresholds, or [setting the threshold property](vector-search-how-to-query.md#set-thresholds-to-exclude-low-scoring-results-preview) for vector and hybrid queries, don't make the limits too granular.
105105
106106
## Semantic capabilities and limitations
107107

0 commit comments

Comments
 (0)