Skip to content

Commit 9856e7e

Browse files
committed
Merge branch 'main' into release-deid
2 parents a401af9 + bb5a785 commit 9856e7e

File tree

527 files changed

+4237
-2731
lines changed

Some content is hidden

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

527 files changed

+4237
-2731
lines changed

.openpublishing.redirection.ai-services-from-cog.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1670,11 +1670,6 @@
16701670
"redirect_url": "/azure/ai-services/speech-service/how-to-configure-openssl-linux",
16711671
"redirect_document_id": true
16721672
},
1673-
{
1674-
"source_path_from_root": "/articles/cognitive-services/speech-service/how-to-configure-rhel-centos-7.md",
1675-
"redirect_url": "/azure/ai-services/speech-service/how-to-configure-rhel-centos-7",
1676-
"redirect_document_id": true
1677-
},
16781673
{
16791674
"source_path_from_root": "/articles/cognitive-services/speech-service/how-to-control-connections.md",
16801675
"redirect_url": "/azure/ai-services/speech-service/how-to-control-connections",

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5079,6 +5079,11 @@
50795079
"source_path_from_root": "/articles/xplat-cli-install.md",
50805080
"redirect_url": "/cli/azure/install-azure-cli",
50815081
"redirect_document_id": false
5082+
},
5083+
{
5084+
"source_path_from_root": "/articles/virtual-network/template-samples.md",
5085+
"redirect_url": "/samples/browse/?expanded=azure&products=azure-resource-manager&terms=virtual%20network",
5086+
"redirect_document_id": false
50825087
}
50835088
]
50845089
}

articles/ai-services/.openpublishing.redirection.ai-services.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,16 @@
384384
"source_path_from_root": "/articles/ai-services/speech-service/faq-voice-assistants.yml",
385385
"redirect_url": "/azure/ai-services/speech-service/custom-commands",
386386
"redirect_document_id": false
387+
},
388+
{
389+
"source_path_from_root": "/articles/cognitive-services/speech-service/how-to-configure-rhel-centos-7.md",
390+
"redirect_url": "/azure/ai-services/speech-service/quickstarts/setup-platform",
391+
"redirect_document_id": false
392+
},
393+
{
394+
"source_path_from_root": "/articles/ai-services/speech-service/how-to-configure-rhel-centos-7.md",
395+
"redirect_url": "/azure/ai-services/speech-service/quickstarts/setup-platform",
396+
"redirect_document_id": false
387397
}
388398

389399
]

articles/ai-services/computer-vision/how-to/identity-access-token.md

Lines changed: 29 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -112,61 +112,51 @@ curl -X POST 'https://<client-endpoint>/face/v1.0/identify' \
112112
113113
#### [C#](#tab/csharp)
114114

