Skip to content

Commit 5096b38

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into vnet-encryption-limited-ga
2 parents 3f9c669 + c6ec278 commit 5096b38

File tree

212 files changed

+3277
-2363
lines changed

Some content is hidden

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

212 files changed

+3277
-2363
lines changed

.openpublishing.publish.config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1228,6 +1228,7 @@
12281228
"articles/ai-services/.openpublishing.redirection.applied-ai-old.json",
12291229
"articles/ai-services/.openpublishing.redirection.applied-ai-services.json",
12301230
"articles/ai-services/.openpublishing.redirection.cognitive-services.json",
1231+
"articles/ai-studio/.openpublishing.redirection.ai-studio.json",
12311232
"articles/energy-data-services/.openpublishing.redirection.energy-data-services.json",
12321233
"articles/azure-fluid-relay/.openpublishing.redirection.fluid-relay.json",
12331234
"articles/azure-netapp-files/.openpublishing.redirection.azure-netapp-files.json",

articles/ai-services/content-safety/includes/severity-levels.md

Lines changed: 18 additions & 18 deletions
Large diffs are not rendered by default.

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -796,6 +796,10 @@ data: {"id":"","object":"","created":0,"model":"","choices":[{"index":0,"finish_
796796
797797
data: [DONE]
798798
```
799+
800+
> [!IMPORTANT]
801+
> When content filtering is triggered for a prompt and a `"status": 400` is received as part of the response there may be a charge for this request as the prompt was evaluated by the service. [Charges will also occur](https://azure.microsoft.com/pricing/details/cognitive-services/openai-service/) when a `"status":200` is received with `"finish_reason": "content_filter"`. In this case the prompt did not have any issues, but the completion generated by the model was detected to violate the content filtering rules which results in the completion being filtered.
802+
799803
## Best practices
800804
801805
As part of your application design, consider the following best practices to deliver a positive experience with your application while minimizing potential harms:

articles/ai-services/openai/concepts/models.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ See [model versions](../concepts/model-versions.md) to learn about how Azure Ope
101101
**<sup>2</sup>** GPT-4 Turbo with Vision Preview = `gpt-4` (vision-preview). To deploy this model, under **Deployments** select model **gpt-4**. For **Model version** select **vision-preview**.
102102

103103
> [!CAUTION]
104-
> We don't recommend using these models in production. We will upgrade all deployments of these models to a future stable version. Models designated preview do not follow the standard Azure OpenAI model lifecycle.
104+
> We don't recommend using preview models in production. We will upgrade all deployments of preview models to a future stable version. Models designated preview do not follow the standard Azure OpenAI model lifecycle.
105105
106106
> [!NOTE]
107107
> Regions where GPT-4 (0314) & (0613) are listed as available have access to both the 8K and 32K versions of the model
@@ -110,8 +110,8 @@ See [model versions](../concepts/model-versions.md) to learn about how Azure Ope
110110

111111
| Model Availability | gpt-4 (0314) | gpt-4 (0613) | gpt-4 (1106-preview) | gpt-4 (vision-preview) |
112112
|---|:---|:---|:---|:---|
113-
| Available to all subscriptions with Azure OpenAI access | | Australia East <br> Canada East <br> France Central <br> Sweden Central <br> Switzerland North | Australia East <br> Canada East <br> East US 2 <br> France Central <br> Norway East <br> South India <br> Sweden Central <br> UK South <br> West US | Switzerland North <br> West US |
114-
| Available to subscriptions with current access to the model version in the region | East US <br> France Central <br> South Central US <br> UK South | East US <br> East US 2 <br> Japan East <br> UK South | | Australia East <br>Sweden Central|
113+
| Available to all subscriptions with Azure OpenAI access | | Australia East <br> Canada East <br> France Central <br> Sweden Central <br> Switzerland North | Australia East <br> Canada East <br> East US 2 <br> France Central <br> Norway East <br> South India <br> Sweden Central <br> UK South <br> West US | Sweden Central <br> Switzerland North <br> West US |
114+
| Available to subscriptions with current access to the model version in the region | East US <br> France Central <br> South Central US <br> UK South | East US <br> East US 2 <br> Japan East <br> UK South | | Australia East |
115115

116116
### GPT-3.5 models
117117

articles/ai-services/openai/includes/dall-e-python.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,6 @@ Open a command prompt and browse to your project folder. Create a new python fil
6464

6565
## Install the Python SDK
6666

67-
> [!IMPORTANT]
68-
> The latest release of the [OpenAI Python library](https://pypi.org/project/openai/) does not currently support DALL-E when used with Azure OpenAI. To access DALL-E with Azure OpenAI use version `0.28.1`.
6967

7068
Install the OpenAI Python SDK by using the following command:
7169

@@ -77,6 +75,9 @@ pip install openai
7775

7876
#### [DALL-E 2](#tab/dalle2)
7977

78+
> [!IMPORTANT]
79+
> The latest release of the [OpenAI Python library](https://pypi.org/project/openai/) does not currently support DALL-E 2 when used with Azure OpenAI. To access DALL-E 2 with Azure OpenAI use version `0.28.1`. Or, follow the [migration guide](/azure/ai-services/openai/how-to/migration?tabs=python%2Cdalle-fix) to use DALL-E 2 with OpenAI 1.x.
80+
8081
```bash
8182
pip install openai==0.28.1
8283
```

articles/ai-services/openai/includes/use-your-data-dotnet.md

Lines changed: 17 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,14 @@ string searchKey = GetEnvironmentVariable("SearchKey");
2929
string searchIndex = GetEnvironmentVariable("SearchIndex");
3030
string deploymentName = GetEnvironmentVariable("AOAIDeploymentId");
3131

32+
3233
var client = new OpenAIClient(new Uri(azureOpenAIEndpoint), new AzureKeyCredential(azureOpenAIKey));
3334

3435
var chatCompletionsOptions = new ChatCompletionsOptions()
3536
{
3637
Messages =
3738
{
38-
new ChatMessage(ChatRole.User, "What are the differences between Azure Machine Learning and Azure AI services?"),
39+
new ChatRequestUserMessage("What are the differences between Azure Machine Learning and Azure AI services?"),
3940
},
4041
AzureExtensionsOptions = new AzureChatExtensionsOptions()
4142
{
@@ -48,12 +49,13 @@ var chatCompletionsOptions = new ChatCompletionsOptions()
4849
IndexName = searchIndex,
4950
},
5051
}
51-
}
52+
},
53+
DeploymentName = deploymentName
5254
};
5355

54-
Response<ChatCompletions> response = client.GetChatCompletions(deploymentName, chatCompletionsOptions);
56+
Response<ChatCompletions> response = client.GetChatCompletions(chatCompletionsOptions);
5557

56-
ChatMessage responseMessage = response.Value.Choices[0].Message;
58+
ChatResponseMessage responseMessage = response.Value.Choices[0].Message;
5759

5860
Console.WriteLine($"Message from {responseMessage.Role}:");
5961
Console.WriteLine("===");
@@ -62,7 +64,7 @@ Console.WriteLine("===");
6264

6365
Console.WriteLine($"Context information (e.g. citations) from chat extensions:");
6466
Console.WriteLine("===");
65-
foreach (ChatMessage contextMessage in responseMessage.AzureExtensionsContext.Messages)
67+
foreach (ChatResponseMessage contextMessage in responseMessage.AzureExtensionsContext.Messages)
6668
{
6769
string contextContent = contextMessage.Content;
6870
try
@@ -126,25 +128,22 @@ using Azure.AI.OpenAI;
126128
using System.Text.Json;
127129
using static System.Environment;
128130

129-
string endpoint = GetEnvironmentVariable("AOAIEndpoint");
130-
string key = GetEnvironmentVariable("AOAIKey");
131-
132-
var client = new OpenAIClient(new Uri(endpoint), new AzureKeyCredential(key));
133-
134131
string azureOpenAIEndpoint = GetEnvironmentVariable("AOAIEndpoint");
135132
string azureOpenAIKey = GetEnvironmentVariable("AOAIKey");
136133
string searchEndpoint = GetEnvironmentVariable("SearchEndpoint");
137134
string searchKey = GetEnvironmentVariable("SearchKey");
138135
string searchIndex = GetEnvironmentVariable("SearchIndex");
139136
string deploymentName = GetEnvironmentVariable("AOAIDeploymentId");
140137

138+
141139
var client = new OpenAIClient(new Uri(azureOpenAIEndpoint), new AzureKeyCredential(azureOpenAIKey));
142140

143141
var chatCompletionsOptions = new ChatCompletionsOptions()
144142
{
143+
DeploymentName = deploymentName,
145144
Messages =
146145
{
147-
new ChatMessage(ChatRole.User, "What are the differences between Azure Machine Learning and Azure AI services?"),
146+
new ChatRequestUserMessage("What are the differences between Azure Machine Learning and Azure AI services?"),
148147
},
149148
AzureExtensionsOptions = new AzureChatExtensionsOptions()
150149
{
@@ -159,44 +158,15 @@ var chatCompletionsOptions = new ChatCompletionsOptions()
159158
}
160159
}
161160
};
162-
163-
Response<StreamingChatCompletions> response = await client.GetChatCompletionsStreamingAsync(
164-
deploymentName,
165-
chatCompletionsOptions);
166-
167-
using StreamingChatCompletions streamingChatCompletions = response.Value;
168-
169-
await foreach (StreamingChatChoice streamingChatChoice in streamingChatCompletions.GetChoicesStreaming())
161+
await foreach (StreamingChatCompletionsUpdate chatUpdate in client.GetChatCompletionsStreaming(chatCompletionsOptions))
170162
{
171-
await foreach (ChatMessage chatMessage in streamingChatChoice.GetMessageStreaming())
163+
if (chatUpdate.Role.HasValue)
172164
{
173-
if (chatMessage.Role != default)
174-
{
175-
Console.WriteLine($"Message from {chatMessage.Role}: ");
176-
}
177-
if (chatMessage.Content != default)
178-
{
179-
Console.Write(chatMessage.Content);
180-
}
181-
if (chatMessage.AzureExtensionsContext != default)
182-
{
183-
Console.WriteLine($"Context information (e.g. citations) from chat extensions:");
184-
foreach (var contextMessage in chatMessage.AzureExtensionsContext.Messages)
185-
{
186-
string contextContent = contextMessage.Content;
187-
try
188-
{
189-
var contextMessageJson = JsonDocument.Parse(contextMessage.Content);
190-
contextContent = JsonSerializer.Serialize(contextMessageJson, new JsonSerializerOptions()
191-
{
192-
WriteIndented = true,
193-
});
194-
}
195-
catch (JsonException)
196-
{}
197-
Console.WriteLine($"{contextMessage.Role}: {contextContent}");
198-
}
199-
}
165+
Console.Write($"{chatUpdate.Role.Value.ToString().ToUpperInvariant()}: ");
166+
}
167+
if (!string.IsNullOrEmpty(chatUpdate.ContentUpdate))
168+
{
169+
Console.Write(chatUpdate.ContentUpdate);
200170
}
201171
}
202172
```

articles/ai-services/openai/quotas-limits.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ms.custom:
1010
- ignite-2023
1111
- references_regions
1212
ms.topic: conceptual
13-
ms.date: 12/06/2023
13+
ms.date: 01/12/2024
1414
ms.author: mbullwin
1515
---
1616

@@ -107,7 +107,7 @@ The default quota for models varies by model and region. Default quota limits ar
107107
<tr>
108108
<td>gpt-4 (vision-preview)<br>GPT-4 Turbo with Vision</td>
109109
<td>Sweden Central, Switzerland North, Australia East, West US</td>
110-
<td>10 K</td>
110+
<td>30 K</td>
111111
</tr>
112112
<tr>
113113
<td rowspan="2">text-embedding-ada-002</td>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"redirections": [
3+
{
4+
"source_path_from_root": "/articles/ai-studio/how-to/vscode-web.md",
5+
"redirect_url": "/azure/ai-studio/how-to/develop-in-vscode",
6+
"redirect_document_id": true
7+
}
8+
]
9+
}

articles/ai-studio/how-to/cli-install.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ You can install the Azure AI CLI locally as described previously, or run it usin
9191

9292
### Option 1: Using VS Code (web) in Azure AI Studio
9393

94-
VS Code (web) in Azure AI Studio creates and runs the development container on a compute instance. To get started with this approach, follow the instructions in [How to work with Azure AI Studio projects in VS Code (Web)](vscode-web.md).
94+
VS Code (web) in Azure AI Studio creates and runs the development container on a compute instance. To get started with this approach, follow the instructions in [Work with Azure AI projects in VS Code](develop-in-vscode.md).
9595

9696
Our prebuilt development environments are based on a docker container that has the Azure AI SDK generative packages, the Azure AI CLI, the Prompt flow SDK, and other tools. It's configured to run VS Code remotely inside of the container. The docker container is similar to [this Dockerfile](https://github.com/Azure/aistudio-copilot-sample/blob/main/.devcontainer/Dockerfile), and is based on [Microsoft's Python 3.10 Development Container Image](https://mcr.microsoft.com/en-us/product/devcontainers/python/about).
9797

@@ -221,7 +221,7 @@ As mentioned in step 2 above, your flow.dag.yaml should reference connection and
221221

222222
If you're working in your own development environment (including Codespaces), you might need to manually update these fields so that your flow runs connected to Azure resources.
223223

224-
If you launched VS Code from the AI Studio, you are in an Azure-connected custom container experience, and you can work directly with flows stored in the `shared` folder. These flow files are the same underlying files prompt flow references in the Studio, so they should already be configured with your project connections and deployments. To learn more about the folder structure in the VS Code container experience, see [Get started with Azure AI projects in VS Code (Web)](vscode-web.md)
224+
If you launched VS Code from the AI Studio, you are in an Azure-connected custom container experience, and you can work directly with flows stored in the `shared` folder. These flow files are the same underlying files prompt flow references in the Studio, so they should already be configured with your project connections and deployments. To learn more about the folder structure in the VS Code container experience, see [Work with Azure AI projects in VS Code](develop-in-vscode.md)
225225

226226
## ai chat
227227

@@ -295,7 +295,7 @@ ai help
295295

296296
## Next steps
297297

298-
- [Try the Azure AI CLI from Azure AI Studio in a browser](vscode-web.md)
298+
- [Try the Azure AI CLI from Azure AI Studio in a browser](develop-in-vscode.md)
299299

300300

301301

articles/ai-studio/how-to/create-manage-compute.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ To create a compute instance in Azure AI Studio:
5757
:::image type="content" source="../media/compute/compute-scheduling.png" alt-text="Screenshot of the option to enable idle shutdown and create a schedule." lightbox="../media/compute/compute-scheduling.png":::
5858

5959
> [!IMPORTANT]
60-
> The compute can't be idle if you have [prompt flow runtime](./create-manage-runtime.md) in **Running** status on the compute. You need to delete any active runtime before the compute instance can be eligible for idle shutdown. You also can't have any active [VS Code (Web)](./vscode-web.md) sessions hosted on the compute instance.
60+
> The compute can't be idle if you have [prompt flow runtime](./create-manage-runtime.md) in **Running** status on the compute. You need to delete any active runtime before the compute instance can be eligible for idle shutdown. You also can't have any active [VS Code (Web)](./develop-in-vscode.md) sessions hosted on the compute instance.
6161
6262
1. You can update the schedule days and times to meet your needs. You can also add additional schedules. For example, you can create a schedule to start at 9 AM and stop at 6 PM from Monday-Thursday, and a second schedule to start at 9 AM and stop at 4 PM for Friday. You can create a total of four schedules per compute instance.
6363

@@ -84,7 +84,7 @@ Note that disabling SSH prevents SSH access from the public internet. But when a
8484
To avoid getting charged for a compute instance that is switched on but inactive, you can configure when to shut down your compute instance due to inactivity.
8585

8686
> [!IMPORTANT]
87-
> The compute can't be idle if you have [prompt flow runtime](./create-manage-runtime.md) in **Running** status on the compute. You need to delete any active runtime before the compute instance can be eligible for idle shutdown. You also can't have any active [VS Code (Web)](./vscode-web.md) sessions hosted on the compute instance.
87+
> The compute can't be idle if you have [prompt flow runtime](./create-manage-runtime.md) in **Running** status on the compute. You need to delete any active runtime before the compute instance can be eligible for idle shutdown. You also can't have any active [VS Code (Web)](./develop-in-vscode.md) sessions hosted on the compute instance.
8888
8989
The setting can be configured during compute instance creation or for existing compute instances.
9090

0 commit comments

Comments
 (0)