Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание
Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе Foundry IQ — управляемого слоя знаний, который преобразует корпоративный контент в многократно используемые базы знаний с учетом разрешений доступа для агентов на портале Microsoft Foundry.
Important
Функции, возможности или свойства, помеченные (предварительная версия), не охватываются соглашением об уровне обслуживания, не рекомендуются для рабочих нагрузок и могут изменяться или ограничиваться до того, как они становятся общедоступными. Условия предварительной версии Поиск с использованием ИИ Azure применяются ко всем функциям предварительной версии, независимо от того, является ли он автономным или частью общедоступной функции.
Индексированный источник знаний SharePoint (предварительная версия) загружает содержимое SharePoint в агентный конвейер извлечения в Поиск с использованием ИИ Azure. Источники знаний создаются независимо, ссылаются в базе знаний и используются в качестве базирования данных при запросе базы знаний во время выполнения.
При создании индексированного источника знаний SharePoint необходимо указать SharePoint строка подключения, модели и свойства для автоматического создания следующих объектов Поиск с использованием ИИ Azure:
- Источник данных, который указывает на сайты SharePoint и использует строку подключения без изменений. Созданный источник данных следует правилам индексатора
TenantIdSharePoint. - Набор функций, который разбивает на части и при желании векторизует мультимодальный контент.
- Индекс, который хранит улучшенное содержимое и соответствует критериям агентного извлечения.
- Индексатор, использующий предыдущие объекты для управления конвейером индексирования и обогащения.
Созданный индексатор соответствует SharePoint в индексаторе Microsoft 365, необходимые условия, поддерживаемые форматы документов и ограничения также применяются к индексируемым источникам знаний SharePoint. Дополнительные сведения см. в документации по индексатору SharePoint и ограничениям индексатора. Если созданный набор навыков вызывает внешнюю службу, то также применяются ограничения на входные данные этого навыка и ограничения этой службы.
Поддержка использования
| портал Azure | портал Microsoft Foundry | Пакет SDK для .NET | пакет SDK Python | SDK для Java | пакет SDK JavaScript | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Необходимые условия
Служба Поиск с использованием ИИ Azure в любом регионе, который предоставляет агентский доступ.
Завершение необходимых условий для индексатора SharePoint.
Выполните следующие действия по настройке индексатора SharePoint:
Шаг 1: Активируйте управляемое удостоверение для Поиск с использованием ИИ Azure (требуется только для аутентификации без секретного ключа; пропустите, если используете секрет клиента)
Шаг 2. Выберите делегированные разрешения или разрешения приложения
Шаг 3. Создание регистрации приложения Microsoft Entra (для разрешений приложения также настраивается секрет клиента или аутентификация без секретов)
Если
contentExtractionMode—standard, используйте ресурс Microsoft Foundry в регионе, поддерживаемом Content Understanding в Foundry Tools, и конечную точкуhttps://<resource-name>.services.ai.azure.com. Разверните модель эмбеддингов, а если вы включите текстовое описание изображений — также разверните модель для многомодального чата.Разрешение на создание источников знаний. Настройте проверку подлинности без ключа с помощью ролей участника службы поиска и участника индекса поиска , назначенных учетной записи пользователя (рекомендуется) или используйте ключ API администратора.
Если источник знаний указывает модель Azure OpenAI для эмбеддингов или описания изображений, служба поиска должна иметь управляемое удостоверение с разрешениями Cognitive Services User для ресурса Microsoft Foundry.
Если установить
networkAccessModeна значениеprivate, выполните следующие требования:Используйте службу поиска S2, S3, L1 или L2.
Сохраните строку подключения SharePoint, приложение Microsoft Entra и разрешения SharePoint, описанные в предыдущем разделе предварительных требований. SharePoint Online не является поддерживаемым целевым объектом общей приватной связи, поэтому закрытый режим не делает это исходное подключение закрытым.
Для каждой защищенной конечной точки модели включите управляемое удостоверение в службе поиска, предоставьте ему роль пользователя Cognitive Services в ресурсе и создайте и утвердите общую приватную ссылку. Используйте ID группы
openai_accountдля конечных точек Azure OpenAI иfoundry_accountдля конечных точек ресурсов 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-запроса.
Проверка существующих источников знаний
Источник знаний — это объект верхнего уровня, который можно использовать повторно. Знание существующих источников знаний полезно для повторного использования или именования новых объектов.
Выполните следующий код, чтобы перечислить источники знаний по имени и типу.
// 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 является примером ответа для индексированного SharePoint источника знаний.
{
"name": "my-indexed-sharepoint-ks",
"kind": "indexedSharePoint",
"description": "A sample indexed SharePoint knowledge source",
"encryptionKey": null,
"indexedSharePointParameters": {
"connectionString": "<redacted>",
"containerName": "defaultSiteLibrary",
"query": null,
"ingestionParameters": {
"disableImageVerbalization": false,
"ingestionPermissionOptions": [],
"contentExtractionMode": "minimal",
"identity": null,
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "<redacted>",
"deploymentId": "text-embedding-3-large",
"modelName": "text-embedding-3-large",
"authIdentity": null
}
},
"chatCompletionModel": null,
"ingestionSchedule": null,
"assetStore": null,
"aiServices": null
},
"createdResources": {
"datasource": "my-indexed-sharepoint-ks-datasource",
"indexer": "my-indexed-sharepoint-ks-indexer",
"skillset": "my-indexed-sharepoint-ks-skillset",
"index": "my-indexed-sharepoint-ks-index"
}
},
"indexedOneLakeParameters": null
}
Создание источника знаний
Выполните следующий код, чтобы создать индексированный источник знаний SharePoint.
// Create an IndexedSharePoint knowledge source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.KnowledgeBases.Models;
using Azure.Identity;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());
var chatCompletionParams = new AzureOpenAIVectorizerParameters
{
ResourceUri = new Uri(aoaiEndpoint),
DeploymentName = aoaiGptDeployment,
ModelName = aoaiGptModel
};
var embeddingParams = new AzureOpenAIVectorizerParameters
{
ResourceUri = new Uri(aoaiEndpoint),
DeploymentName = aoaiEmbeddingDeployment,
ModelName = aoaiEmbeddingModel
};
var ingestionParams = new KnowledgeSourceIngestionParameters
{
NetworkAccessMode = KnowledgeSourceNetworkAccessMode.Public,
DisableImageVerbalization = false,
ChatCompletionModel = new KnowledgeBaseAzureOpenAIModel(azureOpenAIParameters: chatCompletionParams),
EmbeddingModel = new KnowledgeSourceAzureOpenAIVectorizer
{
AzureOpenAIParameters = embeddingParams
}
};
var sharePointParams = new IndexedSharePointKnowledgeSourceParameters(
connectionString: sharePointConnectionString,
containerName: "defaultSiteLibrary")
{
IngestionParameters = ingestionParams
};
var knowledgeSource = new IndexedSharePointKnowledgeSource(
name: "my-indexed-sharepoint-ks",
indexedSharePointParameters: sharePointParams)
{
Description = "A sample indexed SharePoint knowledge source."
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");
Reference:SearchIndexClient, IndexedSharePointKnowledgeSource
# Create an indexed SharePoint knowledge source
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import IndexedSharePointKnowledgeSource, IndexedSharePointKnowledgeSourceParameters, KnowledgeBaseAzureOpenAIModel, AzureOpenAIVectorizerParameters, KnowledgeSourceContentExtractionMode
from azure.search.documents.knowledgebases.models import KnowledgeSourceIngestionParameters, KnowledgeSourceNetworkAccessMode, KnowledgeSourceAzureOpenAIVectorizer
index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
knowledge_source = IndexedSharePointKnowledgeSource(
name = "my-indexed-sharepoint-ks",
description = "A sample indexed SharePoint knowledge source.",
encryption_key = None,
indexed_share_point_parameters = IndexedSharePointKnowledgeSourceParameters(
connection_string = "connection_string",
container_name = "defaultSiteLibrary",
query = None,
ingestion_parameters = KnowledgeSourceIngestionParameters(
network_access_mode = KnowledgeSourceNetworkAccessMode.PUBLIC,
identity = None,
disable_image_verbalization = False,
chat_completion_model = KnowledgeBaseAzureOpenAIModel(
azure_open_ai_parameters = AzureOpenAIVectorizerParameters(
resource_url = "<aoai-endpoint>",
deployment_name = "<aoai-gpt-deployment>",
model_name = "<aoai-gpt-model>",
)
),
embedding_model = KnowledgeSourceAzureOpenAIVectorizer(
azure_open_ai_parameters=AzureOpenAIVectorizerParameters(
resource_url = "<aoai-endpoint>",
deployment_name = "<aoai-embedding-deployment>",
model_name = "<aoai-embedding-model>",
)
),
content_extraction_mode = KnowledgeSourceContentExtractionMode.MINIMAL,
ingestion_schedule = None,
ingestion_permission_options = None
)
)
)
index_client.create_or_update_knowledge_source(knowledge_source)
print(f"Knowledge source '{knowledge_source.name}' created or updated successfully.")
Reference:SearchIndexClient
### Create an indexed SharePoint knowledge source
PUT {{search-endpoint}}/knowledgesources/my-indexed-sharepoint-ks?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json
{
"name": "my-indexed-sharepoint-ks",
"kind": "indexedSharePoint",
"description": "A sample indexed SharePoint knowledge source.",
"encryptionKey": null,
"indexedSharePointParameters": {
"connectionString": "{{sharepoint-federated-connection-string}}",
"containerName": "defaultSiteLibrary",
"query": null,
"ingestionParameters": {
"networkAccessMode": "public",
"identity": null,
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"deploymentId": "text-embedding-3-large",
"modelName": "text-embedding-3-large",
"resourceUri": "{{aoai-endpoint}}"
}
},
"chatCompletionModel": null,
"disableImageVerbalization": false,
"ingestionSchedule": null,
"ingestionPermissionOptions": [],
"contentExtractionMode": "minimal"
}
}
}
Справочник:Источники знаний — создание или обновление
Защитите зависимости Azure при приеме данных
Начиная с версии API 2026-08-01-preview, элемент networkAccessMode управляет сетевой средой, в которой выполняется сгенерированный индексатор для индексируемого источника знаний SharePoint. Этот параметр влияет только на загрузку данных и не изменяет запросы или ответы при извлечении из базы знаний.
networkAccessMode по умолчанию имеет значение public, которое сохраняет существующее поведение общедоступной сети. Когда networkAccessMode имеет значение private, созданный индексатор выполняется в частной среде выполнения. Он использует утверждённые общие приватные ссылки для доступа к поддерживаемым зависимостям Azure, таким как модели Azure OpenAI и ресурсы Microsoft Foundry.
Important
Для индексированных источников знаний SharePoint частный режим применяется только к поддерживаемым Azure зависимостям. SharePoint Online не является поддерживаемым целевым объектом общей частной ссылки, поэтому исходное подключение к SharePoint остается общедоступным.
Чтобы настроить и проверить частный доступ к поддерживаемым Azure зависимостям:
Выполните необходимые условия для частной сети.
Задайте значение
networkAccessModeprivateв запросе на создание источника знаний. Это свойство можно задать только во время создания. Чтобы изменить его позже, удалите и повторно создайте источник знаний.Создание может завершиться ошибкой, если ценовая категория службы или среда выполнения не поддерживает частное выполнение либо если не существует необходимой общей частной ссылки.
Убедитесь, что созданный индексатор
executionEnvironmentимеет значениеprivate.Убедитесь, что каждая требуемая общая частная ссылка одобрена и указывает на правильный зависимый ресурс. Само по себе успешное создание не подтверждает одобрение ссылки или таргетинг.
Опрашивайте состояние источника знаний, пока
lastSynchronizationState.endTimeне получит значение. Убедитесь, чтоitemsUpdatesFailedимеет значение0, а затем проверьте исходное содержимое для конкретного соединителя. Синхронизация завершается ошибкой, если зависимость недоступна.
Использовать автоматические анализаторы для каждого языка
Начиная с версии API 2026-08-01-preview, для BLOB-объектов, индексированных источников знаний OneLake и индексированных источников знаний SharePoint доступны автоматические анализаторы для отдельных языков. Если этот параметр включен, Поиск с использованием ИИ Azure обнаруживает язык каждого исходного документа и автоматически применяет соответствующий анализатор языка Microsoft. Вы не указываете анализатор в определении источника знаний или запросе.
Чтобы включить автоматические анализаторы для каждого языка, установите для contentExtractionMode значение minimal и настройте ingestionParameters.aiServices в определении источника знаний.
Для проверки подлинности без ключа опустите aiServices.apiKey и назначьте роль пользователя Cognitive Services в ресурсе Microsoft Foundry управляемому удостоверению службы поиска. Для аутентификации с использованием ключа задайте для aiServices.apiKey значение допустимого ключа для ресурса Foundry.
Поддерживаются следующие языки:
- Английский
- Japanese
- французский;
- испанский;
- немецкий;
- голландский;
- Italian
- Бразильский португальский
- Европейский португальский
- Упрощенный китайский
- Традиционный китайский
- Корейский
Для многоязычного содержимого Поиск с использованием ИИ Azure выбирает анализатор на основе преобладающего обнаруженного языка. Он использует стандартный анализатор, если язык не поддерживается или не определен.
При включении автоматических анализаторов на язык Поиск с использованием ИИ Azure добавляет поля содержимого для каждого поддерживаемого языка в схему созданного индекса, независимо от того, содержат ли данные документы на этих языках. Во время приема документы направляются в соответствующее поле для конкретного языка на основе обнаруженного языка.
Неиспользуемые языковые поля не содержат индексированного содержимого и имеют минимальное влияние на хранилище, но они остаются частью схемы индекса и учитываются в направлении ограничения поля индекса. При планировании структуры индекса, количества полей и требований к хранилищу следует учитывать дополнительные поля. Дополнительные сведения см. в разделе "Ограничения индекса " и "Оценка емкости" службы поиска и управление ими.
Определение языка тарифицируется после исчерпания бесплатного лимита на обогащение с помощью ИИ. Дополнительные сведения см. в разделе "Бесплатные обогащения".
Проверка состояния приема
Выполните следующий код, чтобы отслеживать процесс приема и состояние системы, включая тип источника знаний и подробные ошибки индексирования для источников знаний, которые формируют индексаторный конвейер и заполняют индекс поиска.
using Azure.Search.Documents.Indexes;
using System.Text.Json;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));
// Get knowledge source ingestion status
var statusResponse = await indexClient.GetKnowledgeSourceStatusAsync(knowledgeSourceName);
var status = statusResponse.Value;
// Serialize to JSON for display
var json = JsonSerializer.Serialize(status, new JsonSerializerOptions { WriteIndented = true });
Console.WriteLine(json);
Reference:SearchIndexClient
# Check knowledge source ingestion status
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"))
status = index_client.get_knowledge_source_status("knowledge_source_name")
print(json.dumps(status.as_dict(), indent=2))
Reference:SearchIndexClient
### Check knowledge source ingestion status
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}/status?api-version={{api-version}}
Authorization: Bearer {{token}}
Content-Type: application/json
Референс:Базы знаний — текущий статус
Ответ на запрос, который включает параметры загрузки и активно осуществляет прием содержимого, может выглядеть следующим образом.
{
"kind": "azureBlob",
"synchronizationStatus": "active",
"synchronizationInterval": "1d",
"currentSynchronizationState": {
"startTime": "2026-04-10T19:30:00Z",
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
"errors": [
{
"key": "Item id 1",
"docURL": "https://contoso.blob.core.windows.net/contracts/2024/Q4/doc-00023.csv",
"statusCode": 400,
"componentName": "DocumentExtraction.AzureBlob.MyDataSource",
"errorMessage": "Could not read the value of column 'foo' at index '0'.",
"details": "The file could not be parsed.",
"documentationLink": "https://go.microsoft.com/fwlink/?linkid=2049388"
}
]
},
"lastSynchronizationState": {
"status": "partialSuccess",
"startTime": "2026-04-09T19:30:00Z",
"endTime": "2026-04-09T19:40:01Z",
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
"errors": null
},
"statistics": {
"totalSynchronizations": 25,
"averageSynchronizationDuration": "00:15:20",
"averageItemsProcessedPerSynchronization": 500
}
}
Примечание
Свойства kind и currentSynchronizationState.errors[] массив с сведениями об ошибке на уровне документа доступны начиная с версии API 2026-04-01. Для более ранних версий API эти поля не возвращаются. Поле lastSynchronizationState.status также новое в 2026-04-01.
Просмотр созданных объектов
При создании этого источника знаний Поиск с использованием ИИ Azure автоматически создает источник данных, набор навыков, индексатор и индекс. Ответ на создание перечисляет каждый объект в разделе createdResources.
Эти объекты создаются в соответствии с фиксированным шаблоном, и их имена основаны на имени источника знаний. Нельзя изменить имена объектов. Избегайте непосредственного редактирования этих объектов, так как изменения могут привести к ошибкам или несовместимости, которые нарушают конвейер индексатора.
Для проверки создания объектов можно использовать портал Azure. Рабочий процесс:
Проверьте индексатор для сообщений об успешном выполнении или сбое. Ошибки подключения или квотирования отображаются в этом разделе.
Проверьте источник данных, чтобы проверить подключение к хранилищу данных. Подключение использует либо строку подключения, либо управляемый идентификатор, в зависимости от того, как вы настроили источник знаний.
Проверьте набор навыков, чтобы увидеть, как ваш контент разбивается на фрагменты и при необходимости векторизуется.
Проверьте индекс, чтобы увидеть, как ваше содержимое индексируется и предоставляется для извлечения, включая поля, которые доступны для поиска и фильтрации, а также поля, в которых хранятся векторы для поиска по схожести. Используйте обозреватель поиска для выполнения запросов к созданному индексу.
Назначение базе знаний
Если вы удовлетворены источником знаний, добавьте его в базу знаний.
Для любой базы знаний, указывающей индексированный источник знаний SharePoint, не забудьте установить includeReferenceSourceData на true. Этот шаг необходим для извлечения URL-адреса исходного документа в ссылку.
Запрос к базе знаний
После настройки базы знаний вызовите действие извлечения или конечную точку MCP для запроса источника знаний. Выберите конфигурацию, соответствующую вашему сценарию.
Принудительное применение разрешений на уровне документа
Чтобы применить разрешения на уровне документа, задайте ingestionPermissionOptions при создании этого источника знаний и добавьте маркер доступа пользователя в запрос на получение. Дополнительные сведения см. в разделе "Принудительное применение разрешений во время запроса (предварительная версия)".
Сведения о отсутствующих, непредвиденных или неудачных результатах из индексированного запроса разрешений SharePoint см. в разделе "Устранение неполадок SharePoint фильтрации разрешений".
Отображать встроенные в документ изображения
Чтобы изображения, встроенные в документы (например, схемы или сканы), отображались в ответах, сформированных с помощью синтеза ответов, настройте assetStore для этого источника знаний, а затем включите отдачу изображений в базе знаний. Показ изображений не поддерживается, если настроен параметр ingestionPermissionOptions. Дополнительные сведения см. в разделе Отображение изображений, внедренных в документ, при агентном поиске (предварительная версия).
Удаление источника знаний
Прежде чем удалить источник знаний, необходимо удалить любую базу знаний, которая ссылается на нее или обновить определение базы знаний, чтобы удалить ссылку. Для источников знаний, генерирующих индекс и конвейер индексатора, все созданные объекты также удаляются. Однако если вы использовали существующий индекс для создания источника знаний, индекс не удаляется.
Если вы пытаетесь удалить используемый источник знаний, действие завершается ошибкой и возвращает список затронутых баз знаний.
Удаление источника знаний:
Получите список всех баз знаний в службе поиска.
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}}Справочник:Источники знаний — удаление
Известные ошибки
Созданный SharePoint источник данных и индексатор используют то же Microsoft Entra поведение проверки и проверки подлинности клиента, что и непосредственно настроенные индексаторы SharePoint. Для сбоев, связанных с арендатором, просмотрите состояние и историю выполнения созданного индексатора, а затем выполните Invalid AAD tenantдействия по устранению проблемы.