Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Note
Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе Foundry IQ — управляемого слоя знаний, который преобразует корпоративный контент в многократно используемые базы знаний с учетом разрешений доступа для агентов на портале Microsoft Foundry.
Important
Функции, возможности или свойства, помеченные (предварительная версия), не охватываются соглашением об уровне обслуживания, не рекомендуются для рабочих нагрузок и могут изменяться или ограничиваться до того, как они становятся общедоступными. Условия предварительной версии Поиск с использованием ИИ Azure применяются ко всем функциям предварительной версии, независимо от того, является ли он автономным или частью общедоступной функции.
При подключении к Work IQ могут возникнуть расходы, а данные могут передаваться за пределы границы соответствия требованиям Azure и обрабатываться в соответствии с применимыми условиями обслуживания и политиками обработки данных.
Источник знаний Work IQ (предварительная версия) подключает Work IQ к агентному конвейеру извлечения в Поиск с использованием ИИ Azure. Источники знаний создаются независимо, ссылаются в базе знаний и используются в качестве базирования данных при запросе базы знаний во время выполнения.
Work IQ предоставляет организационную аналитику на основе вашего содержимого Microsoft 365, включая документы, электронные письма, собрания и действия в приложениях Microsoft 365.
В отличие от индексированных источников знаний, источники знаний Work IQ напрямую запрашивают актуальные данные в момент извлечения. Конвейер приема не требуется. Для запросов требуется маркер доступа пользователя, выданный для регистрации приложения Microsoft Entra. Поиск с использованием ИИ Azure обменивает этот токен на делегированный токен Work IQ и вызывает Work IQ от имени пользователя.
Предупреждение
В этой предварительной версии источник знаний Work IQ может использовать возможности Work IQ для выполнения действий, а не только для извлечения сведений. Используйте его с осторожностью, ограничьте доступ к доверенным приложениям и пользователям, а также просмотрите разрешения сценария и элементы управления управления, прежде чем включить его.
Поддержка использования
| Портал Azure | Портал Microsoft Foundry | Пакет SDK для .NET | Пакет SDK для Python | SDK для Java | Пакет SDK для JavaScript | REST API |
|---|---|---|---|---|---|---|
| ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ✔️ |
Необходимые условия
Служба Поиск с использованием ИИ Azure в любом регионе, который предоставляет агентский доступ.
Тарифный план с оплатой по мере использования для Work IQ, настроенный в Copilot Studio с использованием подписки Azure и группы ресурсов. Назначьте каждому пользователю, использующему Work IQ, тарифный план.
Ваш арендатор Microsoft Entra включен для Work IQ. После настройки выставления счетов глобальный администратор Microsoft Entra выполняет эту одноразовую настройку.
Клиентское приложение, которое выполняет вход пользователей в систему и отправляет запросы на извлечение.
Рекомендуемые Microsoft Entra роли для каждого действия установки приложения:
Разработчик приложений для создания регистрации приложения.
Владелец регистрации приложения или пользователь с одной из поддерживаемых ролей администратора может создать его учетные данные федеративной идентификации.
Администратор облачных приложений или администратор приложений для предоставления согласия администратора на уровне клиента для
WorkIQAgent.Askделегированного разрешения.
Разрешение на создание источников знаний. Настройте проверку подлинности без ключа с помощью роли участника службы поиска , назначенной учетной записи пользователя (рекомендуется) или используйте ключ API администратора.
Последний пакет предварительной версии
Azure.Search.Documents:dotnet add package Azure.Search.Documents --prereleaseДля аутентификации без использования ключа пакет:
Azure.Identitydotnet add package Azure.Identity
Последний пакет предварительной версии
azure-search-documents:pip install --pre azure-search-documentsДля аутентификации без использования ключа пакет:
azure-identitypip install azure-identity
2026-08-01-preview — версия REST API службы поиска.
Для проверки подлинности без ключа добавьте маркер Microsoft Entra ID в
Authorizationзаголовок каждого HTTP-запроса.
Управление данными и соответствие требованиям
Прежде чем включить функцию извлечения Work IQ, ознакомьтесь со статьёй «Данные, конфиденциальность и безопасность Microsoft Copilot».
Использование и конфиденциальность данных
Запросы, ответы и данные, доступные через Microsoft Graph, не используются для обучения базовых языковых моделей.
Управление доступом
Work IQ применяет разрешения Microsoft 365 при каждом запросе. Извлечение возвращает только данные организации, к которым у вошедшего в систему пользователя есть доступ.
Размещение данных и соблюдение нормативных требований
Ознакомьтесь с Microsoft 365 документацией по месту расположения данных, конфиденциальности, безопасности и соответствия требованиям, которые применяются к вашей организации и сценарию.
Настройка аутентификации Microsoft Entra
Начиная с версии API 2026-08-01-preview, каждый источник знаний Work IQ использует для аутентификации регистрацию приложения Microsoft Entra, принадлежащую клиенту.
Во время запроса проверка подлинности выполняется следующим образом:
- Клиентское приложение выполняет вход пользователя в систему и отправляет утверждение о пользователе в Поиск с использованием ИИ Azure.
- Управляемое удостоверение службы поиска проходит аутентификацию как принадлежащее клиенту приложение с помощью федеративных учетных данных.
- Поиск с использованием ИИ Azure обменивает утверждение пользователя на делегированный токен Work IQ и вызывает Work IQ от имени пользователя, выполнившего вход.
Секрет клиента не хранится в источнике знаний Work IQ. Один раз настройте приложение и его разрешения, а затем создайте федеративные учетные данные для каждого удостоверения службы поиска, которое использует это приложение.
Настройка регистрации приложения Work IQ
Чтобы настроить приложение, принадлежащее клиенту, которое Поиск с использованием ИИ Azure использует для вызова Work IQ:
Зарегистрируйте приложение в клиенте Microsoft Entra, где вы хотите управлять согласием Work IQ. Для параметра Поддерживаемые типы учетных записей выберите Учетные записи только в этом каталоге организации.
На странице регистрации приложения Обзор скопируйте идентификатор приложения (клиента) и идентификатор каталога (тенанта). Вам потребуется идентификатор приложения, чтобы настроить проверку подлинности Work IQ и идентификатор клиента для входа в клиент, содержащий регистрацию приложения.
На странице "Предоставление доступа к API" регистрации приложения добавьте требуемую делегированную область с именем
access_as_userточно. Используйте это имя в нижнем регистре; не подставляйте другое имя области видимости. Полный диапазон:api://<application-client-id>/access_as_user.На странице регистрации приложения Разрешения API выберите Добавить разрешение>API, используемые моей организацией.
Найдите рабочий IQ (идентификатор
fdcc1f02-fc51-4226-8753-f668596af7f7приложения), выберите делегированные разрешения>WorkIQAgent.Ask, а затем нажмите кнопку "Добавить разрешения".У администратора есть роль согласия, указанная в предварительных требованиях, выберите "Предоставить согласие администратора" для [вашего клиента] на той же странице. Это согласие позволяет приложению обменять подтверждение пользователя на делегированный токен Work IQ.
Настройте идентификацию службы поиска
Чтобы настроить удостоверение, которое Поиск с использованием ИИ Azure использует для аутентификации в качестве приложения Work IQ:
Включите управляемую идентичность, назначаемую системой для службы поиска. Если вы не можете использовать назначаемое системой удостоверение, настройте ровно одно удостоверение, назначаемое пользователем. Служба поиска с несколькими удостоверениями, назначаемыми пользователем, и без удостоверения, назначаемого системой, не поддерживается.
На странице Identity службы поиска скопируйте идентификатор объекта (субъекта-службы). Федеративные учетные данные используют это значение как его
subject.Перейдите к Microsoft Entra ID>Overview и скопируйте идентификатор клиента. Для федеративных учетных данных используется это значение в URL-адресе
issuer.
Создать федеративную учетную запись
Чтобы создать федеративные учетные данные для удостоверения службы поиска:
Создайте файл с именем
credential.json. Замените<search-service-name>,<search-service-tenant-id>а<search-service-principal-id>также значениями для службы поиска.{ "name": "<search-service-name>-identity", "issuer": "https://login.microsoftonline.com/<search-service-tenant-id>/v2.0", "subject": "<search-service-principal-id>", "audiences": ["api://AzureADTokenExchange"] }Имя учетных данных должно быть уникальным для регистрации приложения. Значение
subjectдолжно в точности соответствовать идентификатору субъекта управляемой идентификации. Несоответствие возникает при запросе, а не при создании источника знаний.Войдите в Azure CLI с помощью клиента, содержащего регистрацию приложения.
az login --tenant <app-tenant-id> --allow-no-subscriptionsСоздайте федеративные учетные данные.
az ad app federated-credential create --id <application-client-id> --parameters credential.json --query id --output tsvСкопируйте выходные данные команды. Используйте это значение
federatedCredentialIdпри создании источника знаний Work IQ.
Каждые федеративные учетные данные доверяют одному идентификатору субъекта управляемой идентичности. Если другое удостоверение службы поиска использует регистрацию приложения, повторите эту процедуру с уникальным именем учетных данных и идентификаторами клиента и участника этого удостоверения. Используйте соответствующий идентификатор учетных данных для каждого источника знаний в Work IQ.
Настройка клиентского приложения
Чтобы настроить приложение, которое выполняет вход пользователей в систему и отправляет запросы на извлечение:
На странице Разрешения API клиентского приложения выберите Добавить разрешение>API, используемые моей организацией.
Вставьте идентификатор приложения (клиента), скопированный ранее в поле поиска, а затем выберите регистрацию приложения Work IQ.
Выберите делегированные> разрешенияaccess_as_user, а затем нажмите кнопку "Добавить разрешения".
Выполните любое согласие, необходимое политикой согласия пользователя вашего клиента. Если требуется согласие администратора, попросите администратора выбрать Предоставить согласие администратора для [ваш арендатор].
Клиентское приложение теперь может запросить утверждение пользователя для регистрации приложения Work IQ. Разрешение access_as_user не предоставляет клиентскому приложению прямой доступ к Work IQ.
Значения аутентификации
При создании источника знаний Work IQ используйте следующие значения entraAppAuthentication из параметров настройки вашего приложения Microsoft Entra. Каждое предоставляемое вами значение должно быть GUID.
| Недвижимость | Обязательный | Value |
|---|---|---|
applicationId |
Да | Идентификатор приложения (клиента) для регистрации приложения Work IQ. |
federatedCredentialId |
Да | Идентификатор объекта федеративных учетных данных, созданных в приложении. Это не имя учетных данных и не идентификатор субъекта-службы поиска. |
tenantId |
Нет | Идентификатор каталога (клиента) регистрации приложения. Не указывайте это свойство, если регистрация приложения и служба поиска находятся в одном клиенте. Если они находятся в разных арендаторах, это свойство является обязательным. |
Проверка существующих источников знаний
Источник знаний — это объект верхнего уровня, который можно использовать повторно. Знание существующих источников знаний полезно для повторного использования или именования новых объектов.
Выполните следующий код, чтобы перечислить источники знаний по имени и типу.
// List knowledge sources by name and type
using Azure.Search.Documents.Indexes;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
var knowledgeSources = indexClient.GetKnowledgeSourcesAsync();
Console.WriteLine("Knowledge Sources:");
await foreach (var ks in knowledgeSources)
{
Console.WriteLine($" Name: {ks.Name}, Type: {ks.GetType().Name}");
}
Reference:SearchIndexClient
# List knowledge sources by name and type
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
for ks in index_client.list_knowledge_sources():
print(f" - {ks.name} ({ks.kind})")
Reference:SearchIndexClient
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
Authorization: Bearer {{token}}
Справочник:Источники знаний — список
Вы также можете вернуть один источник знаний по имени, чтобы просмотреть его определение JSON.
using Azure.Search.Documents.Indexes;
using System.Text.Json;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
// Specify the knowledge source name to retrieve
string ksNameToGet = "earth-knowledge-source";
// Get its definition
var knowledgeSourceResponse = await indexClient.GetKnowledgeSourceAsync(ksNameToGet);
var ks = knowledgeSourceResponse.Value;
// Serialize to JSON for display
var jsonOptions = new JsonSerializerOptions
{
WriteIndented = true,
DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.Never
};
Console.WriteLine(JsonSerializer.Serialize(ks, ks.GetType(), jsonOptions));
Reference:SearchIndexClient
# Get a knowledge source definition
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
import json
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
ks = index_client.get_knowledge_source("knowledge_source_name")
print(json.dumps(ks.as_dict(), indent = 2))
Reference:SearchIndexClient
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
Authorization: Bearer {{token}}
Reference:Источники знаний — получить
Следующий код JSON является примером ответа для источника знаний Work IQ.
{
"name": "my-workiq-ks",
"kind": "workIQ",
"description": "A sample Work IQ knowledge source.",
"workIQParameters": {
"entraAppAuthentication": {
"applicationId": "11111111-1111-1111-1111-111111111111",
"federatedCredentialId": "22222222-2222-2222-2222-222222222222",
"tenantId": null
}
},
"encryptionKey": null
}
Создание источника знаний
Выполните следующий код, чтобы создать источник знаний Work IQ.
using Azure.Identity;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.Models;
Uri searchEndpoint =
new("https://<search-service-name>.search.windows.net");
var credential = new DefaultAzureCredential();
var indexClient = new SearchIndexClient(searchEndpoint, credential);
var entraAuthentication = new EntraAppAuthentication(
Guid.Parse("<application-client-id>"),
Guid.Parse("<federated-credential-id>"));
var knowledgeSource = new WorkIQKnowledgeSource(
"my-workiq-ks",
new WorkIQKnowledgeSourceParameters(entraAuthentication))
{
Description = "A sample Work IQ knowledge source."
};
KnowledgeSource createdSource =
await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Created knowledge source '{createdSource.Name}'.");
Reference:SearchIndexClient, WorkIQKnowledgeSource
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
EntraAppAuthentication,
WorkIQKnowledgeSource,
WorkIQKnowledgeSourceParameters,
)
endpoint = "https://<search-service-name>.search.windows.net"
credential = DefaultAzureCredential()
knowledge_source = WorkIQKnowledgeSource(
name="my-workiq-ks",
description="A sample Work IQ knowledge source.",
work_iq_parameters=WorkIQKnowledgeSourceParameters(
entra_app_authentication=EntraAppAuthentication(
application_id="<application-client-id>",
federated_credential_id="<federated-credential-id>",
)
),
)
with SearchIndexClient(endpoint, credential) as index_client:
created_source = index_client.create_or_update_knowledge_source(
knowledge_source
)
print(f"Created knowledge source '{created_source.name}'.")
Reference:SearchIndexClient, WorkIQKnowledgeSource
@search-endpoint = <search-endpoint> // Example: https://my-service.search.windows.net
@search-access-token = <search-access-token> // Run: az account get-access-token --scope https://search.azure.com/.default --query accessToken -o tsv
### Create a Work IQ knowledge source
PUT {{search-endpoint}}/knowledgesources/my-workiq-ks?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json
Prefer: return=representation
{
"name": "my-workiq-ks",
"kind": "workIQ",
"description": "A sample Work IQ knowledge source.",
"workIQParameters": {
"entraAppAuthentication": {
"applicationId": "<application-client-id>",
"federatedCredentialId": "<federated-credential-id>"
}
}
}
Справочник:Источники знаний — создание или обновление
Назначение базе знаний
Если вы удовлетворены источником знаний, добавьте его в базу знаний.
Запрос к базе знаний
После настройки базы знаний вызовите действие извлечения или конечную точку MCP для запроса содержимого Work IQ. У этого источника знаний есть уникальные особенности проверки прав доступа во время выполнения запроса и характеристики ответа.
Important
Work IQ может отвечать через 40–60 секунд или дольше. Чтобы избежать ошибок тайм-аута, установите значение maxRuntimeInSeconds в запросе на получение на 120 или выше.
Принудительное применение разрешений в момент выполнения запроса
Начиная с версии API 2026-08-01-preview, источники знаний Work IQ используют поток токенов on-behalf-of (OBO) через принадлежащую клиенту регистрацию приложения Microsoft Entra. Помимо аутентификации запроса на извлечение к Поиск с использованием ИИ Azure, клиент должен предоставить утверждение пользователя app-audience для пользователя, выполнившего вход.
Клиентское приложение должно выполнить вход пользователя и получить утверждение пользователя. То, как вы получаете подтверждение, зависит от того, на какой платформе работает приложение и на каком языке оно написано. Используйте Microsoft Authentication Library (MSAL) и поток кода авторизации с подтверждением ключа для обмена кодом (PKCE), чтобы запросить точную область действия api://<application-client-id>/access_as_user.
Перед отправкой утверждения пользователя убедитесь, что:
-
audидентифицирует регистрацию приложения Work IQ. -
scpсодержитaccess_as_user. -
oidиtidидентифицируют вошедшего в систему пользователя и арендатора приложения.
Отправьте обе учетные данные в одном запросе получения, как показано в следующем примере. Используйте маркер Поиск с использованием ИИ Azure или ключ API для проверки подлинности службы. Передайте необработанное утверждение пользователя в заголовке x-ms-query-work-iq-source-authorization, а не x-ms-query-source-authorization.
using Azure.Identity;
using Azure.Search.Documents;
using Azure.Search.Documents.KnowledgeBases;
using Azure.Search.Documents.KnowledgeBases.Models;
Uri searchEndpoint =
new("https://<search-service-name>.search.windows.net");
string userAssertion = "<user-assertion>";
var credential = new DefaultAzureCredential();
var options = new SearchClientOptions();
options.Retry.NetworkTimeout = TimeSpan.FromSeconds(130);
var retrievalClient = new KnowledgeBaseRetrievalClient(
searchEndpoint,
"my-kb",
credential,
options);
var request = new KnowledgeBaseRetrievalRequest
{
IncludeActivity = true,
MaxRuntimeInSeconds = 120
};
request.Intents.Add(
new KnowledgeRetrievalSemanticIntent("Find my project status."));
request.KnowledgeSourceParams.Add(
new WorkIQKnowledgeSourceParams("my-workiq-ks")
{
IncludeReferences = true,
IncludeReferenceSourceData = true
});
var response = await retrievalClient.RetrieveAsync(
request,
querySourceAuthorization: null,
queryWorkIQSourceAuthorization: userAssertion);
Console.WriteLine(response.Value);
Reference:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest
from azure.identity import DefaultAzureCredential
from azure.search.documents.knowledgebases import (
KnowledgeBaseRetrievalClient,
)
from azure.search.documents.knowledgebases.models import (
KnowledgeBaseRetrievalRequest,
KnowledgeRetrievalSemanticIntent,
WorkIQKnowledgeSourceParams,
)
endpoint = "https://<search-service-name>.search.windows.net"
user_assertion = "<user-assertion>"
credential = DefaultAzureCredential()
request = KnowledgeBaseRetrievalRequest(
intents=[
KnowledgeRetrievalSemanticIntent(
search="Find my project status."
)
],
knowledge_source_params=[
WorkIQKnowledgeSourceParams(
knowledge_source_name="my-workiq-ks",
include_references=True,
include_reference_source_data=True,
)
],
include_activity=True,
max_runtime_in_seconds=120,
)
with KnowledgeBaseRetrievalClient(
endpoint,
credential,
knowledge_base_name="my-kb",
) as retrieval_client:
response = retrieval_client.retrieve(
request,
query_work_iq_source_authorization=user_assertion,
timeout=130,
)
print(response)
Reference:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest
@search-endpoint = <search-endpoint>
@search-access-token = <search-access-token>
@user-assertion = <user-assertion>
### Query a knowledge base with a Work IQ knowledge source
POST {{search-endpoint}}/knowledgebases/my-kb/retrieve?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
x-ms-query-work-iq-source-authorization: {{user-assertion}}
Content-Type: application/json
{
"messages": [{
"role": "user",
"content": [{
"type": "text",
"text": "Find my project status."
}]
}],
"knowledgeSourceParams": [{
"knowledgeSourceName": "my-workiq-ks",
"kind": "workIQ",
"includeReferences": true,
"includeReferenceSourceData": true
}],
"includeActivity": true,
"maxRuntimeInSeconds": 120
}
Reference:Knowledge Retrieval — восстановление
Успешный запрос возвращает 200 OK. Убедитесь, что activity содержит запись, у которой type имеет значение workIQ и knowledgeSourceName соответствует вашему источнику знаний Work IQ. Также убедитесь, что references содержит запись workIQ.
В следующей таблице перечислены распространенные сбои конфигурации.
| Статус | Причина |
|---|---|
| 400 | Отсутствует заголовок авторизации Work IQ или он имеет неверный формат, отсутствуют обязательные утверждения пользователя, либо служба поиска не использует поддерживаемую конфигурацию управляемого удостоверения. |
| 206 или 502 | Источник Work IQ завершился сбоем, так как обмен токенами, предоставление согласия, делегированное разрешение, федеративные учетные данные, последующая авторизация или запрос Work IQ завершились сбоем либо было превышено время ожидания. Просмотрите ошибку действия источника. Ответ 206 означает, что другой источник успешно обработал запрос. Ответ 502 означает, что каждый выбранный источник завершился с ошибкой или произошел сбой обязательного источника. |
Поля ответов, специфичные для Work IQ
Источники знаний Work IQ возвращают результаты в массиве references, а диагностические данные запроса — в массиве activity. Каждая справочная запись содержит следующее:
-
sourceData.parts[].text: Текстовые фрагменты, основанные на данных Work IQ. -
sourceData.parts[].data: данные цитирования Work IQ. Части цитирования имеют тип носителяapplication/vnd.ms-workiq-reference.
В следующем примере показан ответ на получение, содержащий ссылку на источник знаний Work IQ и соответствующую запись действия. Более подробные рекомендации по интерпретации ответов операции retrieve см. в разделе «Просмотр ответа».
Tip
Чтобы получить sourceData для ссылок, задайте для includeReferenceSourceData значение true в записи источника знаний в knowledgeSourceParams запроса на извлечение.
{
"response": [],
"activity": [
{
"type": "workIQ",
"id": 0,
"knowledgeSourceName": "my-workiq-ks",
"queryTime": "2026-08-01T19:25:23.683Z",
"count": 1,
"elapsedMs": 1137,
"workIQArguments": {
"search": "my query"
}
}
],
"references": [
{
"type": "workIQ",
"id": "83dd7d40",
"activitySource": 0,
"rerankerScore": 3.5,
"sourceData": {
"parts": [
{
"text": "Have your VPN username and password ready."
},
{
"data": {
"1-abc123": {
"targetLink": "https://contoso.sharepoint.com/doc.docx",
"isCitedInResponse": true,
"isSourceFiltered": false
}
},
"mediaType": "application/vnd.ms-workiq-reference"
}
]
}
}
]
}
Удаление источника знаний
Прежде чем удалить источник знаний, необходимо удалить любую базу знаний, которая ссылается на нее или обновить определение базы знаний, чтобы удалить ссылку. Для источников знаний, генерирующих индекс и конвейер индексатора, все созданные объекты также удаляются. Однако если вы использовали существующий индекс для создания источника знаний, индекс не удаляется.
Если вы пытаетесь удалить используемый источник знаний, действие завершается ошибкой и возвращает список затронутых баз знаний.
Удаление источника знаний:
Получите список всех баз знаний в службе поиска.
using Azure.Search.Documents.Indexes; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential); var knowledgeBases = indexClient.GetKnowledgeBasesAsync(); Console.WriteLine("Knowledge Bases:"); await foreach (var kb in knowledgeBases) { Console.WriteLine($" - {kb.Name}"); }Reference:SearchIndexClient
Пример ответа может выглядеть следующим образом:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Получите отдельное определение базы знаний для проверки ссылок на источники знаний.
using Azure.Search.Documents.Indexes; using System.Text.Json; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential); // Specify the knowledge base name to retrieve string kbNameToGet = "earth-knowledge-base"; // Get a specific knowledge base definition var knowledgeBaseResponse = await indexClient.GetKnowledgeBaseAsync(kbNameToGet); var kb = knowledgeBaseResponse.Value; // Serialize to JSON for display string json = JsonSerializer.Serialize(kb, new JsonSerializerOptions { WriteIndented = true }); Console.WriteLine(json);Reference:SearchIndexClient
Пример ответа может выглядеть следующим образом:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Удалите базу знаний или, если у вас несколько источников знаний, обновите базу знаний, чтобы удалить источник. В этом примере показано удаление.
using Azure.Search.Documents.Indexes; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential); await indexClient.DeleteKnowledgeBaseAsync(knowledgeBaseName); System.Console.WriteLine($"Knowledge base '{knowledgeBaseName}' deleted successfully.");Reference:SearchIndexClient
Удалите источник знаний.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Reference:SearchIndexClient
Получите список всех баз знаний в службе поиска.
# Get knowledge bases from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) print("Knowledge Bases:") for kb in index_client.list_knowledge_bases(): print(f" - {kb.name}")Reference:SearchIndexClient
Пример ответа может выглядеть следующим образом:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Получите отдельное определение базы знаний для проверки ссылок на источники знаний.
# Get a knowledge base definition from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) kb = index_client.get_knowledge_base("knowledge_base_name") print(kb)Reference:SearchIndexClient
Пример ответа может выглядеть следующим образом:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Удалите базу знаний или, если у вас несколько источников знаний, обновите базу знаний, чтобы удалить источник. В этом примере показано удаление.
# Delete a knowledge base from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) index_client.delete_knowledge_base("knowledge_base_name") print(f"Knowledge base deleted successfully.")Reference:SearchIndexClient
Удалите источник знаний.
# Delete a knowledge source from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) index_client.delete_knowledge_source("knowledge_source_name") print(f"Knowledge source deleted successfully.")Reference:SearchIndexClient
Получите список всех баз знаний в службе поиска.
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name Authorization: Bearer {{token}}Справочник:Базы знаний — список
Пример ответа может выглядеть следующим образом:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Получите отдельное определение базы знаний для проверки ссылок на источники знаний.
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Справочник:Базы знаний — получение
Пример ответа может выглядеть следующим образом:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Удалите базу знаний или, если у вас несколько источников знаний, обновите базу знаний, чтобы удалить источник. В этом примере показано удаление.
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Справочник:Базы знаний — удаление
Удалите источник знаний.
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Справочник:Источники знаний — удаление