Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Эта функция сейчас доступна в общедоступной предварительной версии. Этот предварительный просмотр предоставляется без соглашения об уровне обслуживания и не предназначается для производственных рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Для получения дополнительной информации см. Дополнительные условия использования для предварительных версий Microsoft Azure.
Навык запроса на выполнение запроса на выполнение чата в отношении крупной языковой модели (LLM), развернутой в Azure AI Foundry или Azure OpenAI в моделях Azure AI Foundry.
Используйте эту возможность для создания новых сведений, которые можно индексировать и хранить в виде содержимого, доступного для поиска. Примеры включают словесную визуализацию, обобщение более крупных фрагментов, упрощение сложного содержимого или любую другую задачу, которую может выполнить LLM. Навык поддерживает текст, изображение и многомодальное содержимое, например PDF-файл, содержащий текст и изображения. Обычно этот навык используется вместе с навыком фрагментирования данных. В следующих руководствах демонстрируются сценарии словизации изображений с двумя различными методами блокирования данных:
Навык запроса GenAI доступен только в REST API 2025-05-01-preview .
Поддерживаемые модели
Вы можете использовать любую модель вывода чата , развернутую в AI Foundry, например модели GPT, Deepseek R#, Llama-4-Mavericj, Cohere-command-r и т. д.
Выставление счетов основано на ценах используемой модели.
Замечание
Служба поиска подключается к модели через общедоступную конечную точку, поэтому нет требований к расположению региона, но если вы используете все решение Azure, необходимо проверить регионы поиска ИИ Azure и регионы модели Azure OpenAI , чтобы найти подходящие пары, особенно если у вас есть требования к расположению данных.
Предпосылки
Развернутая модель завершения чата (например , gpt-4o или любая совместимая модель с открытым исходным кодом (OSS) в Azure AI Foundry или Azure OpenAI.
Скопируйте конечную точку из моделей и конечных точек на портале Foundry или из поддомена ресурса Azure OpenAI (
*.openai.azure.com
).Укажите эту конечную точку в параметре
Uri
определения навыка.
Проверка подлинности может быть основана на ключах API из ресурса Azure AI Foundry или Azure OpenAI. Однако рекомендуется использовать управляемое удостоверение службы поиска , назначенное роли.
В Azure OpenAI назначьте пользователя OpenAI Cognitive Services управляемому удостоверению.
Для моделей ИИ Foundry назначьте пользователя ИИ Azure.
@odata.type
#Microsoft.Skills.Custom.ChatCompletionSkill
Ограничения данных
Лимит | Примечания. |
---|---|
maxTokens |
Значение по умолчанию — 1024 , если опущено. Максимальное значение зависит от модели. |
Время ожидания запроса | 30 секунд (по умолчанию). Переопределите свойство timeout (PT##S ). |
Изображения | Поддерживаются базовые 64-кодированные изображения и URL-адреса изображений. Ограничение размера зависит от модели. |
Параметры навыков
Недвижимость | Тип | Обязательно | Примечания. |
---|---|---|---|
uri |
струна | Да | Общедоступная конечная точка развернутой модели. |
apiKey |
струна | Cond.* | Секретный ключ для модели. Оставьте пустым при использовании управляемого удостоверения. |
authIdentity |
струна | Cond.* | Идентификатор клиента управляемого удостоверения, назначаемого пользователем (только Azure OpenAI). Оставьте пустым, чтобы использовать удостоверение, назначаемое системой . |
commonModelParameters |
объект | нет | Стандартные элементы управления поколения, такие как temperature , maxTokens и т. д. |
extraParameters |
объект | нет | Откройте словарь, передаваемый в API базовой модели. |
extraParametersBehavior |
струна | нет |
"pass-through"
|
"drop"
|
"error" (по умолчанию "error" ). |
responseFormat |
объект | нет | Определяет, возвращает ли модель текст, объект JSON свободной формы или строго типизированную схему JSON.
responseFormat Примеры полезных данных: {responseFormat: { type: text }}, {responseFormat: { type: json_object }}, {responseFormat: { type: json_schema }} |
*
Необходимо использовать именно одно изapiKey
authIdentity
удостоверений, назначаемых системой, или удостоверение, назначаемое системой.
commonModelParameters
По умолчанию
Параметр | По умолчанию |
---|---|
model |
(по умолчанию для развертывания) |
frequencyPenalty |
0 |
presencePenalty |
0 |
maxTokens |
1024 |
temperature |
0,7 |
seed |
нулевой |
stop |
нулевой |
Входные данные навыков
Ввод имени | Тип | Обязательно | Описание |
---|---|---|---|
systemMessage |
струна | Да | Инструкции на уровне системы (например, "Вы полезный помощник".) |
userMessage |
струна | Да | Запрос пользователя. |
text |
струна | нет | Необязательный текст, добавленный в userMessage (сценарии только для текста). |
image |
string (Base 64 data-URL) | нет | Добавляет изображение в запрос (только мультимодальные модели). |
imageDetail |
string (low | | high auto ) |
нет | Указание точности для многомодальных моделей Azure OpenAI. |
Выходные данные навыка
Название вывода | Тип | Описание |
---|---|---|
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_schema
GPT-4o для надежного структурированного извлечения и упрощения сопоставления с полями индекса. - Отслеживайте использование маркеров и отправляйте запросы на увеличение квоты , если индексатор насыщает ограничения маркеров в минуту (TPM).
Ошибки и предупреждения
Состояние | Результат |
---|---|
Отсутствующие или недопустимые uri |
Ошибка |
Метод проверки подлинности не указан | Ошибка |
Оба apiKey и authIdentity предоставленные |
Ошибка |
Неподдерживаемая модель для многомодального запроса | Ошибка |
Входные данные превышают предел маркера модели | Ошибка |
Модель возвращает недопустимый код JSON для json_schema |
Предупреждение — необработанная строка, возвращенная в response |