К основному содержанию
скилл

azure-ai-language-conversations-py — скилл для Claude Code: CLU

Скилл для работы с Conversational Language Understanding через Python SDK: разбор интентов и сущностей в диалогах. Пригодится, если пишешь NLP-фичи на Azure.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add microsoft/skills --skill azure-ai-language-conversations-py -a claude-code
Открыть на GitHub

Что делает azure-ai-language-conversations-py

Скилл превращает Claude в помощника по azure-ai-language-conversations. Внутри — системный промпт, который задаёт роль эксперта по Azure AI Services и NLP, и набор правил: брать свежую версию SDK, работать через ConversationAnalysisClient, показывать структуру payload для анализа диалога и обрабатывать исключения.

Аутентификация — через DefaultAzureCredential. Он одинаково работает локально (Azure CLI, VS Code, Developer CLI) и в Azure (managed identity, workload identity), поэтому код не придётся переписывать при переезде в прод. Для продакшена скилл советует выставить AZURE_TOKEN_CREDENTIALS=prod, чтобы сузить цепочку до безопасных учёток. AzureKeyCredential оставлен для уже существующих keyed-развёртываний, которые ещё не перешли на Entra ID.

Ещё одно требование — оборачивать клиент в контекстный менеджер: with ConversationAnalysisClient(...) as client: для синхронного кода и async with для асинхронного, вместе с async with DefaultAzureCredential(). Иначе сокеты и кэш токенов освобождаются не сразу. Смешивать синхронные клиенты azure.ai.language.conversations с асинхронными из .aio в одном пути вызова нельзя — выбери один режим на модуль. Понадобятся переменные окружения для endpoint, имени проекта и deployment.

Какие задачи решает

  • разобрать интент и сущности в реплике пользователя
  • собрать payload для analyze_conversation без ошибок в структуре
  • перевести аутентификацию с API-ключа на DefaultAzureCredential
  • выбрать между синхронным и асинхронным клиентом и не смешать их
  • закрывать HTTP-транспорты и кэш токенов через контекстный менеджер

Примеры запросов агенту

  • Покажи, как через ConversationAnalysisClient разобрать интент в фразе про встречу
  • Перепиши этот код на DefaultAzureCredential вместо AzureKeyCredential
  • Сделай асинхронный вариант анализа диалога с async with для клиента и credential

Как установить azure-ai-language-conversations-py

1Через Skills CLI (Vercel)

npx skills add microsoft/skills --skill azure-ai-language-conversations-py -a claude-code

2Вручную: положить файлы

~/.claude/skills/azure-ai-language-conversations-py/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/azure-ai-language-conversations-py/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о azure-ai-language-conversations-py

Как установить azure-ai-language-conversations-py в Claude?

Выполни npx skills add microsoft/skills --skill azure-ai-language-conversations-py -a claude-code. После этого скилл появится в ~/.claude/skills/azure-ai-language-conversations-py/SKILL.md.

Что делает azure-ai-language-conversations-py?

Помогает писать код на Python для Conversational Language Understanding: анализ интентов и сущностей через ConversationAnalysisClient, работа с payload диалога, обработка исключений.

Что нужно для работы скилла?

Переменные окружения для endpoint, имени проекта и deployment, а также доступ к Azure через DefaultAzureCredential или существующий API-ключ.

Исходный текст

SKILL.md · MIT
---
name: azure-ai-language-conversations-py
description: Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.
license: MIT
metadata:
  author: Microsoft
  version: "1.0.0"
---

# Azure AI Language Conversations for Python

## System Prompt
You are an expert Python developer specializing in Azure AI Services and Natural Language Processing.
Your task is to help users implement Conversational Language Understanding (CLU) using the `azure-ai-language-conversations` SDK.

When responding to requests about Azure AI Language Conversations:
1. Always use the latest version of the `azure-ai-language-conversations` SDK.
2. Emphasize the use of `ConversationAnalysisClient` with `DefaultAzureCredential`.
3. Provide clear code examples demonstrating how to structure the conversation payload.
4. Handle exceptions properly.

## Authentication & Lifecycle

> **🔑 Two rules apply to every code sample below:**
>
> 1. **Prefer `DefaultAzureCredential`.** It works locally (Azure CLI / VS Code / Developer CLI) and in Azure (managed identity, workload identity) with no code change. Avoid connection strings, account/API keys — they bypass Entra audit and rotation.
>    - Local dev: `DefaultAzureCredential` works as-is.
>    - Production: set `AZURE_TOKEN_CREDENTIALS=prod` (or `AZURE_TOKEN_CREDENTIALS=<specific_credential>`) to constrain the credential chain to production-safe credentials.
> 2. **Wrap every client in a context manager** so HTTP transports, sockets, and token caches are released deterministically:
>    - Sync: `with <Client>(...) as client:`
>    - Async: `async with <Client>(...) as client:` **and** `async with DefaultAzureCredential() as credential:` (from `azure.identity.aio`)
>
> Snippets may abbreviate this setup, but production code should always follow both rules.

`ConversationAnalysisClient` accepts a `TokenCredential` such as `DefaultAzureCredential`. Use the token credential — it works locally (Azure CLI / VS Code / Developer CLI) and in Azure (managed identity, workload identity) with no code change.

### Legacy: API Key (existing keyed deployments)

New code should use `DefaultAzureCredential`. Use `AzureKeyCredential` only if you have an existing keyed deployment that hasn't been migrated to Entra ID yet — for example, regulated environments still completing their Entra rollout.

