Skip to content

Commit 4f68641

Browse files
committed
Merge branch 'main' into release-azure-search
2 parents b41c1f8 + 1673a65 commit 4f68641

File tree

16 files changed

+206
-130
lines changed

16 files changed

+206
-130
lines changed

articles/ai-services/content-safety/whats-new.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,7 @@ The groundedness detection API includes a correction feature that automatically
4747

4848
The Prompt Shields API and groundedness detection API are now generally available (GA). Follow a quickstart to try them out.
4949
* [Prompt Shields quickstart](/azure/ai-services/content-safety/quickstart-jailbreak)
50-
* [Groundedness detection quickstart](/azure/ai-services/content-safety/quickstart-groundedness?tabs=curl)
51-
52-
50+
* [Protected Material quickstart](/azure/ai-services/content-safety/quickstart-protected-material?tabs=curl)
5351
## July 2024
5452

5553
### Custom categories (standard) API public preview

articles/ai-services/openai/concepts/content-filter.md

Lines changed: 52 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,15 @@ Text and image models support Drugs as an additional classification. This catego
4343
| Sexual | Sexual describes language related to anatomical organs and genitals, romantic relationships and sexual acts, acts portrayed in erotic or affectionate terms, including those portrayed as an assault or a forced sexual violent act against one’s will. <br><br> This includes but is not limited to:<ul><li>Vulgar content</li><li>Prostitution</li><li>Nudity and Pornography</li><li>Abuse</li><li>Child exploitation, child abuse, child grooming</li></ul> |
4444
| Violence | Violence describes language related to physical actions intended to hurt, injure, damage, or kill someone or something; describes weapons, guns and related entities. <br><br>This includes, but isn't limited to: <ul><li>Weapons</li><li>Bullying and intimidation</li><li>Terrorist and violent extremism</li><li>Stalking</li></ul> |
4545
| Self-Harm | Self-harm describes language related to physical actions intended to purposely hurt, injure, damage one’s body or kill oneself. <br><br> This includes, but isn't limited to: <ul><li>Eating Disorders</li><li>Bullying and intimidation</li></ul> |
46-
| Protected Material for Text<sup>*</sup> | Protected material text describes known text content (for example, song lyrics, articles, recipes, and selected web content) that can be outputted by large language models.
46+
| Protected Material for Text<sup>1</sup> | Protected material text describes known text content (for example, song lyrics, articles, recipes, and selected web content) that can be outputted by large language models.
4747
| Protected Material for Code | Protected material code describes source code that matches a set of source code from public repositories, which can be outputted by large language models without proper citation of source repositories.
4848
|User Prompt Attacks |User prompt attacks are User Prompts designed to provoke the Generative AI model into exhibiting behaviors it was trained to avoid or to break the rules set in the System Message. Such attacks can vary from intricate roleplay to subtle subversion of the safety objective. |
4949
|Indirect Attacks |Indirect Attacks, also referred to as Indirect Prompt Attacks or Cross-Domain Prompt Injection Attacks, are a potential vulnerability where third parties place malicious instructions inside of documents that the Generative AI system can access and process. Requires [document embedding and formatting](#embedding-documents-in-your-prompt). |
50+
| Groundedness<sup>2</sup> | Groundedness detection flags whether the text responses of large language models (LLMs) are grounded in the source materials provided by the users. Ungrounded material refers to instances where the LLMs produce information that is non-factual or inaccurate from what was present in the source materials. Requires [document embedding and formatting](#embedding-documents-in-your-prompt). |
5051

51-
<sup>*</sup> If you're an owner of text material and want to submit text content for protection, [file a request](https://aka.ms/protectedmaterialsform).
52+
<sup>1</sup> If you're an owner of text material and want to submit text content for protection, [file a request](https://aka.ms/protectedmaterialsform).
5253

54+
<sup>2</sup> Not available in non-streaming scenarios; only available for streaming scenarios. The following regions support Groundedness Detection: Central US, East US, France Central, and Canada East
5355

5456
[!INCLUDE [severity-levels text, four-level](../../content-safety/includes/severity-levels-text-four.md)]
5557

@@ -328,24 +330,27 @@ When annotations are enabled as shown in the code snippets below, the following
328330
|indirect attacks|detected (true or false), </br>filtered (true or false)|
329331
|protected material text|detected (true or false), </br>filtered (true or false)|
330332
|protected material code|detected (true or false), </br>filtered (true or false), </br>Example citation of public GitHub repository where code snippet was found, </br>The license of the repository|
333+
|Groundedness | detected (true or false)</br>filtered (true or false) </br>details (`completion_end_offset`, `completion_start_offset`) |
331334

332335
When displaying code in your application, we strongly recommend that the application also displays the example citation from the annotations. Compliance with the cited license may also be required for Customer Copyright Commitment coverage.
333336

334337
See the following table for the annotation availability in each API version:
335338

336-
|Category |2024-02-01 GA| 2024-04-01-preview | 2023-10-01-preview | 2023-06-01-preview|
339+
|Category |2024-10-01-preview|2024-02-01 GA| 2024-04-01-preview | 2023-10-01-preview | 2023-06-01-preview|
337340
|--|--|--|--|
338-
| Hate |||||
339-
| Violence |||||
340-
| Sexual |||||
341-
| Self-harm |||||
342-
| Prompt Shield for user prompt attacks|||||
343-
|Prompt Shield for indirect attacks| || | |
344-
|Protected material text|||||
345-
|Protected material code|||||
346-
|Profanity blocklist|||||
347-
|Custom blocklist| ||||
348-
341+
| Hate ||||||
342+
| Violence ||||||
343+
| Sexual ||||||
344+
| Self-harm ||||||
345+
| Prompt Shield for user prompt attacks||||||
346+
|Prompt Shield for indirect attacks| | || | |
347+
|Protected material text||||||
348+
|Protected material code||||||
349+
|Profanity blocklist||||||
350+
|Custom blocklist|| ||||
351+
|Groundedness<sup>1</sup>|| | | | |
352+
353+
<sup>1</sup> Not available in non-streaming scenarios; only available for streaming scenarios. The following regions support Groundedness Detection: Central US, East US, France Central, and Canada East
349354

350355
# [OpenAI Python 1.x](#tab/python-new)
351356

@@ -710,6 +715,39 @@ violence : @{filtered=False; severity=safe}
710715
711716
For details on the inference REST API endpoints for Azure OpenAI and how to create Chat and Completions, follow [Azure OpenAI Service REST API reference guidance](../reference.md). Annotations are returned for all scenarios when using any preview API version starting from `2023-06-01-preview`, as well as the GA API version `2024-02-01`.
712717
718+
### Groundedness
719+
720+
#### Annotate only
721+
722+
Returns offsets referencing the ungrounded completion content.
723+
724+
```json
725+
{
726+
  "ungrounded_material": {
727+
"details": [
728+
{
729+
"completion_end_offset": 127,
730+
"completion_start_offset": 27
731+
}
732+
],
733+
"detected": true,
734+
"filtered": false
735+
}
736+
}
737+
```
738+
739+
#### Annotate and filter
740+
741+
Blocks completion content when ungrounded completion content was detected.
742+
743+
```json
744+
{ "ungrounded_material": {
745+
"detected": true,
746+
"filtered": true
747+
}
748+
}
749+
```
750+
713751
### Example scenario: An input prompt containing content that is classified at a filtered category and severity level is sent to the completions API
714752
715753
```json

articles/ai-services/speech-service/regions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ The following regions are supported for Speech service features such as speech t
5454
| Qatar | Qatar Central | `qatarcentral`<sup>3,8</sup> |
5555
| US | Central US | `centralus` |
5656
| US | East US | `eastus` <sup>1,2,4,5,7,9,11,12</sup> |
57-
| US | East US 2 | `eastus2` <sup>1,2,4,5,12</sup> |
57+
| US | East US 2 | `eastus2` <sup>1,2,4,5,10,12</sup> |
5858
| US | North Central US | `northcentralus` <sup>4,6,12</sup> |
5959
| US | South Central US | `southcentralus` <sup>1,2,4,5,6,7,10,12</sup> |
6060
| US | West Central US | `westcentralus` <sup>3,5</sup> |

articles/ai-services/speech-service/text-to-speech-avatar/what-is-text-to-speech-avatar.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,11 @@ Sample code for text to speech avatar is available on [GitHub](https://github.co
6969

7070
- Throughout an avatar real-time session or batch content creation, the text-to-speech, speech-to-text, Azure OpenAI, or other Azure services are charged separately.
7171
- Refer to [text to speech avatar pricing note](../text-to-speech.md#text-to-speech-avatar) to learn how billing works for the text-to-speech avatar feature.
72-
- For the detailed pricing, see [Speech service pricing](https://azure.microsoft.com/pricing/details/cognitive-services/speech-services/). Note that avatar pricing will only be visible for service regions where the feature is available, including Southeast Asia, North Europe, West Europe, Sweden Central, South Central US, and West US 2.
72+
- For the detailed pricing, see [Speech service pricing](https://azure.microsoft.com/pricing/details/cognitive-services/speech-services/). Note that avatar pricing will only be visible for service regions where the feature is available, including Southeast Asia, North Europe, West Europe, Sweden Central, South Central US, East US 2, and West US 2.
7373

7474
## Available locations
7575

76-
The text to speech avatar feature is only available in the following service regions: Southeast Asia, North Europe, West Europe, Sweden Central, South Central US, and West US 2.
76+
The text to speech avatar feature is only available in the following service regions: Southeast Asia, North Europe, West Europe, Sweden Central, South Central US, East US 2, and West US 2.
7777

7878
### Responsible AI
7979

articles/ai-studio/how-to/develop/llama-index.md

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,10 @@ To run this tutorial, you need:
4545
```bash
4646
pip install -U llama-index-llms-azure-inference
4747
pip install -U llama-index-embeddings-azure-inference
48-
```
48+
```
49+
50+
> [!IMPORTANT]
51+
> Using the [Azure AI model inference service](https://aka.ms/aiservices/inference) requires version `0.2.4` for `llama-index-llms-azure-inference` or `llama-index-embeddings-azure-inference`.
4952

5053
## Configure the environment
5154

@@ -67,7 +70,7 @@ export AZURE_INFERENCE_ENDPOINT="<your-model-endpoint-goes-here>"
6770
export AZURE_INFERENCE_CREDENTIAL="<your-key-goes-here>"
6871
```
6972
70-
Once configured, create a client to connect to the endpoint. The parameter `model_name` in the constructor is not required for endpoints serving a single model, like serverless endpoints.
73+
Once configured, create a client to connect to the endpoint.
7174
7275
```python
7376
import os
@@ -80,7 +83,20 @@ llm = AzureAICompletionsModel(
8083
```
8184
8285
> [!TIP]
83-
> If your model is an OpenAI model deployed to Azure OpenAI service or AI services resource, configure the client as indicated at [Azure OpenAI models](#azure-openai-models).
86+
> If your model is an OpenAI model deployed to Azure OpenAI service or AI services resource, configure the client as indicated at [Azure OpenAI models and Azure AI model inference service](#azure-openai-models-and-azure-ai-model-infernece-service).
87+
88+
If your endpoint is serving more than one model, like with the [Azure AI model inference service](../../ai-services/model-inference.md) or [GitHub Models](https://github.com/marketplace/models), you have to indicate `model_name` parameter:
89+
90+
```python
91+
import os
92+
from llama_index.llms.azure_inference import AzureAICompletionsModel
93+
94+
llm = AzureAICompletionsModel(
95+
endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
96+
credential=os.environ["AZURE_INFERENCE_CREDENTIAL"],
97+
model_name="mistral-large-2407",
98+
)
99+
```
84100
85101
Alternatively, if your endpoint support Microsoft Entra ID, you can use the following code to create the client:
86102
@@ -112,22 +128,23 @@ llm = AzureAICompletionsModel(
112128
)
113129
```
114130

115-
### Azure OpenAI models
131+
### Azure OpenAI models and Azure AI model infernece service
116132

117-
If you are using Azure OpenAI models with key-based authentication, you need to pass the authentication key in the header `api-key`, which is the one expected in the Azure OpenAI service and in Azure AI Services. This configuration is not required if you are using Microsoft Entra ID (formerly known as Azure AD). The following example shows how to configure the client:
133+
If you are using Azure OpenAI models or [Azure AI model inference service](../../ai-services/model-inference.md), ensure you have at least version `0.2.4` of the LlamaIndex integration. Use `api_version` parameter in case you need to select a specific `api_version`. For the [Azure AI model inference service](../../ai-services/model-inference.md), you need to pass `model_name` parameter:
118134

119135
```python
120-
import os
121136
from llama_index.llms.azure_inference import AzureAICompletionsModel
122137
123138
llm = AzureAICompletionsModel(
124139
endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
125-
credential="",
126-
client_kwargs={"headers" : { "api-key": os.environ["AZURE_INFERENCE_CREDENTIAL"] } }
140+
credential=os.environ["AZURE_INFERENCE_CREDENTIAL"],
141+
model_name="gpt-4o",
142+
api_version="2024-05-01-preview",
127143
)
128144
```
129145

130-
Notice that `credentials` is still being passed with an empty value since it's a required parameter.
146+
> [!TIP]
147+
> Using a wrong `api_version` or one not supported by the model results in a `ResourceNotFound` exception.
131148

132149
### Inference parameters
133150

articles/machine-learning/concept-customer-managed-keys.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -124,20 +124,17 @@ Data that previously was stored in Azure Cosmos DB in your subscription, is stor
124124

125125
Pipelines metadata that previously was stored in a storage account in a managed resource group, is now stored on the storage account in your subscription that is associated to the Azure Machine Learning workspace. Since this Azure Storage resource is managed separately in your subscription, you're responsible to configure encryption settings on it.
126126

127-
To opt in for this preview, set the `enableServiceSideCMKEncryption` on a REST API or in your Bicep or Resource Manager template. You can also use Azure portal. Preview availability varies by [workspace kind](concept-workspace.md):
128-
129-
| Kind | Supported |
130-
| ----- | ----- |
131-
| Default | Yes |
132-
| Hub | No |
133-
| Project | No |
127+
To opt in for this preview, set the `enableServiceSideCMKEncryption` on a REST API or in your Bicep or Resource Manager template. You can also use Azure portal.
134128

135129
:::image type="content" source="./media/concept-customer-managed-keys/cmk-service-side-encryption.png" alt-text="Screenshot of the encryption tab with the option for server side encryption selected." lightbox="./media/concept-customer-managed-keys/cmk-service-side-encryption.png":::
136130

137131
> [!NOTE]
138132
> During this preview key rotation and data labeling capabilities are not supported. Server-side encryption is currently not supported in reference to an Azure Key Vault for storing your encryption key that has public network access disabled.
139133
140-
For a template that creates a workspace with service-side encryption of metadata, see [https://github.com/azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-cmk-service-side-encryption](https://github.com/azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-cmk-service-side-encryption).
134+
For templates that create a workspace with service-side encryption of metadata, see
135+
136+
- [Bicep template for creating default workspace](https://github.com/azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-cmk-service-side-encryption).
137+
- [Bicep template for creating hub workspace](https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices/aistudio-cmk-service-side-encryption).
141138

142139
## hbi_workspace flag
143140

articles/search/includes/quickstarts/java.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ms.service: azure-ai-search
55
ms.custom:
66
- ignite-2023
77
ms.topic: include
8-
ms.date: 10/07/2024
8+
ms.date: 11/01/2024
99
---
1010

1111
Build a Java console application using the [Azure.Search.Documents](/java/api/overview/azure/search) library to create, load, and query a search index.
@@ -65,12 +65,12 @@ Use the following tools to create this quickstart.
6565
<dependency>
6666
<groupId>com.azure</groupId>
6767
<artifactId>azure-search-documents</artifactId>
68-
<version>11.5.2</version>
68+
<version>11.7.3</version>
6969
</dependency>
7070
<dependency>
7171
<groupId>com.azure</groupId>
7272
<artifactId>azure-core</artifactId>
73-
<version>1.34.0</version>
73+
<version>1.53.0</version>
7474
</dependency>
7575
<dependency>
7676
<groupId>junit</groupId>

articles/search/keyless-connections.md

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
---
22
title: Use keyless connections with Azure AI Search
3-
description: Use keyless connections with an Azure Identity library for authentication and authorization with Azure AI Search.
3+
description: Use keyless connections with an Azure Identity library for Microsoft Entra ID authentication and authorization with Azure AI Search.
44
ms.topic: how-to
5-
ms.date: 06/05/2024
5+
ms.date: 10/30/2024
66
author: HeidiSteen
77
ms.author: heidist
8-
ms.reviewer: scaddie
98
ms.custom: devx-track-dotnet, devx-track-extended-java, devx-track-js, devx-track-python, Keyless-dotnet, Keyless-java, Keyless-js, Keyless-python, build-2024-intelligent-apps
109
#customer intent: As a developer, I want to use keyless connections so that I don't leak secrets.
1110
---
@@ -34,7 +33,7 @@ Before continuing with this article, you need an Azure AI Search resource to wor
3433

3534
### Install Azure Identity client library
3635

37-
Before working locally without keyless, update your AI Search enabled code with the Azure Identity client library.
36+
To use a keyless approach, update your AI Search enabled code with the Azure Identity client library.
3837

3938
#### [.NET](#tab/csharp)
4039

@@ -211,22 +210,21 @@ search_index_client = SearchIndexClient(
211210

212211
---
213212

214-
215213
## Local development
216214

217-
Local development without keyless includes these steps:
215+
Local development using roles includes these steps:
218216

219-
- Assign your personal identity with RBAC roles on the specific resource.
220-
- Use a tool to authenticate with Azure.
217+
- Assign your personal identity to RBAC roles on the specific resource.
218+
- Use a tool like the Azure CLI or Azure PowerShell to authenticate with Azure.
221219
- Establish environment variables for your resource.
222220

223221
### Roles for local development
224222

225-
As a local developer, your Azure identity needs full control of your service. This control is provided with RBAC roles. To manage your resource during development, these are the suggested roles:
223+
As a local developer, your Azure identity needs full control over data plane operations. These are the suggested roles:
226224

227-
- Search Service Contributor
228-
- Search Index Data Contributor
229-
- Search Index Data Reader
225+
- Search Service Contributor, create and manage objects
226+
- Search Index Data Contributor, load an index
227+
- Search Index Data Reader, query an index
230228

231229
Find your personal identity with one of the following tools. Use that identity as the `<identity-id>` value.
232230

@@ -253,7 +251,7 @@ Find your personal identity with one of the following tools. Use that identity a
253251
--assignee "<identity-id>" \
254252
--scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>"
255253
```
256-
254+
257255
#### [Azure PowerShell](#tab/azure-powershell)
258256
259257
1. Sign in with PowerShell.
@@ -277,13 +275,12 @@ Find your personal identity with one of the following tools. Use that identity a
277275
#### [Azure portal](#tab/portal)
278276
279277
1. Use the steps found here: [find the user object ID](/partner-center/find-ids-and-domain-names#find-the-user-object-id) in the Azure portal.
280-
281-
2. Use the steps found at [open the Add role assignment page](search-security-rbac.md) in the Azure portal.
282-
278+
279+
1. Use the steps found at [open the Add role assignment page](search-security-rbac.md) in the Azure portal.
280+
283281
---
284-
285-
Where applicable, replace `<identity-id>`, `<subscription-id>`, and `<resource-group-name>` with your actual values.
286282
283+
Where applicable, replace `<identity-id>`, `<subscription-id>`, and `<resource-group-name>` with your actual values.
287284
288285
### Authentication for local development
289286
136 KB
Loading

0 commit comments

Comments
 (0)