Skip to content

Commit 3ac5580

Browse files
committed
Merge branch 'main' into release-may-2024-openai
2 parents 5cc19b7 + 909c518 commit 3ac5580

File tree

240 files changed

+4880
-2156
lines changed

Some content is hidden

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

240 files changed

+4880
-2156
lines changed

articles/ai-services/speech-service/how-to-pronunciation-assessment.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ This table lists some of the key configuration parameters for pronunciation asse
188188
| `ReferenceText` | The text that the pronunciation is evaluated against.<br/><br/>The `ReferenceText` parameter is optional. Set the reference text if you want to run a [scripted assessment](#scripted-assessment-results) for the reading language learning scenario. Don't set the reference text if you want to run an [unscripted assessment](#unscripted-assessment-results).<br/><br/>For pricing differences between scripted and unscripted assessment, see [Pricing](./pronunciation-assessment-tool.md#pricing). |
189189
| `GradingSystem` | The point system for score calibration. `FivePoint` gives a 0-5 floating point score. `HundredMark` gives a 0-100 floating point score. Default: `FivePoint`. |
190190
| `Granularity` | Determines the lowest level of evaluation granularity. Returns scores for levels greater than or equal to the minimal value. Accepted values are `Phoneme`, which shows the score on the full text, word, syllable, and phoneme level, `Word`, which shows the score on the full text and word level, or `FullText`, which shows the score on the full text level only. The provided full reference text can be a word, sentence, or paragraph. It depends on your input reference text. Default: `Phoneme`.|
191-
| `EnableMiscue` | Enables miscue calculation when the pronounced words are compared to the reference text. Enabling miscue is optional. If this value is `True`, the `ErrorType` result value can be set to `Omission` or `Insertion` based on the comparison. Values are `False` and `True`. Default: `False`. To enable miscue calculation, set the `EnableMiscue` to `True`. You can refer to the code snippet below the table. |
191+
| `EnableMiscue` | Enables miscue calculation when the pronounced words are compared to the reference text. Enabling miscue is optional. If this value is `True`, the `ErrorType` result value can be set to `Omission` or `Insertion` based on the comparison. Values are `False` and `True`. Default: `False`. To enable miscue calculation, set the `EnableMiscue` to `True`. You can refer to the code snippet above the table. |
192192
| `ScenarioId` | A GUID for a customized point system. |
193193

194194
### Configuration methods
@@ -385,7 +385,7 @@ This table lists some of the key pronunciation assessment results for the script
385385
| `FluencyScore` | Fluency of the given speech. Fluency indicates how closely the speech matches a native speaker's use of silent breaks between words. | Full Text level |
386386
| `CompletenessScore` | Completeness of the speech, calculated by the ratio of pronounced words to the input reference text. |Full Text level|
387387
| `ProsodyScore` | Prosody of the given speech. Prosody indicates how natural the given speech is, including stress, intonation, speaking speed, and rhythm. | Full Text level|
388-
| `PronScore` | Overall score of the pronunciation quality of the given speech. `PronScore` is aggregated from `AccuracyScore`, `FluencyScore`, and `CompletenessScore` with weight. |Full Text level|
388+
| `PronScore` | Overall score of the pronunciation quality of the given speech. `PronScore` is calculated from `AccuracyScore`, `FluencyScore`, `CompletenessScore`, and `ProsodyScore` with weight, provided that `ProsodyScore` and `CompletenessScore` are available. If either of them isn't available, `PronScore` won't consider that score.|Full Text level|
389389
| `ErrorType` | This value indicates the error type compared to the reference text. Options include whether a word is omitted, inserted, or improperly inserted with a break. It also indicates a missing break at punctuation. It also indicates whether a word is badly pronounced, or monotonically rising, falling, or flat on the utterance. Possible values are `None` for no error on this word, `Omission`, `Insertion`, `Mispronunciation`, `UnexpectedBreak`, `MissingBreak`, and `Monotone`. The error type can be `Mispronunciation` when the pronunciation `AccuracyScore` for a word is below 60.| Word level|
390390

391391
#### Unscripted assessment results
@@ -405,7 +405,7 @@ This table lists some of the key pronunciation assessment results for the unscri
405405
| `VocabularyScore` | Proficiency in lexical usage. It evaluates the speaker's effective usage of words and their appropriateness within the given context to express ideas accurately, and the level of lexical complexity. | Full Text level |
406406
| `GrammarScore` | Correctness in using grammar and variety of sentence patterns. Lexical accuracy, grammatical accuracy, and diversity of sentence structures jointly elevate grammatical errors. | Full Text level|
407407
| `TopicScore` | Level of understanding and engagement with the topic, which provides insights into the speaker’s ability to express their thoughts and ideas effectively and the ability to engage with the topic. | Full Text level|
408-
| `PronScore` | Overall score of the pronunciation quality of the given speech. This value is aggregated from `AccuracyScore`, `FluencyScore`, and `CompletenessScore` with weight. | Full Text level |
408+
| `PronScore` | Overall score of the pronunciation quality of the given speech. `PronScore` is calculated from `AccuracyScore`, `FluencyScore`, and `ProsodyScore` with weight, provided that `ProsodyScore` is available. If `ProsodyScore` isn't available, `PronScore` won't consider that score.| Full Text level |
409409
| `ErrorType` | A word is badly pronounced, improperly inserted with a break, or missing a break at punctuation. It also indicates whether a pronunciation is monotonically rising, falling, or flat on the utterance. Possible values are `None` for no error on this word, `Mispronunciation`, `UnexpectedBreak`, `MissingBreak`, and `Monotone`. | Word level |
410410

411411
The following table describes the prosody assessment results in more detail:

articles/ai-services/speech-service/includes/how-to/professional-voice/train-voice/speech-studio.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ To copy your custom neural voice model to another project:
256256

257257
:::image type="content" source="../../../../media/custom-voice/cnv-model-copy.png" alt-text="Screenshot of the copy to project option.":::
258258

259-
1. Select the **Region**, **Speech resource**, and **Project** where you want to copy the model. You must have a speech resource and project in the target region, otherwise you need to create them first.
259+
1. Select the **Subscription**, **Region**, **Speech resource**, and **Project** where you want to copy the model. You must have a speech resource and project in the target region, otherwise you need to create them first.
260260

261261
:::image type="content" source="../../../../media/custom-voice/cnv-model-copy-dialog.png" alt-text="Screenshot of the copy voice model dialog.":::
262262

-25 KB
Loading

articles/ai-studio/how-to/prompt-flow-tools/llm-tool.md

Lines changed: 8 additions & 176 deletions
Original file line numberDiff line numberDiff line change
@@ -17,51 +17,14 @@ author: lgayhardt
1717

1818
[!INCLUDE [Azure AI Studio preview](../../includes/preview-ai-studio.md)]
1919

20-
The large language model (LLM) tool in prompt flow enables you to take advantage of widely used large language models like [OpenAI](https://platform.openai.com/), [Azure OpenAI Service](../../../ai-services/openai/overview.md), and models in [Azure AI Studio model catalog](../model-catalog.md) for natural language processing.
21-
> [!NOTE]
22-
> The previous version of the LLM tool is now being deprecated. Please upgrade to latest [promptflow-tools](https://pypi.org/project/promptflow-tools/) package to consume new llm tools.
23-
24-
Prompt flow provides a few different large language model APIs:
25-
26-
- [Completion](https://platform.openai.com/docs/api-reference/completions): OpenAI's completion models generate text based on provided prompts.
27-
- [Chat](https://platform.openai.com/docs/api-reference/chat): OpenAI's chat models facilitate interactive conversations with text-based inputs and responses.
20+
To use large language models (LLMs) for natural language processing, you use the prompt flow LLM tool.
2821

2922
> [!NOTE]
30-
> Don't use non-ascii characters in resource group name of Azure OpenAI resource, prompt flow didn't support this case.
23+
> For embeddings to convert text into dense vector representations for various natural language processing tasks, see [Embedding tool](embedding-tool.md).
3124
3225
## Prerequisites
3326

34-
Create OpenAI resources, Azure OpenAI resources, or MaaS deployment with the LLM models (for example: llama2, mistral, cohere etc.) in Azure AI Studio model catalog:
35-
36-
- **OpenAI**:
37-
38-
- Sign up your account on the [OpenAI website](https://openai.com/).
39-
- Sign in and [find your personal API key](https://platform.openai.com/account/api-keys).
40-
41-
- **Azure OpenAI**:
42-
43-
- [Create Azure OpenAI resources](../../../ai-services/openai/how-to/create-resource.md).
44-
45-
- **MaaS deployment**:
46-
47-
[Create MaaS deployment for models in Azure AI Studio model catalog](../../concepts/deployments-overview.md#deploy-models-with-model-as-a-service).
48-
49-
You can create serverless connection to use this MaaS deployment.
50-
51-
## Connections
52-
53-
Set up connections to provisioned resources in prompt flow.
54-
55-
| Type | Name | API key | API base | API type | API version |
56-
|-------------|----------|----------|----------|----------|-------------|
57-
| OpenAI | Required | Required | - | - | - |
58-
| Azure OpenAI| Required | Required | Required | Required | Required |
59-
| Serverless | Required | Required | Required | - | - |
60-
61-
> [!TIP]
62-
> - To use Microsoft Entra ID auth type for Azure OpenAI connection, you need assign either the `Cognitive Services OpenAI User` or `Cognitive Services OpenAI Contributor role` to user or user assigned managed identity.
63-
> - Learn more about [how to specify to use user identity to submit flow run](../create-manage-runtime.md#create-an-automatic-runtime-on-a-flow-page).
64-
> - Learn more about [How to configure Azure OpenAI Service with managed identities](../../../ai-services/openai/how-to/managed-identity.md).
27+
Prepare a prompt as described in the [Prompt tool](prompt-tool.md#prerequisites) documentation. The LLM tool and Prompt tool both support [Jinja](https://jinja.palletsprojects.com/en/3.1.x/) templates. For more information and best practices, see [Prompt engineering techniques](../../../ai-services/openai/concepts/advanced-prompt-engineering.md).
6528

6629
## Build with the LLM tool
6730

@@ -72,7 +35,7 @@ Set up connections to provisioned resources in prompt flow.
7235

7336
1. Select the connection to one of your provisioned resources. For example, select **Default_AzureOpenAI**.
7437
1. From the **Api** dropdown list, select **chat** or **completion**.
75-
1. Enter values for the LLM tool input parameters described in the [Text completion inputs table](#inputs). If you selected the **chat** API, see the [Chat inputs table](#chat-inputs). If you selected the **completion** API, see the [Text completion inputs table](#text-completion-inputs). For information about how to prepare the prompt input, see [How to write a prompt](#how-to-write-a-prompt).
38+
1. Enter values for the LLM tool input parameters described in the [Text completion inputs table](#inputs). If you selected the **chat** API, see the [Chat inputs table](#chat-inputs). If you selected the **completion** API, see the [Text completion inputs table](#text-completion-inputs). For information about how to prepare the prompt input, see [Prerequisites](#prerequisites).
7639
1. Add more tools to your flow, as needed. Or select **Run** to run the flow.
7740
1. The outputs are described in the [Outputs table](#outputs).
7841

@@ -111,146 +74,15 @@ The following input parameters are available.
11174
| presence\_penalty | float | The value that controls the model's behavior regarding repeating phrases. Default is 0. | No |
11275
| frequency\_penalty | float | The value that controls the model's behavior regarding generating rare phrases. Default is 0. | No |
11376
| logit\_bias | dictionary | The logit bias for the language model. Default is empty dictionary. | No |
114-
| tool\_choice | object | Value that controls which tool is called by the model. Default is null. | No |
115-
| tools | list | A list of tools the model may generate JSON inputs for. Default is null. | No |
116-
| response_format | object | An object specifying the format that the model must output. Default is null. | No |
11777

11878
## Outputs
11979

12080
The output varies depending on the API you selected for inputs.
12181

122-
| Return type | Description |
123-
|-------------|------------------------------------------|
124-
| string | Text of one predicted completion or response of conversation |
125-
126-
## How to write a prompt?
127-
128-
Prepare a prompt as described in the [Prompt tool](prompt-tool.md#prerequisites) documentation. The LLM tool and Prompt tool both support [Jinja](https://jinja.palletsprojects.com/en/3.1.x/) templates. For more information and best practices, see [Prompt engineering techniques](../../../ai-services/openai/concepts/advanced-prompt-engineering.md).
129-
130-
For example, for a chat prompt we offer a method to distinguish between different roles in a chat prompt, such as "system", "user", "assistant" and "tool". The "system", "user", "assistant" roles can have "name" and "content" properties. The "tool" role, however, should have "tool_call_id" and "content" properties. For an example of a tool chat prompt, please refer to [Sample 3](#sample-3).
131-
132-
### Sample 1
133-
```jinja
134-
# system:
135-
You are a helpful assistant.
136-
137-
{% for item in chat_history %}
138-
# user:
139-
{{item.inputs.question}}
140-
# assistant:
141-
{{item.outputs.answer}}
142-
{% endfor %}
143-
144-
# user:
145-
{{question}}
146-
```
147-
148-
In LLM tool, the prompt is transformed to match the [OpenAI messages](https://platform.openai.com/docs/api-reference/chat/create#chat-create-messages) structure before sending to OpenAI chat API.
149-
150-
```
151-
[
152-
{
153-
"role": "system",
154-
"content": "You are a helpful assistant."
155-
},
156-
{
157-
"role": "user",
158-
"content": "<question-of-chat-history-round-1>"
159-
},
160-
{
161-
"role": "assistant",
162-
"content": "<answer-of-chat-history-round-1>"
163-
},
164-
...
165-
{
166-
"role": "user",
167-
"content": "<question>"
168-
}
169-
]
170-
```
171-
172-
### Sample 2
173-
```jinja
174-
# system:
175-
{# For role naming customization, the following syntax is used #}
176-
## name:
177-
Alice
178-
## content:
179-
You are a bot can tell good jokes.
180-
```
181-
182-
In LLM tool, the prompt is transformed to match the [OpenAI messages](https://platform.openai.com/docs/api-reference/chat/create#chat-create-messages) structure before sending to OpenAI chat API.
183-
184-
```
185-
[
186-
{
187-
"role": "system",
188-
"name": "Alice",
189-
"content": "You are a bot can tell good jokes."
190-
}
191-
]
192-
```
193-
194-
### Sample 3
195-
This sample illustrates how to write a tool chat prompt.
196-
```jinja
197-
# system:
198-
You are a helpful assistant.
199-
# user:
200-
What is the current weather like in Boston?
201-
# assistant:
202-
{# The assistant message with 'tool_calls' must be followed by messages with role 'tool'. #}
203-
## tool_calls:
204-
{{llm_output.tool_calls}}
205-
# tool:
206-
{#
207-
Messages with role 'tool' must be a response to a preceding message with 'tool_calls'.
208-
Additionally, 'tool_call_id's should match ids of assistant message 'tool_calls'.
209-
#}
210-
## tool_call_id:
211-
{{llm_output.tool_calls[0].id}}
212-
## content:
213-
{{tool-answer-of-last-question}}
214-
# user:
215-
{{question}}
216-
```
217-
218-
In LLM tool, the prompt is transformed to match the [OpenAI messages](https://platform.openai.com/docs/api-reference/chat/create#chat-create-messages) structure before sending to OpenAI chat API.
219-
220-
```
221-
[
222-
{
223-
"role": "system",
224-
"content": "You are a helpful assistant."
225-
},
226-
{
227-
"role": "user",
228-
"content": "What is the current weather like in Boston?"
229-
},
230-
{
231-
"role": "assistant",
232-
"content": null,
233-
"function_call": null,
234-
"tool_calls": [
235-
{
236-
"id": "<tool-call-id-of-last-question>",
237-
"type": "function",
238-
"function": "<function-to-call-of-last-question>"
239-
}
240-
]
241-
},
242-
{
243-
"role": "tool",
244-
"tool_call_id": "<tool-call-id-of-last-question>",
245-
"content": "<tool-answer-of-last-question>"
246-
}
247-
...
248-
{
249-
"role": "user",
250-
"content": "<question>"
251-
}
252-
]
253-
```
82+
| API | Return type | Description |
83+
|------------|-------------|------------------------------------------|
84+
| Completion | string | The text of one predicted completion. |
85+
| Chat | string | The text of one response of conversation. |
25486

25587
## Next steps
25688

articles/ai-studio/how-to/prompt-flow-tools/prompt-flow-tools-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ The following table provides an index of tools in prompt flow.
1919

2020
| Tool name | Description | Package name |
2121
|------|-----------|-------------|--------------|
22-
| [LLM](./llm-tool.md) | Use large language models (LLM) for tasks such as text completion or chat. | [promptflow-tools](https://pypi.org/project/promptflow-tools/) |
22+
| [LLM](./llm-tool.md) | Use large language models (LLM) with the Azure OpenAI Service for tasks such as text completion or chat. | [promptflow-tools](https://pypi.org/project/promptflow-tools/) |
2323
| [Prompt](./prompt-tool.md) | Craft a prompt by using Jinja as the templating language. | [promptflow-tools](https://pypi.org/project/promptflow-tools/) |
2424
| [Python](./python-tool.md) | Run Python code. | [promptflow-tools](https://pypi.org/project/promptflow-tools/) |
2525
| [Azure OpenAI GPT-4 Turbo with Vision](./azure-open-ai-gpt-4v-tool.md) | Use an Azure OpenAI GPT-4 Turbo with Vision model deployment to analyze images and provide textual responses to questions about them. | [promptflow-tools](https://pypi.org/project/promptflow-tools/) |

articles/aks/use-kms-etcd-encryption.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how to use Key Management Service (KMS) etcd encryption with
44
ms.topic: article
55
ms.subservice: aks-security
66
ms.custom: devx-track-azurecli
7-
ms.date: 01/04/2024
7+
ms.date: 05/13/2024
88
---
99

1010
# Add Key Management Service etcd encryption to an Azure Kubernetes Service cluster
@@ -370,7 +370,7 @@ Beginning in AKS version 1.27, turning on the KMS feature configures KMS v2. Wit
370370

371371
### Migrate to KMS v2
372372

373-
If your cluster version is later than 1.27 and you already turned on KMS, the upgrade to KMS 1.27 or later is blocked. Use the following steps to migrate to KMS v2:
373+
If your cluster version is older than 1.27 and you already turned on KMS, the upgrade to cluster version 1.27 or later is blocked. Use the following steps to migrate to KMS v2:
374374

375375
1. Turn off KMS on the cluster.
376376
1. Perform the storage migration.

articles/api-management/breaking-changes/api-version-retirement-sep-2023.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ We also recommend setting the **Minimum API version** in your API Management ins
4747
* Terraform azurerm provider: 3.0.0
4848

4949
* **Azure SDKs** - Update the Azure API Management SDKs to the latest versions or at least the following versions:
50-
* .NET: 8.0.0
50+
* .NET: v1.1.0
5151
* Go: 1.0.0
5252
* Python: 3.0.0
5353
- JavaScript: 8.0.1
@@ -79,4 +79,4 @@ To set the **Minimum API version** in the portal:
7979

8080
## Related content
8181

82-
See all [upcoming breaking changes and feature retirements](overview.md).
82+
See all [upcoming breaking changes and feature retirements](overview.md).

0 commit comments

Comments
 (0)