Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание
Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе Foundry IQ — управляемого слоя знаний, который преобразует корпоративный контент в многократно используемые базы знаний с учетом разрешений доступа для агентов на портале Microsoft Foundry.
Важно
Функции, возможности или свойства, помеченные (предварительная версия), не охватываются соглашением об уровне обслуживания, не рекомендуются для рабочих нагрузок и могут изменяться или ограничиваться до того, как они становятся общедоступными. Условия предварительной версии Поиск с использованием ИИ Azure применяются ко всем функциям предварительной версии, независимо от того, является ли он автономным или частью общедоступной функции.
По умолчанию база знаний в Поиск с использованием ИИ Azure выполняет извлечение данных и возвращает необработанные фрагменты контекста из ваших источников знаний. Извлечение данных полезно для получения конкретных сведений, но не хватает контекста и причин, необходимых для сложных запросов.
Вместо этого можно включить синтез ответов (предварительная версия), который использует LLM, указанный в базе знаний, для ответа на запросы на естественном языке. Каждый ответ содержит ссылки на извлеченные источники и выполняет все предоставленные инструкции, такие как использование маркированных списков.
Это свойство можно задать в базе знаний или запросе на получение. Настройка базы знаний задаёт значение по умолчанию для всех запросов, а настройка запроса retrieve переопределяет это значение для каждого запроса отдельно.
Поддержка использования
| Портал Azure | Портал Microsoft Foundry | Пакет SDK для .NET | Пакет SDK для Python | SDK для Java | Пакет SDK для JavaScript | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Необходимые условия
Служба Поиск с использованием ИИ Azure с базой знаний, в которой указывается LLM.
Разрешение на обновление баз знаний. Настройте проверку подлинности без ключа с помощью роли участника службы поиска , назначенной учетной записи пользователя (рекомендуется) или используйте ключ API администратора.
Для исходящих вызовов к LLM служба поиска должна иметь управляемое удостоверение с правами пользователя служб Cognitive Services для ресурса Microsoft Foundry.
Последний пакет предварительной версии
Azure.Search.Documents:dotnet add package Azure.Search.Documents --prereleaseДля аутентификации без использования ключа пакет
Azure.Identity:dotnet add package Azure.Identity
Последний пакет предварительной версии
azure-search-documents:pip install --pre azure-search-documentsДля аутентификации без использования ключа пакет
azure-identity:pip install azure-identity
2026-08-01-preview — версия REST API службы поиска.
Для проверки подлинности без ключа добавьте маркер Microsoft Entra ID в
Authorizationзаголовок каждого HTTP-запроса.
Ограничения и рекомендации
Параметр
minimalуровня рассуждений при извлечении отключает обработку LLM, поэтому он несовместим с синтезом ответов как в определениях базы знаний, так и в запросах на извлечение. Дополнительные сведения см. в разделе "Настройка усилий по извлечению причин".Синтез ответов влечет расходы при оплате по мере использования в Azure OpenAI, которые зависят от количества входных и выходных токенов. Расходы отображаются в LLM, назначенном базе знаний. Дополнительные сведения см. в разделе "Доступность регионов", "Ограничения" и "Выставление счетов".
Включение синтеза ответов в базе знаний
В этом разделе показано, как включить синтез ответов в существующей базе знаний. Хотя эту конфигурацию можно использовать для новых баз знаний, создание базы знаний выходит за рамки этой статьи.
Установите для OutputMode значение "answerSynthesis" в определении KnowledgeBase. При необходимости задайте AnswerInstructions для настройки выходных данных ответа. В следующем примере базе знаний предписывается Use concise bulleted lists.
var aoaiParams = new AzureOpenAIVectorizerParameters
{
ResourceUri = new Uri("<aoai-endpoint>"),
DeploymentName = "<aoai-gpt-deployment>",
ModelName = "<aoai-gpt-model>",
};
var knowledgeBase = new KnowledgeBase(
name: "<knowledge-base-name>",
knowledgeSources: new[] { new KnowledgeSourceReference("<knowledge-source-name>") })
{
Models = { new KnowledgeBaseAzureOpenAIModel(aoaiParams) },
OutputMode = "answerSynthesis",
AnswerInstructions = "Use concise bulleted lists",
};
await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);
Reference:SearchIndexClient, KnowledgeBase
Установите для output_mode значение "answerSynthesis" в определении KnowledgeBase. При необходимости задайте answer_instructions для настройки выходных данных ответа. В следующем примере базе знаний предписывается Use concise bulleted lists.
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
AzureOpenAIVectorizerParameters,
KnowledgeBase,
KnowledgeBaseAzureOpenAIModel,
KnowledgeSourceReference,
)
aoai_params = AzureOpenAIVectorizerParameters(
resource_url="<aoai-endpoint>",
deployment_name="<aoai-gpt-deployment>",
model_name="<aoai-gpt-model>",
)
knowledge_base = KnowledgeBase(
name="<knowledge-base-name>",
models=[KnowledgeBaseAzureOpenAIModel(azure_open_ai_parameters=aoai_params)],
knowledge_sources=[KnowledgeSourceReference(name="<knowledge-source-name>")],
output_mode="answerSynthesis",
answer_instructions="Use concise bulleted lists",
)
index_client = SearchIndexClient(endpoint=search_endpoint, credential=credential)
index_client.create_or_update_knowledge_base(knowledge_base)
Reference:SearchIndexClient, KnowledgeBase
Установите для outputMode значение "answerSynthesis" в определении базы знаний. При необходимости задайте answerInstructions для настройки выходных данных ответа. В следующем примере базе знаний предписывается Use concise bulleted lists.
### Enable answer synthesis in a knowledge base
PUT {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"name": "{{knowledge-base-name}}",
"knowledgeSources": [ ... // OMITTED FOR BREVITY ],
"models": [ ... // OMITTED FOR BREVITY ],
"outputMode": "answerSynthesis",
"answerInstructions": "Use concise bulleted lists"
}
Справочник:База знаний — создание или обновление
Включение синтеза ответов в запросе на извлечение
Для контроля над форматом ответа для каждого запроса, можно включить синтез ответа в момент выполнения запроса. Этот подход переопределяет выходной режим по умолчанию, указанный в базе знаний.
Установите значение OutputMode"answerSynthesis" в параметре KnowledgeBaseRetrievalRequest.
var client = new KnowledgeBaseRetrievalClient(
endpoint: new Uri(searchEndpoint),
knowledgeBaseName: knowledgeBaseName,
credential: credential);
var request = new KnowledgeBaseRetrievalRequest();
request.Messages.Add(
new KnowledgeBaseMessage(
content: new[]
{
new KnowledgeBaseMessageTextContent("What is healthcare?")
}) { Role = "user" });
request.OutputMode = "answerSynthesis";
var result = await client.RetrieveAsync(request);
Reference:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest
Установите значение output_mode"answerSynthesis" в параметре KnowledgeBaseRetrievalRequest.
from azure.search.documents.knowledgebases import KnowledgeBaseRetrievalClient
from azure.search.documents.knowledgebases.models import (
KnowledgeBaseMessage,
KnowledgeBaseMessageTextContent,
KnowledgeBaseRetrievalRequest,
)
agent_client = KnowledgeBaseRetrievalClient(
endpoint=search_endpoint,
credential=credential,
knowledge_base_name=knowledge_base_name,
)
request = KnowledgeBaseRetrievalRequest(
messages=[
KnowledgeBaseMessage(
role="user",
content=[KnowledgeBaseMessageTextContent(text="What is healthcare?")],
)
],
output_mode="answerSynthesis",
)
result = agent_client.retrieve(retrieval_request=request)
Reference:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest
Задайте значение outputMode"answerSynthesis" для запроса на получение.
### Enable answer synthesis in a retrieve request
POST {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}/retrieve?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "What is healthcare?"
}
]
}
],
"outputMode": "answerSynthesis"
}
Reference:Knowledge Retrieval — восстановление
Получение синтезированного ответа
Если синтез ответа включен, база знаний возвращает ответ естественного языка на основе инструкций, которые вы дополнительно указали в базе знаний. Ссылки на источники знаний форматируются как [ref_id:<number>].
Например, если ваши инструкции — Use concise bulleted lists, а ваш запрос — What is healthcare?, ответ должен быть похож на следующий пример.
{
"response": [
{
"content": [
{
"type": "text",
"text": "- Healthcare encompasses various services provided to patients and the general population ..."
}
]
}
]
}
Полные text выходные данные приведены следующим образом:
"- Healthcare encompasses various services provided to patients and the general population, including primary health services, hospital care, dental care, mental health services, and alternative health services [ref_id:1].\n- It involves the delivery of safe, effective, patient-centered care through different modalities, such as in-person encounters, shared medical appointments, and group education sessions [ref_id:0].\n- Behavioral health is a significant aspect of healthcare, focusing on the connection between behavior and overall health, including mental health and substance use [ref_id:2].\n- The healthcare system aims to ensure quality of care, access to providers, and accountability for positive outcomes while managing costs effectively [ref_id:2].\n- The global health system is evolving to address complex health needs, emphasizing the importance of cross-sectoral collaboration and addressing social determinants of health [ref_id:4]."
В зависимости от конфигурации базы знаний ответ может содержать другие сведения, такие как журналы действий и эталонные массивы. Дополнительные сведения см. в статье "Создание базы знаний".
Связанное содержимое
- Создание базы знаний
- Запрос базы знаний
- Краткое руководство: Агентный поиск (с использованием синтеза ответов)
- Пример Python: источник знаний Поиск с использованием ИИ Azure для BLOB-объектов (с использованием синтеза ответов)