Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Note
Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе Foundry IQ — управляемого слоя знаний, который преобразует корпоративный контент в многократно используемые базы знаний с учетом разрешений доступа для агентов на портале Microsoft Foundry.
Important
Функции, возможности или свойства, помеченные (предварительная версия), не охватываются соглашением об уровне обслуживания, не рекомендуются для рабочих нагрузок и могут изменяться или ограничиваться до того, как они становятся общедоступными. Условия предварительной версии Поиск с использованием ИИ Azure применяются ко всем функциям предварительной версии, независимо от того, является ли он автономным или частью общедоступной функции.
При подключении к Fabric IQ могут потребоваться затраты, а данные могут отправляться за пределы границы соответствия Azure и обрабатываться в соответствии с применимыми условиями обслуживания и политиками обработки данных.
Источник знаний Fabric Data Agent (предварительная версия) подключает ваш Microsoft Fabric Data Agent к агентному конвейеру извлечения в Поиск с использованием ИИ Azure. Источники знаний создаются независимо, ссылаются в базе знаний и используются в качестве базирования данных при запросе базы знаний во время выполнения.
Агент данных выступает в качестве виртуального аналитика, создания и выполнения запросов к данным Microsoft Fabric для возврата ответов на естественном языке, таблиц и диаграмм. Это делает источники знаний агента данных Fabric полезными для быстро меняющихся данных и аналитических запросов.
В отличие от индексированных источников знаний, источники знаний агента данных Fabric запрашивают оперативные данные напрямую в момент извлечения. Конвейер приема не требуется. Для запросов требуется токен доступа конечного пользователя, который модуль извлечения использует для выполнения запросов к агенту данных Fabric от имени конечного пользователя.
Поддержка использования
| Портал Azure | Портал Microsoft Foundry | Пакет SDK для .NET | Пакет SDK для Python | SDK для Java | Пакет SDK для JavaScript | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Необходимые условия
Служба Поиск с использованием ИИ Azure в любом регионе, который предоставляет агентский доступ.
Рабочая область Microsoft Fabric с агентом data.
Служба поиска и рабочая область должны находиться в одном и том же клиенте Microsoft Entra ID.
Разрешение на создание источников знаний. Настройте проверку подлинности без ключа с помощью роли участника службы поиска , назначенной учетной записи пользователя (рекомендуется) или используйте ключ API администратора.
Последний пакет предварительной версии
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-запроса.
Управление данными и соответствие требованиям
Fabric IQ обрабатывает запросы в пределах границы соответствия Microsoft Fabric для региона рабочей области. Следующие обязательства применяются при маршрутизации запросов агента через Fabric IQ.
Место расположения данных
Fabric IQ извлекает и обрабатывает данные в том регионе, где расположена рабочая область Microsoft Fabric. Данные не пересекают региональные границы во время выполнения запроса. Применимый регион и область соответствия определяются расположением рабочей области. Список поддерживаемых регионов и стандартов соответствия, которым отвечает каждый регион, см. в разделе Доступность регионов Microsoft Fabric.
Note
Если служба Поиск с использованием ИИ Azure находится в другом регионе Azure, отличном от рабочей области Fabric, результаты запроса возвращаются между регионами. Проверьте региональную доступность Microsoft Fabric и требования вашей организации к размещению данных, прежде чем подключать рабочую область Fabric, расположенную в другом регионе.
Сертификаты соответствия
Fabric IQ наследует сертификаты соответствия Microsoft Fabric для региона рабочей области. Сведения о документации по соответствию, отчетах аудита и системах соответствия, применимых в каждом регионе, см. в статье Доступность Microsoft Fabric по регионам.
Проверка существующих источников знаний
Источник знаний — это объект верхнего уровня, который можно использовать повторно. Знание существующих источников знаний полезно для повторного использования или именования новых объектов.
Выполните следующий код, чтобы перечислить источники знаний по имени и типу.
// 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 является примером ответа для источника знаний агента данных Fabric.
{
"name": "my-fabric-data-agent-ks",
"kind": "fabricDataAgent",
"description": "A Fabric Data Agent knowledge source.",
"encryptionKey": null,
"fabricDataAgentParameters": {
"workspaceId": "00000000-0000-0000-0000-000000000000",
"dataAgentId": "00000000-0000-0000-0000-000000000001"
}
}
Создание источника знаний
Выполните следующий код, чтобы создать источник знаний агента данных Fabric.
using Azure.Identity;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
Uri searchEndpoint = new Uri("<search-endpoint>");
DefaultAzureCredential credential = new DefaultAzureCredential();
var indexClient = new SearchIndexClient(searchEndpoint, credential);
var fabricDataAgent = new FabricDataAgentKnowledgeSource(
"<knowledge-source-name>",
new FabricDataAgentKnowledgeSourceParameters("<fabric-workspace-id>", "<fabric-data-agent-id>"))
{
Description = "A Fabric Data Agent knowledge source."
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(fabricDataAgent);
Reference:SearchIndexClient
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
FabricDataAgentKnowledgeSource,
FabricDataAgentKnowledgeSourceParameters,
)
index_client = SearchIndexClient(
endpoint="<search-endpoint>",
credential=DefaultAzureCredential()
)
knowledge_source = FabricDataAgentKnowledgeSource(
name="<knowledge-source-name>",
description="A Fabric Data Agent knowledge source.",
fabric_data_agent_parameters=FabricDataAgentKnowledgeSourceParameters(
workspace_id="<fabric-workspace-id>",
data_agent_id="<fabric-data-agent-id>"
)
)
index_client.create_or_update_knowledge_source(knowledge_source)
Reference:SearchIndexClient
### Create a Fabric Data Agent knowledge source
PUT {{search-endpoint}}/knowledgesources/my-fabric-data-agent-ks?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json
{
"name": "my-fabric-data-agent-ks",
"kind": "fabricDataAgent",
"description": "A Fabric Data Agent knowledge source.",
"fabricDataAgentParameters": {
"workspaceId": "{fabric-workspace-id}",
"dataAgentId": "{fabric-data-agent-id}"
}
}
Справочник:Источники знаний — создание или обновление
Назначение базе знаний
Если вы удовлетворены источником знаний, добавьте его в базу знаний.
Important
Источники знаний агента данных Fabric не поддерживают minimalрежим извлечения и рассуждения. Вместо этого используются типы low или medium.
Запрос к базе знаний
После настройки базы знаний, вызовите действие retrieve или конечную точку MCP, чтобы запросить содержимое агента данных Fabric. У этого источника знаний есть уникальные особенности проверки прав доступа во время выполнения запроса и характеристики ответа.
Принудительное применение разрешений в момент выполнения запроса
Источники знаний агента данных Fabric используют поток токенов on-behalf-of (OBO). Вы передаёте токен доступа конечного пользователя в заголовке x-ms-query-source-authorization при запросе на получение. Токен должен быть предназначен для аудитории Поиск с использованием ИИ Azure (https://search.azure.com/.default). Механизм извлечения обменивает этот токен на токен с областью действия Microsoft Fabric и использует его для отправки запросов агенту данных Fabric от имени конечного пользователя.
Для запроса на извлечение также требуется стандартная аутентификация Поиск с использованием ИИ Azure. Маркер x-ms-query-source-authorization передается отдельно и не заменяет проверку подлинности службы.
Инструкции по передаче токена см. в разделе Проверка разрешений во время выполнения запроса (предварительная версия).
Поля ответа, специфичные для агента данных Fabric
Источники знаний агента данных Fabric возвращают результаты в объекте sourceData каждой записи references, а диагностику запросов — в массиве activity.
sourceData Содержит:
-
fabricAnswer: ответ агента данных на естественном языке. -
fabricEmbeddedResources: все внедренные ресурсы, такие как таблицы и диаграммы, когда запрос создает структурированные выходные данные.
В следующем примере показан ответ на запрос извлечения, содержащий ссылку на источник знаний Fabric Data Agent и соответствующую запись об активности. Более подробные рекомендации по интерпретации ответов операции retrieve см. в разделе «Просмотр ответа».
Tip
Чтобы получить sourceData для ссылок, задайте для includeReferenceSourceData значение true в записи источника знаний в knowledgeSourceParams запроса на извлечение.
{
"response": [
// ... Response omitted for brevity
],
"activity": [
{
"type": "fabricDataAgent",
"id": 1,
"knowledgeSourceName": "my-fabric-data-agent-ks",
"queryTime": "2026-05-11T19:37:11.600Z",
"count": 1,
"fabricDataAgentArguments": {
"search": "my query"
}
},
{
// ... Additional activity records omitted for brevity
}
],
"references": [
{
"type": "fabricDataAgent",
"id": "0",
"activitySource": 1,
"rerankerScore": 2.57,
"workspaceId": "00000000-0000-0000-0000-000000000000",
"dataAgentId": "00000000-0000-0000-0000-000000000001",
"sourceData": {
"fabricAnswer": "There were 47 airline delays in Q1 2026. The majority occurred on transcontinental routes.",
"fabricEmbeddedResources": [
{
"title": "Q1 2026 Airline Operations Report",
"mimeType": "text/csv",
"content": "Route | Delays | Avg. Delay (min)\n--- | --- | ---\nJFK–LAX | 18 | 42\nORD–MIA | 12 | 31"
}
]
}
},
{
// ... Additional references omitted for brevity
}
]
}
Удаление источника знаний
Прежде чем удалить источник знаний, необходимо удалить любую базу знаний, которая ссылается на нее или обновить определение базы знаний, чтобы удалить ссылку. Для источников знаний, генерирующих индекс и конвейер индексатора, все созданные объекты также удаляются. Однако если вы использовали существующий индекс для создания источника знаний, индекс не удаляется.
Если вы пытаетесь удалить используемый источник знаний, действие завершается ошибкой и возвращает список затронутых баз знаний.
Удаление источника знаний:
Получите список всех баз знаний в службе поиска.
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}}Справочник:Источники знаний — удаление