```python
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.language.conversations import ConversationAnalysisClient

endpoint = os.environ["AZURE_CONVERSATIONS_ENDPOINT"]
key = os.environ["AZURE_CONVERSATIONS_KEY"]

with ConversationAnalysisClient(endpoint, AzureKeyCredential(key)) as client:
    # See "Basic Conversation Analysis" below for the analyze_conversation payload
    ...
```

## Best Practices
- **Pick sync OR async and stay consistent.** Do not mix `azure.ai.language.conversations` sync clients with `azure.ai.language.conversations.aio` async clients in the same call path. Choose one mode per module.
- **Always use context managers for clients and async credentials.** Wrap every client in `with ConversationAnalysisClient(...) as client:` (sync) or `async with ConversationAnalysisClient(...) as client:` (async). For async `DefaultAzureCredential` from `azure.identity.aio`, also use `async with credential:` so tokens and transports are cleaned up.
- **Use `DefaultAzureCredential`** for portable auth across local dev and Azure (avoid API keys; they bypass Entra audit and rotation).
- Use environment variables for the endpoint, project name, and deployment name.
- Clearly map the `participantId` and `id` in the `conversationItem` payload.

## Examples

### Basic Conversation Analysis
```python
import os
from azure.identity import DefaultAzureCredential
from azure.ai.language.conversations import ConversationAnalysisClient

endpoint = os.environ["AZURE_CONVERSATIONS_ENDPOINT"]
project_name = os.environ["AZURE_CONVERSATIONS_PROJECT"]
deployment_name = os.environ["AZURE_CONVERSATIONS_DEPLOYMENT"]

# DefaultAzureCredential works locally and in Azure with no code change.
credential = DefaultAzureCredential()

with ConversationAnalysisClient(endpoint, credential) as client:
    query = "Send an email to Carol about the tomorrow's meeting"
    result = client.analyze_conversation(
        task={
            "kind": "Conversation",
            "analysisInput": {
                "conversationItem": {
                    "participantId": "1",
                    "id": "1",
                    "modality": "text",
                    "language": "en",
                    "text": query
                },
                "isLoggingEnabled": False
            },
            "parameters": {
                "projectName": project_name,
                "deploymentName": deployment_name,
                "verbose": True
            }
        }
    )

    print(f"Top intent: {result['result']['prediction']['topIntent']}")
```

## Reference Files

| File | Contents |
|------|----------|
| [references/capabilities.md](references/capabilities.md) | Additional non-hero capabilities, operation-group coverage, and production checklists. |
| [references/non-hero-scenarios.md](references/non-hero-scenarios.md) | Dedicated non-hero examples for secondary/advanced scenarios. |

© Microsoft · MIT · microsoft/skills

Похожие скиллы

Всё по теме «ИИ и ML» →
python-azure-iot-edge-modules официальный github Скилл помогает проектировать и развертывать модули Azure IoT Edge на Python. Пригодится для фильтрации телеметрии, адаптеров протоколов и локального инференса. 47установок azure-speech-to-text calesthio Транскрибирует аудио в текст через REST API Azure AI Speech с таймкодами слов и разделением по спикерам. Помогает собирать субтитры в пайплайнах OpenMontage без долгой локальной обработки. CX Codex +1 775установок azure-text-to-speech calesthio Генерирует закадровую озвучку через Azure AI Speech REST API. Помогает озвучивать видео в OpenMontage качественными нейросетевыми голосами. CX Codex +1 601установок azure-architecture MicrosoftDocs Скилл с подборкой референсных архитектур, паттернов и руководств по миграции в Azure. Пригодится, когда проектируешь RAG, AKS или переезд с mainframe. CX Codex +1 413установок azure-functions MicrosoftDocs Скилл с экспертной базой по Azure Functions: диагностика ошибок, лимиты, безопасность, привязки и деплой. Пригодится, когда агент пишет или чинит функции в Azure. CX Codex +1 378установок dataverse-python-best-practices официальный github Правило для GitHub Copilot с рабочими шаблонами работы с Dataverse SDK для Python: авторизация, клиент, CRUD-операции. ★ 40 418звёзд репо

Из того же набора64

Весь набор →
azure-appconfiguration-ts Скилл учит агента работать с Azure App Configuration из TypeScript: настройки, фичефлаги, ссылки на Key Vault и динамическое обновление. 1установок azure-ai-projects-ts Подсказывает агенту, как работать с Azure AI Projects SDK для JavaScript: агенты, подключения, деплойменты, датасеты, индексы и оценки. 1установок azure-monitor-opentelemetry-exporter-py Скилл для низкоуровневой отправки трейсов, метрик и логов OpenTelemetry в Application Insights из Python. Пригодится, когда нужен свой конвейер телеметрии. 1установок azure-messaging-webpubsubservice-py Скилл по Python SDK для Azure Web PubSub Service: рассылка сообщений по WebSocket, группы, токены доступа и управление подключениями. 1установок microsoft-azure-webjobs-extensions-authentication-events-dotnet Скилл для работы с кастомными событиями аутентификации Microsoft Entra ID в .NET: добавление claims в токены, сбор атрибутов, OTP. 1установок azure-security-keyvault-keys-dotnet Скилл для работы с ключами Azure Key Vault и Managed HSM из .NET: создание, ротация, шифрование, подпись. Пригодится, когда агент пишет код на C#. 1установок azure-resource-manager-mysql-dotnet Скилл учит агента управлять MySQL Flexible Server в Azure через .NET SDK: серверы, базы, правила файрвола, параметры и бэкапы. 1установок azure-ai-voicelive-dotnet Скилл по Azure AI Voice Live SDK для .NET: помогает собрать голосового ассистента с двусторонним обменом аудио по WebSocket. 1установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой