Skip to content

Commit 4d9444a

Browse files
authored
Merge pull request #279724 from MicrosoftDocs/main
Publish to live, Sunday 4:00PM PDT, 06/30
2 parents 5337a72 + df9793c commit 4d9444a

21 files changed

+489
-521
lines changed

articles/ai-services/openai/how-to/fine-tuning-functions.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,5 +90,6 @@ As with the example before, this example is artificially expanded for readabilit
9090

9191
## Next steps
9292

93-
- Explore the fine-tuning capabilities in the [Azure OpenAI fine-tuning tutorial](../tutorials/fine-tune.md).
94-
- Review fine-tuning [model regional availability](../concepts/models.md#fine-tuning-models)
93+
* [Function calling fine-tuning scenarios](https://techcommunity.microsoft.com/t5/ai-azure-ai-services-blog/fine-tuning-with-function-calling-on-azure-openai-service/ba-p/4065968).
94+
* Explore the fine-tuning capabilities in the [Azure OpenAI fine-tuning tutorial](../tutorials/fine-tune.md).
95+
* Review fine-tuning [model regional availability](../concepts/models.md#fine-tuning-models).

articles/ai-services/openai/how-to/function-calling.md

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

articles/ai-services/openai/includes/chat-go.md

Lines changed: 69 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.service: azure-ai-openai
77
ms.topic: include
88
author: mrbullwinkle
99
ms.author: mbullwin
10-
ms.date: 08/30/2023
10+
ms.date: 06/30/2024
1111
---
1212

1313
[Source code](https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/ai/azopenai) | [Package (Go)](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai)| [Samples](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai#pkg-examples)
@@ -40,13 +40,15 @@ import (
4040
"os"
4141

4242
"github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai"
43+
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
4344
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
4445
)
4546

4647
func main() {
4748
azureOpenAIKey := os.Getenv("AZURE_OPENAI_API_KEY")
48-
//modelDeploymentID = deployment name, if model name and deployment name do not match change this value to name chosen when you deployed the model.
49-
modelDeploymentID := "gpt-35-turbo"
49+
modelDeploymentID := os.Getenv("YOUR_MODEL_DEPLOYMENT_NAME")
50+
maxTokens:= int32(400)
51+
5052

5153
// Ex: "https://<your-azure-openai-host>.openai.azure.com"
5254
azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
@@ -56,55 +58,84 @@ func main() {
5658
return
5759
}
5860

59-
keyCredential, err := azopenai.NewKeyCredential(azureOpenAIKey)
60-
61-
if err != nil {
62-
// TODO: Update the following line with your application specific error handling logic
63-
log.Fatalf("ERROR: %s", err)
64-
}
61+
keyCredential := azcore.NewKeyCredential(azureOpenAIKey)
6562

63+
// In Azure OpenAI you must deploy a model before you can use it in your client. For more information
64+
// see here: https://learn.microsoft.com/azure/cognitive-services/openai/how-to/create-resource
6665
client, err := azopenai.NewClientWithKeyCredential(azureOpenAIEndpoint, keyCredential, nil)
6766

6867
if err != nil {
69-
// TODO: Update the following line with your application specific error handling logic
70-
log.Fatalf("ERROR: %s", err)
68+
// TODO: Update the following line with your application specific error handling logic
69+
log.Printf("ERROR: %s", err)
70+
return
7171
}
7272

7373
// This is a conversation in progress.
7474
// NOTE: all messages, regardless of role, count against token usage for this API.
75-
messages := []azopenai.ChatMessage{
75+
messages := []azopenai.ChatRequestMessageClassification{
7676
// You set the tone and rules of the conversation with a prompt as the system role.
77-
{Role: to.Ptr(azopenai.ChatRoleSystem), Content: to.Ptr("You are a helpful assistant.")},
77+
&azopenai.ChatRequestSystemMessage{Content: to.Ptr("You are a helpful assistant.")},
7878

7979
// The user asks a question
80-
{Role: to.Ptr(azopenai.ChatRoleUser), Content: to.Ptr("Does Azure OpenAI support customer managed keys?")},
80+
&azopenai.ChatRequestUserMessage{Content: azopenai.NewChatRequestUserMessageContent("Does Azure OpenAI support customer managed keys?")},
8181

82-
// The reply would come back from the Azure OpenAI model. You'd add it to the conversation so we can maintain context.
83-
{Role: to.Ptr(azopenai.ChatRoleAssistant), Content: to.Ptr("Yes, customer managed keys are supported by Azure OpenAI")},
82+
// The reply would come back from the model. You'd add it to the conversation so we can maintain context.
83+
&azopenai.ChatRequestAssistantMessage{Content: to.Ptr("Yes, customer managed keys are supported by Azure OpenAI")},
8484

8585
// The user answers the question based on the latest reply.
86-
{Role: to.Ptr(azopenai.ChatRoleUser), Content: to.Ptr("Do other Azure AI services support this too?")},
86+
&azopenai.ChatRequestUserMessage{Content: azopenai.NewChatRequestUserMessageContent("What other Azure Services support customer managed keys?")},
8787

88-
// from here you'd keep iterating, sending responses back from the chat completions API
88+
// from here you'd keep iterating, sending responses back from ChatGPT
8989
}
9090

91+
gotReply := false
92+
9193
resp, err := client.GetChatCompletions(context.TODO(), azopenai.ChatCompletionsOptions{
9294
// This is a conversation in progress.
9395
// NOTE: all messages count against token usage for this API.
94-
Messages: messages,
95-
Deployment: modelDeploymentID,
96+
Messages: messages,
97+
DeploymentName: &modelDeploymentID,
98+
MaxTokens: &maxTokens,
9699
}, nil)
97100

98101
if err != nil {
99-
// TODO: Update the following line with your application specific error handling logic
100-
log.Fatalf("ERROR: %s", err)
102+
// TODO: Update the following line with your application specific error handling logic
103+
log.Printf("ERROR: %s", err)
104+
return
101105
}
102106

103107
for _, choice := range resp.Choices {
104-
fmt.Fprintf(os.Stderr, "Content[%d]: %s\n", *choice.Index, *choice.Message.Content)
108+
gotReply = true
109+
110+
if choice.ContentFilterResults != nil {
111+
fmt.Fprintf(os.Stderr, "Content filter results\n")
112+
113+
if choice.ContentFilterResults.Error != nil {
114+
fmt.Fprintf(os.Stderr, " Error:%v\n", choice.ContentFilterResults.Error)
115+
}
116+
117+
fmt.Fprintf(os.Stderr, " Hate: sev: %v, filtered: %v\n", *choice.ContentFilterResults.Hate.Severity, *choice.ContentFilterResults.Hate.Filtered)
118+
fmt.Fprintf(os.Stderr, " SelfHarm: sev: %v, filtered: %v\n", *choice.ContentFilterResults.SelfHarm.Severity, *choice.ContentFilterResults.SelfHarm.Filtered)
119+
fmt.Fprintf(os.Stderr, " Sexual: sev: %v, filtered: %v\n", *choice.ContentFilterResults.Sexual.Severity, *choice.ContentFilterResults.Sexual.Filtered)
120+
fmt.Fprintf(os.Stderr, " Violence: sev: %v, filtered: %v\n", *choice.ContentFilterResults.Violence.Severity, *choice.ContentFilterResults.Violence.Filtered)
121+
}
122+
123+
if choice.Message != nil && choice.Message.Content != nil {
124+
fmt.Fprintf(os.Stderr, "Content[%d]: %s\n", *choice.Index, *choice.Message.Content)
125+
}
126+
127+
if choice.FinishReason != nil {
128+
// this choice's conversation is complete.
129+
fmt.Fprintf(os.Stderr, "Finish reason[%d]: %s\n", *choice.Index, *choice.FinishReason)
130+
}
131+
}
132+
133+
if gotReply {
134+
fmt.Fprintf(os.Stderr, "Received chat completions reply\n")
105135
}
106136

107137
}
138+
108139
```
109140

110141
> [!IMPORTANT]
@@ -126,7 +157,21 @@ go run chat_completions.go
126157
## Output
127158

128159
```output
129-
Content[0]: Yes, many Azure AI services also support customer managed keys. These services enable you to bring your own encryption keys for data at rest, which provides you with more control over the security of your data.
160+
Content filter results
161+
Hate: sev: safe, filtered: false
162+
SelfHarm: sev: safe, filtered: false
163+
Sexual: sev: safe, filtered: false
164+
Violence: sev: safe, filtered: false
165+
Content[0]: As of my last update in early 2023, in Azure, several AI services support the use of customer-managed keys (CMKs) through Azure Key Vault. This allows customers to have control over the encryption keys used to secure their data at rest. The services that support this feature typically fall under Azure's range of cognitive services and might include:
166+
167+
1. Azure Cognitive Search: It supports using customer-managed keys to encrypt the index data.
168+
2. Azure Form Recognizer: For data at rest, you can use customer-managed keys for added security.
169+
3. Azure Text Analytics: CMKs can be used for encrypting your data at rest.
170+
4. Azure Blob Storage: While not exclusively an AI service, it's often used in conjunction with AI services to store data, and it supports customer-managed keys for encrypting blob data.
171+
172+
Note that the support for CMKs can vary by service and sometimes even by the specific feature within the service. Additionally, the landscape of cloud services is fast evolving, and new features, including security capabilities, are frequently added. Therefore, it's recommended to check the latest Azure documentation or contact Azure support for the most current information about CMK support for any specific Azure AI service.
173+
Finish reason[0]: stop
174+
Received chat completions reply
130175
```
131176

132177
## Clean up resources

articles/ai-services/openai/overview.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@ author: mrbullwinkle
77
ms.author: mbullwin
88
ms.service: azure-ai-openai
99
ms.topic: overview
10-
ms.date: 02/15/2024
10+
ms.date: 06/30/2024
1111
ms.custom: build-2023, build-2023-dataai
1212
recommendations: false
1313
---
1414

1515
# What is Azure OpenAI Service?
1616

17-
Azure OpenAI Service provides REST API access to OpenAI's powerful language models including the GPT-4, GPT-4 Turbo with Vision, GPT-3.5-Turbo, and Embeddings model series. In addition, the new GPT-4 and GPT-3.5-Turbo model series have now reached general availability. These models can be easily adapted to your specific task including but not limited to content generation, summarization, image understanding, semantic search, and natural language to code translation. Users can access the service through REST APIs, Python SDK, or our web-based interface in the Azure OpenAI Studio.
17+
Azure OpenAI Service provides REST API access to OpenAI's powerful language models including GPT-4o, GPT-4 Turbo with Vision, GPT-4, GPT-3.5-Turbo, and Embeddings model series. These models can be easily adapted to your specific task including but not limited to content generation, summarization, image understanding, semantic search, and natural language to code translation. Users can access the service through REST APIs, Python SDK, or our web-based interface in the Azure OpenAI Studio.
1818

1919
### Features overview
2020

2121
| Feature | Azure OpenAI |
2222
| --- | --- |
23-
| Models available | **GPT-4 series (including GPT-4 Turbo with Vision)** <br>**GPT-3.5-Turbo series**<br> Embeddings series <br> Learn more in our [Models](./concepts/models.md) page.|
24-
| Fine-tuning (preview) | `GPT-3.5-Turbo` (0613) <br> `babbage-002` <br> `davinci-002`.|
23+
| Models available | **GPT-4o**<br> **GPT-4 series (including GPT-4 Turbo with Vision)** <br>**GPT-3.5-Turbo series**<br> Embeddings series <br> Learn more in our [Models](./concepts/models.md) page.|
24+
| Fine-tuning | `GPT-4` (preview) <br>`GPT-3.5-Turbo` (0613) <br> `babbage-002` <br> `davinci-002`.|
2525
| Price | [Available here](https://azure.microsoft.com/pricing/details/cognitive-services/openai-service/) <br> For details on GPT-4 Turbo with Vision, see the [special pricing information](../openai/concepts/gpt-with-vision.md#special-pricing-information).|
2626
| Virtual network support & private link support | Yes, unless using [Azure OpenAI on your data](./concepts/use-your-data.md). |
2727
| Managed Identity| Yes, via Microsoft Entra ID |

articles/automation/automation-linux-hrw-install.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: This article tells how to install an agent-based Hybrid Runbook Wo
44
services: automation
55
ms.subservice: process-automation
66
ms.custom: linux-related-content
7-
ms.date: 04/21/2024
7+
ms.date: 06/29/2024
88
ms.topic: conceptual
99
---
1010

@@ -44,7 +44,6 @@ The Hybrid Runbook Worker role requires the [Log Analytics agent](../azure-monit
4444
The Hybrid Runbook Worker feature supports the following distributions. All operating systems are assumed to be x64. x86 isn't supported for any operating system.
4545

4646
* Amazon Linux 2012.09 to 2015.09
47-
* CentOS Linux 5, 6, 7, and 8
4847
* Oracle Linux 6, 7, and 8
4948
* Red Hat Enterprise Linux Server 5, 6, 7, and 8
5049
* Debian GNU/Linux 6, 7, and 8
@@ -105,7 +104,7 @@ Linux Hybrid Runbook Workers support a limited set of runbook types in Azure Aut
105104

106105
|Runbook type | Supported |
107106
|-------------|-----------|
108-
|Python 3 (preview)|Yes, required for these distros only: SUSE LES 15, RHEL 8, and CentOS 8|
107+
|Python 3 (preview)|Yes, required for these distros only: SUSE LES 15, RHEL 8|
109108
|Python 2 |Yes, for any distro that doesn't require Python 3<sup>1</sup> |
110109
|PowerShell |Yes<sup>2</sup> |
111110
|PowerShell Workflow |No |

articles/automation/change-tracking/overview.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Azure Automation Change Tracking and Inventory overview
33
description: This article describes the Change Tracking and Inventory feature, which helps you identify software and Microsoft service changes in your environment.
44
services: automation
55
ms.subservice: change-inventory-management
6-
ms.date: 12/13/2023
6+
ms.date: 06/30/2024
77
ms.custom: linux-related-content
88
ms.topic: conceptual
99
---
@@ -80,7 +80,7 @@ Change Tracking and Inventory now support Python 2 and Python 3. If your machine
8080
> To use the OMS agent compatible with Python 3, ensure that you first uninstall Python 2; otherwise, the OMS agent will continue to run with python 2 by default.
8181
8282
#### [Python 2](#tab/python-2)
83-
- Red Hat, CentOS, Oracle:
83+
- Red Hat, Oracle:
8484

8585
```bash
8686
sudo yum install -y python2
@@ -102,7 +102,7 @@ Change Tracking and Inventory now support Python 2 and Python 3. If your machine
102102
103103
#### [Python 3](#tab/python-3)
104104

105-
- Red Hat, CentOS, Oracle:
105+
- Red Hat, Oracle:
106106

107107
```bash
108108
sudo yum install -y python3

articles/automation/extension-based-hybrid-runbook-worker-install.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: This article provides information about deploying the extension-bas
44
services: automation
55
ms.subservice: process-automation
66
ms.custom: devx-track-azurepowershell, devx-track-azurecli, devx-track-bicep, linux-related-content
7-
ms.date: 05/22/2024
7+
ms.date: 06/29/2024
88
ms.topic: how-to
99
#Customer intent: As a developer, I want to learn about extension so that I can efficiently deploy Hybrid Runbook Workers.
1010
---
@@ -36,7 +36,7 @@ Azure Automation stores and manages runbooks and then delivers them to one or mo
3636

3737
| Windows (x64) | Linux (x64) |
3838
|---|---|
39-
| &#9679; Windows Server 2022 (including Server Core) <br> &#9679; Windows Server 2019 (including Server Core) <br> &#9679; Windows Server 2016, version 1709, and 1803 (excluding Server Core) <br> &#9679; Windows Server 2012, 2012 R2 (excluding Server Core) <br> &#9679; Windows 10 Enterprise (including multi-session) and Pro | &#9679; Debian GNU/Linux 8, 9, 10, and 11 <br> &#9679; Ubuntu 18.04 LTS, 20.04 LTS, and 22.04 LTS <br> &#9679; SUSE Linux Enterprise Server 15.2, and 15.3 <br> &#9679; Red Hat Enterprise Linux Server 7, 8, and 9 <br> &#9679; CentOS Linux 7 and 8 <br> &#9679; SUSE Linux Enterprise Server (SLES) 15 <br> &#9679; Rocky Linux 9 </br> &#9679; Oracle Linux 7 and 8 <br> *Hybrid Worker extension would follow support timelines of the OS vendor*.|
39+
| &#9679; Windows Server 2022 (including Server Core) <br> &#9679; Windows Server 2019 (including Server Core) <br> &#9679; Windows Server 2016, version 1709, and 1803 (excluding Server Core) <br> &#9679; Windows Server 2012, 2012 R2 (excluding Server Core) <br> &#9679; Windows 10 Enterprise (including multi-session) and Pro | &#9679; Debian GNU/Linux 8, 9, 10, and 11 <br> &#9679; Ubuntu 18.04 LTS, 20.04 LTS, and 22.04 LTS <br> &#9679; SUSE Linux Enterprise Server 15.2, and 15.3 <br> &#9679; Red Hat Enterprise Linux Server 7, 8, and 9 <br> &#9679; SUSE Linux Enterprise Server (SLES) 15 <br> &#9679; Rocky Linux 9 </br> &#9679; Oracle Linux 7 and 8 <br> *Hybrid Worker extension would follow support timelines of the OS vendor*.|
4040

4141

4242
### Other Requirements

articles/automation/migrate-existing-agent-based-hybrid-worker-to-extension-based-workers.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Migrate an existing agent-based hybrid workers to extension-based-workers
33
description: This article provides information on how to migrate an existing agent-based hybrid worker to extension based workers.
44
services: automation
55
ms.subservice: process-automation
6-
ms.date: 05/17/2024
6+
ms.date: 06/29/2024
77
ms.custom: devx-track-azurecli, devx-track-bicep, devx-track-azurepowershell
88
ms.topic: how-to
99
#Customer intent: As a developer, I want to learn about extension so that I can efficiently migrate agent based hybrid workers to extension based workers.
@@ -54,7 +54,7 @@ The purpose of the Extension-based approach is to simplify the installation and
5454

5555
| Windows (x64) | Linux (x64) |
5656
|---|---|
57-
| &#9679; Windows Server 2022 (including Server Core) <br> &#9679; Windows Server 2019 (including Server Core) <br> &#9679; Windows Server 2016, version 1709 and 1803 (excluding Server Core) <br> &#9679; Windows Server 2012, 2012 R2 (excluding Server Core) <br> &#9679; Windows 10 Enterprise (including multi-session) and Pro| &#9679; Debian GNU/Linux 8,9,10, and 11 <br> &#9679; Ubuntu 18.04 LTS, 20.04 LTS, and 22.04 LTS <br> &#9679; SUSE Linux Enterprise Server 15.2, and 15.3 <br> &#9679; Red Hat Enterprise Linux Server 7, 8, and 9 <br> &#9679; CentOS Linux 7 and 8 <br> &#9679; SUSE Linux Enterprise Server (SLES) 15 <br> &#9679; Rocky Linux 9 </br> &#9679; Oracle Linux 7 and 8 <br> *Hybrid Worker extension would follow support timelines of the OS vendor*. |
57+
| &#9679; Windows Server 2022 (including Server Core) <br> &#9679; Windows Server 2019 (including Server Core) <br> &#9679; Windows Server 2016, version 1709 and 1803 (excluding Server Core) <br> &#9679; Windows Server 2012, 2012 R2 (excluding Server Core) <br> &#9679; Windows 10 Enterprise (including multi-session) and Pro| &#9679; Debian GNU/Linux 8,9,10, and 11 <br> &#9679; Ubuntu 18.04 LTS, 20.04 LTS, and 22.04 LTS <br> &#9679; SUSE Linux Enterprise Server 15.2, and 15.3 <br> &#9679; Red Hat Enterprise Linux Server 7, 8, and 9 <br> &#9679; SUSE Linux Enterprise Server (SLES) 15 <br> &#9679; Rocky Linux 9 </br> &#9679; Oracle Linux 7 and 8 <br> *Hybrid Worker extension would follow support timelines of the OS vendor*. |
5858

5959
### Other Requirements
6060

articles/automation/quickstarts/dsc-configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ By enabling Azure Automation State Configuration, you can manage and monitor the
2424
To complete this quickstart, you need:
2525

2626
* An Azure subscription. If you don't have an Azure subscription, [create a free account](https://azure.microsoft.com/free/).
27-
* An Azure Resource Manager virtual machine running Red Hat Enterprise Linux, CentOS, or Oracle Linux. For instructions on creating a VM, see [Create your first Linux virtual machine in the Azure portal](../../virtual-machines/linux/quick-create-portal.md)
27+
* An Azure Resource Manager virtual machine running Red Hat Enterprise Linux, or Oracle Linux. For instructions on creating a VM, see [Create your first Linux virtual machine in the Azure portal](../../virtual-machines/linux/quick-create-portal.md)
2828

2929
## Sign in to Azure
3030
Sign in to the [Azure portal](https://portal.azure.com).

articles/automation/troubleshoot/update-management.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Troubleshoot Azure Automation Update Management issues
33
description: This article tells how to troubleshoot and resolve issues with Azure Automation Update Management.
44
services: automation
55
ms.subservice: update-management
6-
ms.date: 05/26/2023
6+
ms.date: 06/29/2024
77
ms.topic: troubleshooting
88
ms.custom: devx-track-azurepowershell, linux-related-content
99
---
@@ -80,7 +80,7 @@ When an assessment of OS updates pending for your Linux machine is done, [Open V
8080

8181
You can manually check the Linux machine, the applicable updates, and their classification per the distro's package manager. To understand which updates are classified as **Security** by your package manager, run the following commands.
8282

83-
For YUM, the following command returns a non-zero list of updates categorized as **Security** by Red Hat. Note that in the case of CentOS, it always returns an empty list and no security classification occurs.
83+
For YUM, the following command returns a non-zero list of updates categorized as **Security** by Red Hat.
8484

8585
```bash
8686
sudo yum -q --security check-update
@@ -671,7 +671,7 @@ Updates are often superseded by other updates. For more information, see [Update
671671

672672
### Installing updates by classification on Linux
673673

674-
Deploying updates to Linux by classification ("Critical and security updates") has important caveats, especially for CentOS. These limitations are documented on the [Update Management overview page](../update-management/overview.md#update-classifications).
674+
Deploying updates to Linux by classification ("Critical and security updates") has important caveats. These limitations are documented on the [Update Management overview page](../update-management/overview.md#update-classifications).
675675

676676
### KB2267602 is consistently missing
677677

0 commit comments

Comments
 (0)