Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Note
Эта функция сейчас доступна в общедоступной предварительной версии. Этот предварительный просмотр предоставляется без соглашения об уровне обслуживания и не предназначается для производственных рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Для получения дополнительной информации см. Дополнительные условия использования для предварительных версий Microsoft Azure.
Навык запроса genAI (Generative AI) выполняет запрос на завершение чата в крупной языковой модели (LLM), развернутой в Azure OpenAI в модели Foundry или Microsoft Foundry. Используйте этот навык для создания новых сведений, которые можно индексировать и хранить в виде содержимого, доступного для поиска.
Ниже приведены некоторые примеры того, как навык запроса GenAI поможет вам создать содержимое:
- Словесная визуализация изображений
- Суммирование больших фрагментов текста
- Упрощение сложного содержимого
- Выполнение любой другой задачи, которую можно сформулировать в запросе
Навык запроса GenAI доступен в последней предварительной версии REST API. Этот навык поддерживает текст, изображение и многомодальное содержимое, например изображения с визуальными элементами и текстом, извлеченными из PDF-файлов.
Tip
Обычно этот навык используется вместе с навыком фрагментирования данных. В руководстве по многомодальному анализу показана словизация изображений с двумя разными стратегиями блокирования данных.
Поддерживаемые модели
Вы можете использовать любую модель вывода чата , развернутую в Foundry, например модели GPT, Deepseek R#, Llama-4-Mavericj и Cohere-command-r. Для моделей GPT поддерживаются только конечные точки API завершения чата. Конечные точки с помощью API ответов Azure OpenAI (содержащегося
/openai/responsesв URI) в настоящее время не совместимы.Для словесности изображений модель, используемая для анализа изображения, определяет поддерживаемые форматы изображений.
Для моделей
temperatureGPT-5 параметр не поддерживается так же, как и предыдущие модели. Если оно определено, оно должно иметь1.0значение, так как другие значения приводят к ошибкам.Выставление счетов основано на ценах используемой модели.
Note
Служба поиска подключается к модели через общедоступную конечную точку, поэтому нет требований к расположению региона, но если вы используете все решение Azure, необходимо проверить регионы поиска ИИ Azure и регионы модели Azure OpenAI , чтобы найти подходящие пары, особенно если у вас есть требования к расположению данных.
Prerequisites
Поддерживаемая модель, развернутая в ресурсе или проекте.
Для Azure OpenAI скопируйте конечную точку с
openai.azure.comдоменом на странице "Ключи и конечная точка " на портале Azure. Используйте эту конечную точкуUriдля параметра в этом навыке.Для Foundry скопируйте целевой универсальный код ресурса (URI) для развертывания на странице "Модели " на портале Foundry. Используйте эту конечную точку
Uriдля параметра в этом навыке.
Проверка подлинности может быть основана на ключах API из ресурса Foundry или Azure OpenAI. Однако рекомендуется использовать управляемое удостоверение службы поиска , назначенное роли.
В Azure OpenAI назначьте пользователя OpenAI Cognitive Services управляемому удостоверению.
В Foundry назначьте пользователя ИИ Azure управляемому удостоверению.
@odata.type
#Microsoft.Skills.Custom.ChatCompletionSkill
Ограничения данных
| Limit | Notes |
|---|---|
maxTokens |
Значение по умолчанию — 1024 , если опущено. Максимальное значение зависит от модели. |
| Время ожидания запроса | 30 секунд (по умолчанию). Переопределите свойство timeout (PT##S). |
| Images | Поддерживаются базовые 64-кодированные изображения и URL-адреса изображений. Ограничение размера зависит от модели. |
Параметры навыков
| Property | Type | Required | Notes |
|---|---|---|---|
uri |
string | Yes | Общедоступная конечная точка развернутой модели. Поддерживаемые домены:
|
apiKey |
string | Cond.* | Секретный ключ для модели. Оставьте пустым при использовании управляемого удостоверения. |
authIdentity |
string | Cond.* | Идентификатор клиента управляемого удостоверения, назначаемого пользователем (только Azure OpenAI). Оставьте пустым, чтобы использовать удостоверение, назначаемое системой . |
commonModelParameters |
object | No | Стандартные элементы управления поколения, такие как temperature, maxTokensи т. д. |
extraParameters |
object | No | Откройте словарь, передаваемый в API базовой модели. |
extraParametersBehavior |
string | No |
"pass-through"
|
"drop"
|
"error" (по умолчанию "error"). |
responseFormat |
object | No | Определяет, возвращает ли модель текст, объект JSON свободной формы или строго типизированную схему JSON.
responseFormat Примеры полезных данных: {responseFormat: { type: text }}, {responseFormat: { type: json_object }}, {responseFormat: { type: json_schema }} |
*
Необходимо использовать именно одно изapiKeyauthIdentityудостоверений, назначаемых системой, или удостоверение, назначаемое системой.
commonModelParameters По умолчанию
| Parameter | Default |
|---|---|
model |
(по умолчанию для развертывания) |
frequencyPenalty |
0 |
presencePenalty |
0 |
maxTokens |
1024 |
temperature |
0.7 |
seed |
null |
stop |
null |
Входные данные навыков
| Входное имя | Type | Required | Description |
|---|---|---|---|
systemMessage |
string | Yes | Инструкции на уровне системы (например, "Вы полезный помощник".) |
userMessage |
string | Yes | Запрос пользователя. |
text |
string | No | Необязательный текст, добавленный в userMessage (сценарии только для текста). |
image |
string (Base 64 data-URL) | No | Добавляет изображение в запрос (только мультимодальные модели). |
imageDetail |
string (low | | highauto) |
No | Указание точности для многомодальных моделей Azure OpenAI. |
Выходные данные навыка
| Название вывода | Type | Description |
|---|---|---|
response |
объект string или JSON | Выходные данные модели в формате, запрошенном responseFormat.type. |
usageInformation |
Объект JSON | Количество маркеров и эхо параметров модели. |
Примеры определений
Сводка только для текста
{
"@odata.type": "#Microsoft.Skills.Custom.ChatCompletionSkill",
"name": "Summarizer",
"description": "Summarizes document content.",
"context": "/document",
"timeout": "PT30S",
"inputs": [
{ "name": "text", "source": "/document/content" },
{ "name": "systemMessage", "source": "='You are a concise AI assistant.'" },
{ "name": "userMessage", "source": "='Summarize the following text:'" }
],
"outputs": [ { "name": "response" } ],
"uri": "https://demo.openai.azure.com/openai/deployments/gpt-4o/chat/completions",
"apiKey": "<api-key>",
"commonModelParameters": { "temperature": 0.3 }
}
Описание текста и изображения
{
"@odata.type": "#Microsoft.Skills.Custom.ChatCompletionSkill",
"name": "Image Describer",
"context": "/document/normalized_images/*",
"inputs": [
{ "name": "image", "source": "/document/normalized_images/*/data" },
{ "name": "imageDetail", "source": "=high" },
{ "name": "systemMessage", "source": "='You are a useful AI assistant.'" },
{ "name": "userMessage", "source": "='Describe this image:'" }
],
"outputs": [ { "name": "response" } ],
"uri": "https://demo.openai.azure.com/openai/deployments/gpt-4o/chat/completions",
"authIdentity": "11111111-2222-3333-4444-555555555555",
"responseFormat": { "type": "text" }
}
Структурированный числовый поиск фактов
{
"@odata.type": "#Microsoft.Skills.Custom.ChatCompletionSkill",
"name": "NumericalFactFinder",
"context": "/document",
"inputs": [
{ "name": "systemMessage", "source": "='You are an AI assistant that helps people find information.'" },
{ "name": "userMessage", "source": "='Find all the numerical data and put it in the specified fact format.'"},
{ "name": "text", "source": "/document/content" }
],
"outputs": [ { "name": "response" } ],
"uri": "https://demo.openai.azure.com/openai/deployments/gpt-4o/chat/completions",
"apiKey": "<api-key>",
"responseFormat": {
"type": "json_schema",
"jsonSchemaProperties": {
"name": "NumericalFactObj",
"strict": true,
"schema": {
"type": "object",
"properties": "{\"facts\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"number\":{\"type\":\"number\"},\"fact\":{\"type\":\"string\"}},\"required\":[\"number\",\"fact\"]}}}",
"required": [ "facts" ],
"additionalProperties": false
}
}
}
}
Пример выходных данных (усеченный)
{
"response": {
"facts": [
{ "number": 32.0, "fact": "Jordan scored 32 points per game in 1986-87." },
{ "number": 6.0, "fact": "He won 6 NBA championships." }
]
},
"usageInformation": {
"usage": {
"completion_tokens": 203,
"prompt_tokens": 248,
"total_tokens": 451
}
}
}
Лучшие практики
- Фрагменты длинных документов с навыком разделения текста , чтобы оставаться в окне контекста модели.
- Для индексирования больших объемов следует выделить отдельное развертывание модели для этого навыка, чтобы квоты маркеров для рабочих нагрузок RAG во время запроса остаются не затронутыми.
- Чтобы свести к минимуму задержку, найдите модель и службу поиска ИИ Azure в одном регионе Azure.
- Используйте
responseFormat.json_schemaGPT-4o для надежного структурированного извлечения и упрощения сопоставления с полями индекса. - Отслеживайте использование маркеров и отправляйте запросы на увеличение квоты , если индексатор насыщает ограничения маркеров в минуту (TPM).
Ошибки и предупреждения
| Condition | Result |
|---|---|
Отсутствующие или недопустимые uri |
Error |
| Метод проверки подлинности не указан | Error |
Оба apiKey и authIdentity предоставленные |
Error |
| Неподдерживаемая модель для многомодального запроса | Error |
| Входные данные превышают предел маркера модели | Error |
Модель возвращает недопустимый код JSON для json_schema |
Предупреждение — необработанная строка, возвращенная в response |