Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Note
Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Jest także podstawą Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy wielokrotnego użytku z uwzględnieniem uprawnień dla agentów w portalu Microsoft Foundry.
Ważna
Funkcje, możliwości lub właściwości oznaczone (wersja zapoznawcza) nie są objęte umową dotyczącą poziomu usług, nie są zalecane w przypadku obciążeń produkcyjnych i mogą ulec zmianie lub ograniczeniu, zanim staną się one ogólnie dostępne. Warunki Wyszukiwanie AI platformy Azure wersji zapoznawczej mają zastosowanie do wszystkich funkcji w wersji zapoznawczej, niezależnie od tego, czy jest ona autonomiczna, czy częścią ogólnie dostępnej funkcji.
Po połączeniu z usługą Fabric IQ mogą zostać naliczone opłaty, a dane mogą być przesyłane poza granice zgodności platformy Azure i przetwarzane zgodnie z obowiązującymi warunkami świadczenia usług oraz zasadami przetwarzania danych.
Źródło wiedzy dla agenta danych Fabric (wersja zapoznawcza) łączy Agenta danych Microsoft Fabric z potokiem wyszukiwania agentowego w usłudze Wyszukiwanie AI platformy Azure. Źródła wiedzy są tworzone niezależnie, przywoływane w bazie wiedzy i używane jako dane uziemienia, gdy baza wiedzy jest odpytywane w czasie wykonywania zapytań.
Agent danych działa jako analityk wirtualny, generując i uruchamiając zapytania względem danych Microsoft Fabric, aby zwracać odpowiedzi, tabele i wykresy w języku naturalnym. Dzięki temu źródła wiedzy agenta danych Fabric są przydatne w przypadku zapytań analitycznych i danych o wysokim współczynniku zmian.
W przeciwieństwie do indeksowanych źródeł wiedzy źródła wiedzy usługi Fabric Data Agent odpytują dane na żywo bezpośrednio w momencie pobierania. Potok importu danych nie jest potrzebny. Zapytania wymagają tokenu dostępu użytkownika końcowego, którego aparat pobierania używa do wykonywania zapytań dotyczących agenta danych Fabric w imieniu użytkownika końcowego.
Wsparcie użytkowania
| Portal Azure | Portal Microsoft Foundry | SDK platformy .NET | SDK Python | pakiet SDK Java | JavaScript SDK | API REST |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Wymagania wstępne
Usługa Wyszukiwanie AI platformy Azure w dowolnym regionie, która zapewnia autonomiczne wyszukiwanie.
Obszar roboczy Microsoft Fabric z agentem data.
Usługa wyszukiwania i obszar roboczy muszą znajdować się w tym samym dzierżawcy usługi Microsoft Entra ID.
Uprawnienie do tworzenia źródeł wiedzy. Skonfiguruj uwierzytelnianie bez klucza przy użyciu roli Współautor usługi wyszukiwania przypisanej do konta użytkownika (zalecane) lub użyj klucza interfejsu API administratora.
Najnowszy pakiet
Azure.Search.Documentswersji zapoznawczej:dotnet add package Azure.Search.Documents --prereleaseW przypadku uwierzytelniania
Azure.Identitybez klucza pakiet:dotnet add package Azure.Identity
Najnowszy pakiet
azure-search-documentswersji zapoznawczej:pip install --pre azure-search-documentsW przypadku uwierzytelniania
azure-identitybez klucza pakiet:pip install azure-identity
Interfejs API REST usługi Search w wersji 2026-08-01-preview.
W przypadku uwierzytelniania bez klucza dołącz token Microsoft Entra ID w nagłówku
Authorizationkażdego żądania HTTP.
Nadzór i zgodność danych
Fabric IQ przetwarza żądania w granicach zgodności platformy Microsoft Fabric dla regionu Twojego obszaru roboczego. Poniższe zobowiązania mają zastosowanie podczas kierowania zapytań agenta za pośrednictwem Fabric IQ.
Miejsce przechowywania danych
Fabric IQ pobiera i przetwarza dane w regionie, w którym znajduje się obszar roboczy Microsoft Fabric. Dane nie przekraczają granic regionalnych podczas wykonywania zapytania. Odpowiedni region i jego zakres zgodności są określane przez lokalizację obszaru roboczego. Aby uzyskać listę obsługiwanych regionów i standardów zgodności, które spełnia dany region, zobacz Dostępność regionów usługi Microsoft Fabric.
Note
Jeśli usługa Wyszukiwanie AI platformy Azure znajduje się w innym regionie Azure niż obszar roboczy Fabric, wyniki zapytania są zwracane między regionami. Przed połączeniem z obszarem roboczym usługi Fabric znajdującym się w innym regionie sprawdź dostępność regionów usługi Microsoft Fabric oraz wymagania organizacji dotyczące rezydencji danych.
Certyfikaty zgodności
Fabric IQ dziedziczy certyfikaty zgodności Microsoft Fabric dla regionu obszaru roboczego. Aby uzyskać informacje o dokumentacji zgodności, raportach z audytów i ramach zgodności mających zastosowanie w poszczególnych regionach, zobacz Dostępność regionów usługi Microsoft Fabric.
Sprawdzanie istniejących źródeł wiedzy
Źródłem wiedzy jest obiekt najwyższego poziomu wielokrotnego użytku. Znajomość istniejących źródeł wiedzy jest przydatna w przypadku ponownego użycia lub nazewnictwa nowych obiektów.
Uruchom następujący kod, aby wyświetlić listę źródeł wiedzy według nazwy i typu.
// 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}}
Dokumentacja:Źródła wiedzy — lista
Możesz również zwrócić pojedyncze źródło wiedzy według nazwy, aby przejrzeć jego definicję 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}}
Dokumentacja:Źródła wiedzy — Pobierz
Poniższy kod JSON to przykładowa odpowiedź dla źródła wiedzy agenta danych 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"
}
}
Tworzenie źródła wiedzy
Uruchom następujący kod, aby utworzyć źródło wiedzy agenta danych 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}"
}
}
Dokumentacja:Źródła wiedzy — tworzenie lub aktualizowanie
Przypisywanie do bazy wiedzy
Jeśli źródło wiedzy jest zadowalające, dodaj je do bazy wiedzy.
Ważna
Źródła wiedzy agenta danych w usłudze Fabric nie obsługują minimalwysiłku wnioskowania podczas wyszukiwania. Użyj polecenia low lub medium zamiast tego.
Wykonywanie zapytań w bazie wiedzy
Po skonfigurowaniu bazy wiedzy wywołaj akcję pobierania lub punkt końcowy MCP, aby przeszukać zawartość agenta danych Fabric. To źródło wiedzy ma unikalne mechanizmy egzekwowania uprawnień w czasie wykonywania zapytania oraz charakterystykę odpowiedzi.
Wymuszanie uprawnień w czasie wykonywania zapytania
Źródła wiedzy agenta Fabric Data Agent korzystają z przepływu tokenów on-behalf-of (OBO). Przekazujesz token dostępu użytkownika końcowego w nagłówku x-ms-query-source-authorization w żądaniu pobrania. Token musi być ograniczony do odbiorców Wyszukiwanie AI platformy Azure (https://search.azure.com/.default). Mechanizm pobierania wymienia ten token na token z zakresem Microsoft Fabric i używa go do wysyłania zapytań do agenta danych Fabric w imieniu użytkownika końcowego.
Standardowe uwierzytelnianie usługi Wyszukiwanie AI platformy Azure jest również wymagane w żądaniu pobrania. Token x-ms-query-source-authorization jest przekazywany oddzielnie i nie zastępuje uwierzytelniania usługi.
Aby uzyskać instrukcje dotyczące przekazywania tokenu, zobacz Wymuszanie uprawnień w czasie zapytania (wersja zapoznawcza).
pola odpowiedzi specyficzne dla agenta danych Fabric
Źródła wiedzy agenta danych Fabric zwracają wyniki w obiekcie sourceData każdego wpisu references oraz informacje diagnostyczne zapytań w tablicy activity.
sourceData Contains:
-
fabricAnswer: Odpowiedź agenta danych w języku naturalnym. -
fabricEmbeddedResources: Wszelkie zasoby osadzone, takie jak tabele i wykresy, gdy zapytanie generuje dane wyjściowe ze strukturą.
W poniższym przykładzie przedstawiono odpowiedź pobierania zawierającą odwołanie do źródła wiedzy agenta danych Fabric oraz odpowiadający mu rekord aktywności. Aby uzyskać szersze wskazówki dotyczące interpretowania odpowiedzi operacji pobierania, zobacz Przejrzyj odpowiedź.
Wskazówka
Aby otrzymywać sourceData odniesienia, ustaw wartość includeReferenceSourceData na true we wpisie źródła wiedzy w elemencie knowledgeSourceParams w żądaniu pobierania.
{
"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
}
]
}
Usuwanie źródła wiedzy
Aby można było usunąć źródło wiedzy, należy usunąć dowolną bazę wiedzy, która odwołuje się do źródła wiedzy, lub zaktualizować definicję bazy wiedzy, aby usunąć odwołanie. W przypadku źródeł wiedzy, które generują potok indeksu i indeksatora, wszystkie wygenerowane obiekty również są usuwane. Jeśli jednak użyto istniejącego indeksu do utworzenia źródła wiedzy, indeks nie zostanie usunięty.
Jeśli spróbujesz usunąć używane źródło wiedzy, akcja zakończy się niepowodzeniem i zwróci listę baz wiedzy, których dotyczy problem.
Aby usunąć źródło wiedzy:
Pobierz listę wszystkich baz wiedzy w usłudze wyszukiwania.
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
Przykładowa odpowiedź może wyglądać następująco:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Uzyskaj pojedynczą definicję bazy wiedzy, aby sprawdzić odwołania do źródeł wiedzy.
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
Przykładowa odpowiedź może wyglądać następująco:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Usuń bazę wiedzy lub, jeśli masz wiele źródeł wiedzy, zaktualizuj bazę wiedzy, aby usunąć źródło. W tym przykładzie pokazano usunięcie.
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
Usuń źródło wiedzy.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Reference:SearchIndexClient
Pobierz listę wszystkich baz wiedzy w usłudze wyszukiwania.
# 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
Przykładowa odpowiedź może wyglądać następująco:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Uzyskaj pojedynczą definicję bazy wiedzy, aby sprawdzić odwołania do źródeł wiedzy.
# 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
Przykładowa odpowiedź może wyglądać następująco:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Usuń bazę wiedzy lub, jeśli masz wiele źródeł wiedzy, zaktualizuj bazę wiedzy, aby usunąć źródło. W tym przykładzie pokazano usunięcie.
# 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
Usuń źródło wiedzy.
# 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
Pobierz listę wszystkich baz wiedzy w usłudze wyszukiwania.
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name Authorization: Bearer {{token}}Dokumentacja:Bazy wiedzy — lista
Przykładowa odpowiedź może wyglądać następująco:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Uzyskaj pojedynczą definicję bazy wiedzy, aby sprawdzić odwołania do źródeł wiedzy.
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Dokumentacja:Bazy wiedzy — pobieranie
Przykładowa odpowiedź może wyglądać następująco:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Usuń bazę wiedzy lub, jeśli masz wiele źródeł wiedzy, zaktualizuj bazę wiedzy, aby usunąć źródło. W tym przykładzie pokazano usunięcie.
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Dokumentacja:Bazy wiedzy — usuwanie
Usuń źródło wiedzy.
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Dokumentacja:Źródła wiedzy — usuwanie