Skip to content

Commit a8de203

Browse files
authored
Merge pull request #1498 from MicrosoftDocs/release-ignite-azure-ai-language
Release ignite azure ai language
2 parents c3070bd + 899e999 commit a8de203

File tree

33 files changed

+617
-210
lines changed

33 files changed

+617
-210
lines changed

articles/ai-services/language-service/concepts/configure-containers.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.custom:
99
- ignite-2023
1010
ms.service: azure-ai-language
1111
ms.topic: conceptual
12-
ms.date: 12/19/2023
12+
ms.date: 11/04/2024
1313
ms.author: jboback
1414
---
1515

@@ -24,6 +24,7 @@ Language service provides each container with a common configuration framework,
2424
* Summarization
2525
* Named Entity Recognition (NER)
2626
* Personally Identifiable (PII) detection
27+
* Conversational Language Understanding (CLU)
2728

2829
## Configuration settings
2930

@@ -49,7 +50,7 @@ The `Billing` setting specifies the endpoint URI of the _Language_ resource on A
4950
|Yes| `Billing` | String | Billing endpoint URI. |
5051

5152

52-
## Eula setting
53+
## EULA setting
5354

5455
[!INCLUDE [Container shared configuration eula settings](../../includes/cognitive-services-containers-configuration-shared-settings-eula.md)]
5556

@@ -71,11 +72,11 @@ Use bind mounts to read and write data to and from the container. You can specif
7172

7273
The Language service containers don't use input or output mounts to store training or service data.
7374

74-
The exact syntax of the host mount location varies depending on the host operating system. Additionally, the host computer's mount location may not be accessible due to a conflict between permissions used by the docker service account and the host mount location permissions.
75+
The exact syntax of the host mount location varies depending on the host operating system. The host computer's mount location may not be accessible due to a conflict between the docker service account permissions and the host mount location permissions.
7576

7677
|Optional| Name | Data type | Description |
7778
|-------|------|-----------|-------------|
78-
|Not allowed| `Input` | String | Language service containers do not use this.|
79+
|Not allowed| `Input` | String | Language service containers don't use this.|
7980
|Optional| `Output` | String | The target of the output mount. The default value is `/output`. This is the location of the logs. This includes container logs. <br><br>Example:<br>`--mount type=bind,src=c:\output,target=/output`|
8081

8182
## Next steps

articles/ai-services/language-service/concepts/custom-features/multi-region-deployment.md

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ author: jboback
77
manager: nitinme
88
ms.service: azure-ai-language
99
ms.topic: conceptual
10-
ms.date: 12/19/2023
10+
ms.date: 11/04/2024
1111
ms.author: jboback
1212
ms.custom: language-service-clu
1313
---
@@ -22,7 +22,7 @@ ms.custom: language-service-clu
2222
> * [Custom named entity recognition (NER)](../../custom-named-entity-recognition/overview.md)
2323
> * [Orchestration workflow](../../orchestration-workflow/overview.md)
2424
25-
Custom language service features enable you to deploy your project to more than one region. This capability makes it much easier to access your project globally while you manage only one instance of your project in one place.
25+
Custom language service features enable you to deploy your project to more than one region. This capability makes it much easier to access your project globally while you manage only one instance of your project in one place. As of November 2024, custom language service features also enable you to deploy your project to multiple resources within a single region via the API, so that you can use your custom model wherever you need.
2626

2727
Before you deploy a project, you can assign *deployment resources* in other regions. Each deployment resource is a different Language resource from the one that you use to author your project. You deploy to those resources and then target your prediction requests to that resource in their respective regions and your queries are served directly from that region.
2828

@@ -54,13 +54,6 @@ You can only swap deployments that are available in the exact same regions. Othe
5454

5555
If you remove an assigned resource from your project, all of the project deployments to that resource are deleted.
5656

57-
> [!NOTE]
58-
> Orchestration workflow only:
59-
>
60-
> You *can't* assign deployment resources to orchestration workflow projects with custom question answering or LUIS connections. Subsequently, you can't add custom question answering or LUIS connections to projects that have assigned resources.
61-
>
62-
> For multiregion deployment to work as expected, the connected CLU projects *must also be deployed* to the same regional resources to which you deployed the orchestration workflow project. Otherwise, the orchestration workflow project attempts to route a request to a deployment in its region that doesn't exist.
63-
6457
Some regions are only available for deployment and not for authoring projects.
6558