115-
The following code snippets show you how to use an access token with the [Face SDK for C#](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Vision.Face).
115+
The following code snippets show you how to use an access token with the [Face SDK for C#](https://aka.ms/azsdk-csharp-face-pkg).
116116

117-
The following class uses an access token to create a **ServiceClientCredentials** object that can be used to authenticate a Face API client object. It automatically adds the access token as a header in every request that the Face client will make.
117+
The following class uses an access token to create a **HttpPipelineSynchronousPolicy** object that can be used to authenticate a Face API client object. It automatically adds the access token as a header in every request that the Face client will make.
118118

119119
```csharp
120-
public class LimitedAccessTokenWithApiKeyClientCredential : ServiceClientCredentials
120+
public class LimitedAccessTokenPolicy : HttpPipelineSynchronousPolicy
121121
{
122-
/// <summary>
123-
/// Creates a new instance of the LimitedAccessTokenWithApiKeyClientCredential class
124-
/// </summary>
125-
/// <param name="apiKey">API Key for the Face API or CognitiveService endpoint</param>
126-
/// <param name="limitedAccessToken">LimitedAccessToken to bypass the limited access program, requires ISV sponsership.</param>
127-
128-
public LimitedAccessTokenWithApiKeyClientCredential(string apiKey, string limitedAccessToken)
129-
{
130-
this.ApiKey = apiKey;
131-
this.LimitedAccessToken = limitedAccessToken;
122+
/// <summary>
123+
/// Creates a new instance of the LimitedAccessTokenPolicy class
124+
/// </summary>
125+
/// <param name="limitedAccessToken">LimitedAccessToken to bypass the limited access program, requires ISV sponsership.</param>
126+
public LimitedAccessTokenPolicy(string limitedAccessToken)
127+
{
128+
_limitedAccessToken = limitedAccessToken;
132129
}
133130

134-
private readonly string ApiKey;
135-
private readonly string LimitedAccesToken;
136-
137-
/// <summary>
138-
/// Add the Basic Authentication Header to each outgoing request
139-
/// </summary>
140-
/// <param name="request">The outgoing request</param>
141-
/// <param name="cancellationToken">A token to cancel the operation</param>
142-
public override Task ProcessHttpRequestAsync(HttpRequestMessage request, CancellationToken cancellationToken)
143-
{
144-
if (request == null)
145-
throw new ArgumentNullException("request");
146-
request.Headers.Add("Ocp-Apim-Subscription-Key", ApiKey);
147-
request.Headers.Add("LimitedAccessToken", $"Bearer {LimitedAccesToken}");
148-
149-
return Task.FromResult<object>(null);
150-
}
151-
}
131+
private readonly string _limitedAccessToken;
132+
133+
/// <summary>
134+
/// Add the authentication header to each outgoing request
135+
/// </summary>
136+
/// <param name="message">The outgoing message</param>
137+
public override void OnSendingRequest(HttpMessage message)
138+
{
139+
message.Request.Headers.Add("LimitedAccessToken", $"Bearer {_limitedAccessToken}");
140+
}
141+
}
152142
```
153143

154144
In the client-side application, the helper class can be used like in this example:
155145

156146
```csharp
157-
static void Main(string[] args)
158-
{
147+
static void Main(string[] args)
148+
{
159149
// create Face client object
160-
var faceClient = new FaceClient(new LimitedAccessTokenWithApiKeyClientCredential(apiKey: "<client-face-key>", limitedAccessToken: "<token>"));
161-
162-
faceClient.Endpoint = "https://mytest-eastus2.cognitiveservices.azure.com";
150+
var clientOptions = new AzureAIVisionFaceClientOptions();
151+
clientOptions.AddPolicy(new LimitedAccessTokenPolicy("<token>"), HttpPipelinePosition.PerCall);
152+
FaceClient faceClient = new FaceClient(new Uri("<client-endpoint>"), new AzureKeyCredential("<client-face-key>"), clientOptions);
163153

164154
// use Face client in an API call
165-
using (var stream = File.OpenRead("photo.jpg"))
155+
using (var stream = File.OpenRead("photo.jpg"))
166156
{
167-
var result = faceClient.Face.DetectWithStreamAsync(stream, detectionModel: "Detection_03", recognitionModel: "Recognition_04", returnFaceId: true).Result;
157+
var response = faceClient.Detect(BinaryData.FromStream(stream), FaceDetectionModel.Detection03, FaceRecognitionModel.Recognition04, returnFaceId: true);
168158

169-
Console.WriteLine(JsonConvert.SerializeObject(result));
159+
Console.WriteLine(JsonConvert.SerializeObject(response.Value));
170160
}
171161
}
172162
```

articles/ai-services/computer-vision/how-to/specify-detection-model.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ var faces = response.Value;
7373

7474
The Face service can extract face data from an image and associate it with a **Person** object through the [Add Person Group Person Face] API. In this API call, you can specify the detection model in the same way as in [Detect].
7575

76-
See the following code example for the .NET client library.
76+
See the following .NET code example.
7777

7878
```csharp
7979
// Create a PersonGroup and add a person with face detected by "detection_03" model
@@ -110,7 +110,7 @@ This code creates a **PersonGroup** with ID `mypersongroupid` and adds a **Perso
110110
111111
## Add face to FaceList with specified model
112112

113-
You can also specify a detection model when you add a face to an existing **FaceList** object. See the following code example for the .NET client library.
113+
You can also specify a detection model when you add a face to an existing **FaceList** object. See the following .NET code example.
114114

115115
```csharp
116116
using (var content = new ByteArrayContent(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(new Dictionary<string, object> { ["name"] = "My face collection", ["recognitionModel"] = "recognition_04" }))))
@@ -139,6 +139,7 @@ In this article, you learned how to specify the detection model to use with diff
139139

140140
* [Face .NET SDK](../quickstarts-sdk/identity-client-library.md?pivots=programming-language-csharp%253fpivots%253dprogramming-language-csharp)
141141
* [Face Python SDK](../quickstarts-sdk/identity-client-library.md?pivots=programming-language-python%253fpivots%253dprogramming-language-python)
142+
* [Face Java SDK](../quickstarts-sdk/identity-client-library.md?pivots=programming-language-java%253fpivots%253dprogramming-language-java)
142143
* [Face JavaScript SDK](../quickstarts-sdk/identity-client-library.md?pivots=programming-language-javascript%253fpivots%253dprogramming-language-javascript)
143144

144145
[Detect]: /rest/api/face/face-detection-operations/detect

articles/ai-services/computer-vision/how-to/specify-recognition-model.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ In this article, you learned how to specify the recognition model to use with di
132132

133133
* [Face .NET SDK](../quickstarts-sdk/identity-client-library.md?pivots=programming-language-csharp%253fpivots%253dprogramming-language-csharp)
134134
* [Face Python SDK](../quickstarts-sdk/identity-client-library.md?pivots=programming-language-python%253fpivots%253dprogramming-language-python)
135+
* [Face Java SDK](../quickstarts-sdk/identity-client-library.md?pivots=programming-language-java%253fpivots%253dprogramming-language-java)
135136
* [Face JavaScript SDK](../quickstarts-sdk/identity-client-library.md?pivots=programming-language-javascript%253fpivots%253dprogramming-language-javascript)
136137

137138
[Detect]: /rest/api/face/face-detection-operations/detect

articles/ai-services/document-intelligence/concept-custom-neural.md

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
11
---
22
title: Custom neural document model - Document Intelligence (formerly Form Recognizer)
33
titleSuffix: Azure AI services
4-
description: Use the custom neural document model to train a model to extract data from structured, semistructured, and unstructured documents.
4+
description: Use the custom neural document model to train a model to extract data from structured, semi-structured, and unstructured documents.
55
author: laujan
66
manager: nitinme
77
ms.service: azure-ai-document-intelligence
88
ms.topic: conceptual
9-
ms.date: 08/07/2024
9+
ms.date: 08/13/2024
1010
ms.author: lajanuar
1111
ms.custom:
1212
- references_regions
1313
monikerRange: '>=doc-intel-3.0.0'
1414
---
1515

16+
<!-- markdownlint-disable MD001 -->
17+
<!-- markdownlint-disable MD033 -->
18+
<!-- markdownlint-disable MD051 -->
19+
<!-- markdownlint-disable MD024 -->
1620

1721
# Document Intelligence custom neural model
1822

@@ -212,13 +216,13 @@ Custom neural models are available in the [v3.0 and later models](v3-1-migration
212216

213217
| Document Type | REST API | SDK | Label and Test Models|
214218
|--|--|--|--|
215-
| Custom document | [Document Intelligence 3.1](/rest/api/aiservices/document-models/analyze-document?view=rest-aiservices-2023-07-31&preserve-view=true&tabs=HTTP)| [Document Intelligence SDK](quickstarts/get-started-sdks-rest-api.md?view=doc-intel-3.0.0&preserve-view=true)| [Document Intelligence Studio](https://formrecognizer.appliedai.azure.com/studio)
219+
| Custom document | [Document Intelligence 3.1](/rest/api/aiservices/document-models/analyze-document?view=rest-aiservices-2023-07-31&preserve-view=true&tabs=HTTP)| [Document Intelligence SDK](quickstarts/get-started-sdks-rest-api.md?view=doc-intel-3.0.0&preserve-view=true)| [Document Intelligence Studio](https://formrecognizer.appliedai.azure.com/studio)|
216220

217221
The `Build` operation to train model supports a new ```buildMode``` property, to train a custom neural model, set the ```buildMode``` to ```neural```.
218222

219223
:::moniker range="doc-intel-4.0.0"
220224

221-
```REST
225+
```bash
222226
https://{endpoint}/documentintelligence/documentModels:build?api-version=2024-07-31-preview
223227

224228
{
@@ -237,7 +241,7 @@ https://{endpoint}/documentintelligence/documentModels:build?api-version=2024-07
237241

238242
:::moniker range="doc-intel-3.1.0"
239243

240-
```REST
244+
```bash
241245
https://{endpoint}/formrecognizer/documentModels:build?api-version=v3.1:2023-07-31
242246

243247
{
@@ -256,7 +260,7 @@ https://{endpoint}/formrecognizer/documentModels:build?api-version=v3.1:2023-07-
256260

257261
:::moniker range="doc-intel-3.0.0"
258262

259-
```REST
263+
```bash
260264
https://{endpoint}/formrecognizer/documentModels/{modelId}:copyTo?api-version=2022-08-31
261265

262266
{
@@ -276,8 +280,10 @@ https://{endpoint}/formrecognizer/documentModels/{modelId}:copyTo?api-version=20
276280
:::moniker range="doc-intel-4.0.0"
277281

278282
## Billing
279-
280-
Starting with version `2024-07-31-preview`, you can train your custom neural model for longer durations than 30 minutes. Previous versions have been capped at 30 minutes per training instance, with a total of 20 free training instances per month. Now with `2024-07-31-preview`, you can receive **10 hours** of free model training, and train a model for as long as 10 hours. If you would like to train a model for longer than 10 hours, billing charges are calculated for model trainings that exceed 10 hours. You can choose to spend all of 10 free hours on a single build with a large set of data, or utilize it across multiple builds by adjusting the maximum duration value for the `build` operation by specifying `maxTrainingHours` as below:
283+
284+
Starting with version `2024-07-31-preview`, you can train your custom neural model for longer durations than the standard 30 minutes. Previous versions are limited to 30 minutes per training instance, with a total of 20 free training instances per month. Now with `2024-07-31-preview`, you can receive **10 hours** of **free model training**, and train a model for as long as 10 hours.
285+
286+
You can choose to spend all of 10 free hours on a single model build with a large set of data, or utilize it across multiple builds by adjusting the maximum duration value for the `build` operation by specifying `maxTrainingHours`:
281287

282288
```bash
283289

@@ -288,10 +294,12 @@ POST /documentModels:build
288294
}
289295
```
290296

291-
> [!NOTE]
292-
> For Document Intelligence versions `v3.1 (2023-07-31)` and `v3.0 (2022-08-31)`, custom neural model's paid training is not enabled. For the two older versions, you will get a maximum of 30 minutes training duration per model. If you would like to train more than 20 model instances, you can request for increase in the training limit.
293-
294-
Each training hour is the amount of compute a single V100 GPU can perform in an hour. As each build takes different amount of time, billing is calculated for the actual time spent (excluding time in queue), with a minimum of 30 minutes per training job. The elapsed time is converted to V100 equivalent training hours and reported as part of the model.
297+
> [!IMPORTANT]
298+
>
299+
> * If you would like to train additional neural models or train models for a longer time period that **exceed 10 hours**, billing charges apply. For details on the billing charges, refer to the [pricing page](https://azure.microsoft.com/pricing/details/ai-document-intelligence/).
300+
> * You can opt in for this paid training service by setting the `maxTrainingHours` to the desired maximum number of hours. API calls with no budget but with the `maxTrainingHours` set as over 10 hours will fail.
301+
> * As each build takes different amount of time depending on the type and size of the training dataset, billing is calculated for the actual time spent training the neural model, with a minimum of 30 minutes per training job.
302+
> * This paid billing structure enables you to train larger data sets for longer durations with flexibility in the training hours.
295303
296304
```bash
297305

@@ -304,27 +312,28 @@ GET /documentModels/{myCustomModel}
304312
}
305313
```
306314
307-
This billing structure enables you to train larger data sets for longer durations with flexibility in the training hours.
315+
> [!NOTE]
316+
> For Document Intelligence versions `v3.1 (2023-07-31)` and `v3.0 (2022-08-31)`, custom neural model's paid training is not enabled. For the two older versions, you will get a maximum of 30 minutes training duration per model. If you would like to train more than 20 model instances, you can create an [Azure support ticket](service-limits.md#create-and-submit-support-request) to increase in the training limit.
308317
309318
:::moniker-end
310319
311320
:::moniker range="doc-intel-3.1.0"
312321
313322
## Billing
314323
315-
For Document Intelligence versions `v3.1 (2023-07-31)` and `v3.0 (2022-08-31)`, you will get a maximum of 30 minutes training duration per model, and a maximum of 20 trainings for free per month. If you would like to train more than 20 model instances, you can request for increase in the training limit.
324+
For Document Intelligence versions `v3.1 (2023-07-31) and v3.0 (2022-08-31)`, you receive a maximum 30 minutes of training duration per model, and a maximum of 20 trainings for free per month. If you would like to train more than 20 model instances, you can create an [Azure support ticket](service-limits.md#create-and-submit-support-request) to increase in the training limit. For the Azure support ticket, enter in the `summary` section a phrase such as `Increase Document Intelligence custom neural training (TPS) limit`. A ticket can only apply at a resource-level, not a subscription level. You can request a training limit increase for a single Document Intelligence resource by specifying your resource ID and region in the support ticket.
316325
317-
If you are interested in training models for longer durations than 30 minutes, we support **paid training** for our newest version, `v4.0 (2024-07-31)`. Using the latest version, you can train your model for a longer duration to process larger documents.
326+
If you want to train models for longer durations than 30 minutes, we support **paid training** with our newest version, `v4.0 (2024-07-31-preview)`. Using the latest version, you can train your model for a longer duration to process larger documents. For more information about paid training, *see* [Billing v4.0](service-limits.md#billing).
318327
319328
:::moniker-end
320329
321330
:::moniker range="doc-intel-3.0.0"
322331
323332
## Billing
324333
325-
For Document Intelligence versions `v3.1 (2023-07-31)` and `v3.0 (2022-08-31)`, you will get a maximum of 30 minutes training duration per model, and a maximum of 20 trainings for free per month. If you would like to train more than 20 model instances, you can request for increase in the training limit.
334+
For Document Intelligence versions `v3.1 (2023-07-31) and v3.0 (2022-08-31)`, you receive a maximum 30 minutes of training duration per model, and a maximum of 20 trainings for free per month. If you would like to train more than 20 model instances, you can create an [Azure support ticket](service-limits.md#create-and-submit-support-request) to increase in the training limit. For the Azure support ticket, enter in the `summary` section a phrase such as `Increase Document Intelligence custom neural training (TPS) limit`. A ticket can only apply at a resource-level, not a subscription level. You can request a training limit increase for a single Document Intelligence resource by specifying your resource ID and region in the support ticket.
326335
327-
If you are interested in training models for longer durations than 30 minutes, we support **paid training** for our newest version, `v4.0 (2024-07-31)`. Using the latest version, you can train your model for a longer duration to process larger documents.
336+
If you want to train models for longer durations than 30 minutes, we support **paid training** with our newest version, `v4.0 (2024-07-31)`. Using the latest version, you can train your model for a longer duration to process larger documents. For more information about paid training, *see* [Billing v4.0](service-limits.md#billing).
328337
329338
:::moniker-end
330339

articles/ai-services/openai/concepts/provisioned-migration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ If a deployment is on a resource that has a commitment, and that commitment expi
149149

150150
Customers that have commitments today can continue to use them at least through the end of 2024. This includes purchasing new PTUs on new or existing commitments and managing commitment renewal behaviors. However, the August update has changed certain aspects of commitment operation.
151151

152-
- Only models released as provisioned prior to August 1, 2023 or before can be deployed on a resource with a commitment.
152+
- Only models released as provisioned prior to August 1, 2024 or before can be deployed on a resource with a commitment.
153153

154154
- If the deployed PTUs under a commitment exceed the committed PTUs, the hourly overage charges will be emitted against the same hourly meter as used for the new hourly/reservation payment model. This allows the overage charges to be discounted via an Azure Reservation.
155155
- It is possible to deploy more PTUs than are committed on the resource. This supports the ability to guarantee capacity availability prior to increasing the commitment size to cover it.

0 commit comments

Comments
 (0)