6659
## Related content
Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
---
2+
title: Use conversational language understanding (CLU) Docker containers on-premises
3+
titleSuffix: Azure AI services
4+
description: Use Docker containers for the conversational language understanding (CLU) API to determine the language of written text, on-premises.
5+
#services: cognitive-services
6+
author: jboback
7+
manager: nitinme
8+
ms.service: azure-ai-language
9+
ms.custom:
10+
ms.topic: how-to
11+
ms.date: 10/07/2024
12+
ms.author: jboback
13+
keywords: on-premises, Docker, container
14+
---
15+
16+
# Install and run Conversational Language Understanding (CLU) containers
17+
18+
> [!NOTE]
19+
> The data limits in a single synchronous API call for the CLU container are 5120 characters per document and up to 10 documents per call.
20+
21+
Containers enable you to host the CLU API on your own infrastructure. If you have security or data governance requirements that can't be fulfilled by calling CLU remotely, then containers might be a good option.
22+
23+
If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/cognitive-services/) before you begin.
24+
25+
## Prerequisites
26+
27+
You must meet the following prerequisites before using CLU containers.
28+
29+
* If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/cognitive-services/).
30+
* [Docker](https://docs.docker.com/) installed on a host computer. Docker must be configured to allow the containers to connect with and send billing data to Azure.
31+
* On Windows, Docker must also be configured to support Linux containers.
32+
* You should have a basic understanding of [Docker concepts](https://docs.docker.com/get-started/overview/).
33+
* A <a href="https://portal.azure.com/#create/Microsoft.CognitiveServicesTextAnalytics" title="Create a Language resource" target="_blank">Language resource </a>
34+
35+
[!INCLUDE [Gathering required parameters](../../../containers/includes/container-gathering-required-parameters.md)]
36+
37+
## Host computer requirements and recommendations
38+
39+
[!INCLUDE [Host Computer requirements](../../../includes/cognitive-services-containers-host-computer.md)]
40+
41+
The following table describes the minimum and recommended specifications for the available container. Each CPU core must be at least 2.6 gigahertz (GHz) or faster.
42+
43+
It is recommended to have a CPU with AVX-512 instruction set, for the best experience (performance and accuracy).
44+
45+
| | Minimum host specs | Recommended host specs |
46+
|---------------------|------------------------|------------------------|
47+
| **CLU** | 1 core, 2GB memory | 4 cores, 8GB memory |
48+
49+
CPU core and memory correspond to the `--cpus` and `--memory` settings, which are used as part of the `docker run` command.
50+
51+
## Get the container image with `docker pull`
52+
53+
The CLU container image can be found on the `mcr.microsoft.com` container registry syndicate. It resides within the `azure-cognitive-services/textanalytics/` repository and is named `clu`. The fully qualified container image name is, `mcr.microsoft.com/azure-cognitive-services/textanalytics/clu`
54+
55+
To use the latest version of the container, you can use the `latest` tag, which is for English. You can also find a full list of containers for supported languages using the [tags on the MCR](https://mcr.microsoft.com/product/azure-cognitive-services/textanalytics/clu/tags).
56+
57+
The latest CLU container is available in several languages. To download the container for the English container, use the command below.
58+
59+
```
60+
docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/clu:latest
61+
```
62+
63+
[!INCLUDE [Tip for using docker list](../../../includes/cognitive-services-containers-docker-list-tip.md)]
64+
65+
## Run the container with `docker run`
66+
67+
Once the container is on the host computer, use the [docker run](https://docs.docker.com/engine/reference/commandline/run/) command to run the containers. The container will continue to run until you stop it. Replace the placeholders below with your own values:
68+
69+
70+
> [!IMPORTANT]
71+
> * The docker commands in the following sections use the back slash, `\`, as a line continuation character. Replace or remove this based on your host operating system's requirements.
72+
> * The `Eula`, `Billing`, and `ApiKey` options must be specified to run the container; otherwise, the container won't start. For more information, see [Billing](#billing).
73+
74+
To run the CLU container, execute the following `docker run` command. Replace the placeholders below with your own values:
75+
76+
| Placeholder | Value | Format or example |
77+
|-------------|-------|---|
78+
| **{API_KEY}** | The key for your Language resource. You can find it on your resource's **Key and endpoint** page, on the Azure portal. |`xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`|
79+
| **{ENDPOINT_URI}** | The endpoint for accessing the API. You can find it on your resource's **Key and endpoint** page, on the Azure portal. | `https://<your-custom-subdomain>.cognitiveservices.azure.com` |
80+
| **{IMAGE_TAG}** | The image tag representing the language of the container you want to run. Make sure this matches the `docker pull` command you used. | `latest` |
81+
82+
```bash
83+
docker run --rm -it -p 5000:5000 --memory 8g --cpus 1 \
84+
mcr.microsoft.com/azure-cognitive-services/textanalytics/clu:{IMAGE_TAG} \
85+
Eula=accept \
86+
Billing={ENDPOINT_URI} \
87+
ApiKey={API_KEY}
88+
```
89+
90+
This command:
91+
92+
* Runs a *CLU* container from the container image
93+
* Allocates one CPU core and 8 gigabytes (GB) of memory
94+
* Exposes TCP port 5000 and allocates a pseudo-TTY for the container
95+
* Automatically removes the container after it exits. The container image is still available on the host computer.
96+
97+
[!INCLUDE [Running multiple containers on the same host](../../../includes/cognitive-services-containers-run-multiple-same-host.md)]
98+
99+
## Query the container's prediction endpoint
100+
101+
The container provides REST-based query prediction endpoint APIs.
102+
103+
Use the host, `http://localhost:5000`, for container APIs.
104+
105+
<!-- ## Validate container is running -->
106+
107+
[!INCLUDE [Container's API documentation](../../../includes/cognitive-services-containers-api-documentation.md)]
108+
109+
For information on how to call CLU see [our guide](call-api.md).
110+
111+
## Run the container disconnected from the internet
112+
113+
[!INCLUDE [configure-disconnected-container](../../../containers/includes/configure-disconnected-container.md)]
114+
115+
## Stop the container
116+
117+
[!INCLUDE [How to stop the container](../../../includes/cognitive-services-containers-stop.md)]
118+
119+
## Troubleshooting
120+
121+
If you run the container with an output [mount](../../concepts/configure-containers.md#mount-settings) and logging enabled, the container generates log files that are helpful to troubleshoot issues that happen while starting or running the container.
122+
123+
[!INCLUDE [Azure AI services FAQ note](../../../containers/includes/cognitive-services-faq-note.md)]
124+
125+
## Billing
126+
127+
The CLU containers send billing information to Azure, using a _Language_ resource on your Azure account.
128+
129+
[!INCLUDE [Container's Billing Settings](../../../includes/cognitive-services-containers-how-to-billing-info.md)]
130+
131+
For more information about these options, see [Configure containers](../../concepts/configure-containers.md).
132+
133+
## Summary
134+
135+
In this article, you learned concepts and workflow for downloading, installing, and running CLU containers. In summary:
136+
137+
* CLU provides Linux containers for Docker
138+
* Container images are downloaded from the Microsoft Container Registry (MCR).
139+
* Container images run in Docker.
140+
* You must specify billing information when instantiating a container.
141+
142+
> [!IMPORTANT]
143+
> Azure AI containers are not licensed to run without being connected to Azure for metering. Customers need to enable the containers to communicate billing information with the metering service at all times. Azure AI containers do not send customer data (e.g. text that is being analyzed) to Microsoft.
144+
145+
## Next steps
146+
147+
* See [Configure containers](../../concepts/configure-containers.md) for configuration settings.

articles/ai-services/language-service/includes/use-language-studio.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111
---
1212

1313
> [!TIP]
14-
> You can use [**Language Studio**](../language-studio.md) to try Language service features without needing to write code.
14+
> You can use [**AI Studio**](../../../ai-studio/what-is-ai-studio.md) to try summarization without needing to write code.

articles/ai-services/language-service/language-detection/language-support.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,16 @@ If you have content expressed in a less frequently used language, you can try La
3535
| Basque | `eu` | `Latn` |
3636
| Belarusian | `be` | `Cyrl` |
3737
| Bengali | `bn` | `Beng`, `Latn` |
38+
| Bhojpuri | `bho` | `Deva` |
39+
| Bodo | `brx` | `Deva` |
3840
| Bosnian | `bs` | `Latn` |
3941
| Bulgarian | `bg` | `Cyrl` |
4042
| Burmese | `my` | `Mymr` |
4143
| Catalan | `ca` | `Latn` |
4244
| Central Khmer | `km` | `Khmr` |
45+
| Checheni | `ce` | `Cyrl` |
46+
| Chhattisgarhi | `hne` | `Deva` |
47+
| Chinese Literal | `lzh` | `Hani` |
4348
| Chinese Simplified | `zh_chs` | `Hans` |
4449
| Chinese Traditional | `zh_cht` | `Hant` |
4550
| Chuvash | `cv` | `Cyrl` |
@@ -49,6 +54,7 @@ If you have content expressed in a less frequently used language, you can try La
4954
| Danish | `da` | `Latn` |
5055
| Dari | `prs` | `Arab` |
5156
| Divehi | `dv` | `Thaa` |
57+
| Dogri | `dgo` | `Deva` |
5258
| Dutch | `nl` | `Latn` |
5359
| English | `en` | `Latn` |
5460
| Esperanto | `eo` | `Latn` |
@@ -72,29 +78,36 @@ If you have content expressed in a less frequently used language, you can try La
7278
| Igbo | `ig` | `Latn` |
7379
| Indonesian | `id` | `Latn` |
7480
| Inuktitut | `iu` | `Cans`, `Latn` |
81+
| Inuinnaqtun | `ikt` | `Latn` |
7582
| Irish | `ga` | `Latn` |
7683
| Italian | `it` | `Latn` |
7784
| Japanese | `ja` | `Jpan` |
7885
| Javanese | `jv` | `Latn` |
7986
| Kannada | `kn` | `Knda`, `Latn` |
87+
| Kashmiri | `ks` | `Arab`, `Deva`, `Shrd`|
8088
| Kazakh | `kk` | `Cyrl` |
8189
| Kinyarwanda | `rw` | `Latn` |
8290
| Kirghiz | `ky` | `Cyrl` |
91+
| Konkani | `gom` | `Deva` |
8392
| Korean | `ko` | `Hang` |
8493
| Kurdish | `ku` | `Arab` |
94+
| Kurdish (Northern) | `kmr` | `Latn` |
8595
| Lao | `lo` | `Laoo` |
8696
| Latin | `la` | `Latn` |
8797
| Latvian | `lv` | `Latn` |
8898
| Lithuanian | `lt` | `Latn` |
99+
| Lower Siberian | `dsb` | `Latn` |
89100
| Luxembourgish | `lb` | `Latn` |
90101
| Macedonian | `mk` | `Cyrl` |
102+
| Maithili | `mai` | `Deva` |
91103
| Malagasy | `mg` | `Latn` |
92104
| Malay | `ms` | `Latn` |
93105
| Malayalam | `ml` | `Mlym`, `Latn` |
94106
| Maltese | `mt` | `Latn` |
95107
| Maori | `mi` | `Latn` |
96108
| Marathi | `mr` | `Deva`, `Latn` |
97-
| Mongolian | `mn` | `Cyrl` |
109+
| Meitei | `mni` | `Mtei` |
110+
| Mongolian | `mn` | `Cyrl`, `Mong` |
98111
| Nepali | `ne` | `Deva` |
99112
| Norwegian | `no` | `Latn` |
100113
| Norwegian Nynorsk | `nn` | `Latn` |
@@ -108,6 +121,8 @@ If you have content expressed in a less frequently used language, you can try La
108121
| Romanian | `ro` | `Latn` |
109122
| Russian | `ru` | `Cyrl` |
110123
| Samoan | `sm` | `Latn` |
124+
| Sanscrit | `sa` | `Deva` |
125+
| Santali | `sat` | `Olck` |
111126
| Serbian | `sr` | `Latn`, `Cyrl` |
112127
| Shona | `sn` | `Latn` |
113128
| Sindhi | `sd` | `Arab` |

0 commit comments

Comments
 (0)