Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Note
Azure AI-sökning är tillgängligt via Azure-portalen, REST-API:er och Azure-SDK:er. Den ligger också till grund för Foundry IQ, det hanterade kunskapsskiktet som omvandlar företagsinnehåll till återanvändbara, behörighetsmedvetna kunskapsbaser för agenter i Microsoft Foundry-portalen.
Important
Dessa funktioner och denna funktionalitet är en del av REST API-versionen 2026-08-01-preview. Förhandsversionen av 2026-08-01 är licensierad till dig som en del av din Azure-prenumeration och omfattas av de villkor som gäller för "förhandsversioner" i Microsoft Produktvillkor, Microsoft Products and Services Data Protection Addendum ("DPA") och tilläggsvillkoren för användning för Microsoft Azure förhandsversioner.
Förhandsversionen av 2026-08-01 stöder anslutningar till andra Microsoft-tjänster- och tredjepartstjänster. Användningen av dessa tjänster omfattas av deras respektive villkor och kan resultera i databearbetning eller lagring utanför Azure efterlevnadsgräns, samt data som flödar till Azure efterlevnadsgräns.
När du ansluter till Work IQ kan det medföra kostnader och data kan skickas utanför Azure efterlevnadsgräns och bearbetas enligt tillämpliga tjänstvillkor och principer för datahantering. Det är ditt ansvar att hantera om dina data flödar utanför organisationens efterlevnad och geografiska gränser och eventuella relaterade konsekvenser samt att lämpliga behörigheter, gränser och godkännanden etableras.
Du ansvarar för att noggrant granska och testa program som du skapar i samband med dina specifika användningsfall och fatta alla lämpliga beslut och anpassningar. Det här ansvaret omfattar implementering av dina egna ansvarsfulla AI-åtgärder, till exempel metaprompter, innehållsfilter eller andra säkerhetssystem, och att se till att dina program uppfyller lämpliga kvalitets-, tillförlitlighets-, säkerhets- och tillförlitlighetsstandarder. Mer information finns i Azure AI-sökning Transparency Note.
En Work IQ-kunskapskälla (förhandsversion) ansluter Work IQ till en pipeline för agentisk hämtning i Azure AI-sökning. Kunskapskällor skapas oberoende av varandra, refereras i en kunskapsbas och används som grunddata när kunskapsbasen efterfrågas vid körning.
Arbets-IQ innehåller organisationsinformation från ditt Microsoft 365 innehåll, inklusive dokument, e-postmeddelanden, möten och aktiviteter i Microsoft 365 appar.
Till skillnad från indexerade kunskapskällor hämtar Work IQ:s kunskapskällor data i realtid direkt när informationen hämtas. Ingen inmatningspipeline behövs. Frågor kräver en användaråtkomsttoken som utfärdats för din Microsoft Entra appregistrering. Azure AI-sökning utbyter denna token mot en delegerad Arbets-IQ-token och anropar Arbets-IQ för användarens räkning.
Varning
I den här förhandsversionen kan en kunskapskälla i Work IQ använda Work IQ-funktioner som kan utföra åtgärder, inte bara hämtar information. Använd det med försiktighet, begränsa åtkomsten till betrodda program och användare och granska ditt scenarios behörigheter och styrningskontroller innan du aktiverar det.
Användningsstöd
| Azure Portal | Microsoft Foundry-portalen | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST API |
|---|---|---|---|---|---|---|
| ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ✔️ |
Förutsättningar
En Azure AI-sökning-tjänst i valfri region som tillhandahåller agentdriven hämtning.
En användningsbaserad faktureringsplan för Arbets-IQ som konfigurerats i Copilot Studio med en Azure-prenumeration och resursgrupp. Tilldela varje användare som använder Work IQ till debiteringsplanen.
Din Microsoft Entra klient har aktiverats för Work IQ. När faktureringen har konfigurerats slutför en Microsoft Entra global administratör den här engångskonfigurationen.
Ett klientprogram som loggar in användare och skickar hämtningsbegäranden.
Rekommenderade Microsoft Entra roller för varje appinstallationsåtgärd:
Programutvecklare för att skapa en appregistrering.
Appregistreringsägare eller en administratörsroll som stöds för att skapa dess federerade identitetsautentiseringsuppgifter.
Administratör för molnprogram eller programadministratör om du vill bevilja administratörsmedgivande för hela klientorganisationen för den
WorkIQAgent.Askdelegerade behörigheten.
Behörighet att skapa kunskapskällor. Konfigurera nyckellös autentisering med rollen Search Service-deltagare tilldelad till ditt användarkonto (rekommenderas) eller använd en administratörs-API-nyckel.
Det senaste
Azure.Search.Documentsförhandsversionspaketet:dotnet add package Azure.Search.Documents --prereleaseFör nyckellös autentisering, paketet
Azure.Identity:dotnet add package Azure.Identity
Det senaste
azure-search-documentsförhandsversionspaketet:pip install --pre azure-search-documentsFör nyckellös autentisering, paketet
azure-identity:pip install azure-identity
Versionen 2026-08-01-preview av REST-API:t för söktjänsten.
För nyckellös autentisering inkluderar du en Microsoft Entra ID token i rubriken för
Authorizationvarje HTTP-begäran.
Datastyrning och efterlevnad
Innan du aktiverar hämtning i Work IQ bör du läsa igenom Data, integritet och säkerhet för Microsoft 365 Copilot.
Dataanvändning och sekretess
Uppmaningar, svar och data som nås via Microsoft Graph används inte för att träna grundläggande språkmodeller.
Åtkomstkontroll
Arbets-IQ tillämpar Microsoft 365 behörigheter för varje begäran. Hämtning returnerar endast organisationsdata som den inloggade användaren har behörighet att komma åt.
Datahemvist och efterlevnad
Granska Microsoft 365 dokumentationen för de åtaganden om datahemvist, sekretess, säkerhet och efterlevnad som gäller för din organisation och ditt scenario.
Konfigurera Microsoft Entra-autentisering
Från och med 2026-08-01-preview API-versionen använder varje Work IQ-kunskapskälla en kundägd Microsoft Entra appregistrering för autentisering.
Vid frågetillfället fungerar autentiseringen på följande sätt:
- Klientappen loggar in användaren och skickar ett användarintyg till Azure AI-sökning.
- Söktjänstens hanterade identitet autentiseras som den kundägda appen via en federerad autentiseringsuppgift.
- Azure AI-sökning utbyter användarintyget mot en delegerad Work IQ-token och anropar Work IQ å den inloggade användarens vägnar.
Ingen klienthemlighet lagras i kunskapskällan Work IQ. Konfigurera appen och dess behörigheter en gång och skapa sedan en federerad autentiseringsuppgift för varje söktjänstidentitet som använder appen.
Konfigurera registrering av Work IQ-appen
Så här konfigurerar du den kundägda app som Azure AI-sökning använder för att anropa Arbets-IQ:
Registrera en applikation i Microsoft Entra-klientorganisationen där du vill hantera samtycke för Work IQ. För Kontotyper som stöds väljer du Endast konton i den här organisationskatalogen.
På appregistreringens sida Översikt kopierar du Program-ID (klient) och Katalog-ID (klientorganisation). Du behöver program-ID:t för att konfigurera Work IQ-autentisering och klientorganisations-ID:t för att logga in på klientorganisationen som innehåller appregistreringen.
På sidan Exponera ett API för appregistrering lägger du till det obligatoriska delegerade omfånget med namnet exakt
access_as_user. Använd det här gemena namnet; ersätt inte ett annat omfångsnamn. Det fullständiga omfånget ärapi://<application-client-id>/access_as_user.På appregistreringens sida API-behörigheter väljer du Lägg till en behörighet>API:er som min organisation använder.
Sök efter Arbets-IQ (program-ID
fdcc1f02-fc51-4226-8753-f668596af7f7), välj Delegerade behörigheter>WorkIQAgent.Ask och välj sedan Lägg till behörigheter.Låt en administratör med en medgivanderoll som anges i förhandskraven välja Bevilja administratörsmedgivande för [din klient] på samma sida. Det här samtycket gör det möjligt för appen att byta ut ett användarintyg mot en delegerad Work IQ-token.
Konfigurera söktjänstidentiteten
Så här konfigurerar du den identitet som Azure AI-sökning använder för att autentisera som din Work IQ-app:
Aktivera en systemtilldelad hanterad identitet i söktjänsten. Om du inte kan använda en systemtilldelad identitet konfigurerar du exakt en användartilldelad identitet. En söktjänst med flera användartilldelade identiteter och ingen systemtilldelad identitet stöds inte.
På söktjänstens identitetssida kopierar du objekt-ID:t (huvudnamn). Den federerade autentiseringsuppgiften använder det här värdet som dess
subject.Gå till Microsoft Entra ID>Översikt och kopiera klientorganisations-ID:t. Den federerade autentiseringsuppgiften använder det här värdet i sin
issuerURL.
Skapa en federerad autentiseringsuppgift
Så här skapar du en federerad autentiseringsuppgift för söktjänstens identitet:
Skapa en fil som heter
credential.json. Ersätt<search-service-name>,<search-service-tenant-id>och<search-service-principal-id>med värden för söktjänsten.{ "name": "<search-service-name>-identity", "issuer": "https://login.microsoftonline.com/<search-service-tenant-id>/v2.0", "subject": "<search-service-principal-id>", "audiences": ["api://AzureADTokenExchange"] }Namnet på autentiseringsuppgifterna måste vara unikt för appregistreringen. Värdet
subjectmåste matcha huvud-ID:t för den hanterade identiteten exakt. Ett matchningsfel uppstår när du frågar, inte när du skapar kunskapskällan.Logga in i Azure CLI med den klientorganisation som innehåller appregistreringen.
az login --tenant <app-tenant-id> --allow-no-subscriptionsSkapa federerade autentiseringsuppgifter.
az ad app federated-credential create --id <application-client-id> --parameters credential.json --query id --output tsvKopiera kommandoutdata. Använd det här värdet för
federatedCredentialIdnär du skapar kunskapskällan Work IQ.
Varje federerad autentiseringsuppgift litar på ett huvud-ID för hanterad identitet. Om en annan söktjänstidentitet använder appregistreringen upprepar du den här proceduren med ett unikt autentiseringsnamn och identitetens klient- och huvudnamns-ID. Använd motsvarande autentiserings-ID för varje arbets-IQ-kunskapskälla.
Konfigurera klientappen
Så här konfigurerar du appen som loggar in användare och skickar hämtningsbegäranden:
På klientappens sida API-behörigheter väljer du Lägg till en behörighet>API:er som min organisation använder.
Klistra in Program-ID:t (klient) som du kopierade tidigare i sökrutan och välj sedan Work IQ-appregistreringen.
Välj Delegerade behörigheter>access_as_user och välj sedan Lägg till behörigheter.
Genomför eventuella samtycken som krävs enligt din klientorganisations policy för användarsamtycke. Om administratörsmedgivande krävs måste en administratör välja Bevilja administratörsmedgivande för [din klientorganisation].
Klientappen kan nu begära ett användarintyg för Work IQ-appregistreringen. Behörigheten access_as_user ger inte klientappen direkt åtkomst till Work IQ.
Autentiseringsvärden
När du skapar en arbets-IQ-kunskapskälla använder du följande entraAppAuthentication värden från din Microsoft Entra appkonfiguration. Varje värde som du anger måste vara ett GUID.
| Property | Obligatoriskt | Value |
|---|---|---|
applicationId |
Ja | Program-ID (klient) för din Arbets-IQ-appregistrering. |
federatedCredentialId |
Ja | Objekt-ID för de federerade autentiseringsuppgifter som du skapade i appen. Det är inte autentiseringsuppgiftens namn och det är inte söktjänstens tjänsthuvud-ID. |
tenantId |
No | Katalog-ID (klientorganisation) för appregistreringen. Utelämna den här egenskapen när appregistrerings- och söktjänsten finns i samma klientorganisation. Om de finns i olika klientorganisationer krävs den här egenskapen. |
Sök efter befintliga kunskapskällor
En kunskapskälla är ett återanvändbart objekt på toppnivå. Att känna till befintliga kunskapskällor är användbart för återanvändning eller namngivning av nya objekt.
Kör följande kod för att lista kunskapskällor efter namn och typ.
// 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}");
}
Referens: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})")
Referens:SearchIndexClient
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
Authorization: Bearer {{token}}
Referens:Kunskapskällor – lista
Du kan också returnera en enda kunskapskälla efter namn för att granska dess JSON-definition.
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));
Referens: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))
Referens:SearchIndexClient
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
Authorization: Bearer {{token}}
Referens:Kunskapskällor – Hämta
Följande JSON är ett exempelsvar för en arbets-IQ-kunskapskälla.
{
"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
}
Skapa en kunskapskälla
Kör följande kod för att skapa en arbets-IQ-kunskapskälla.
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}'.");
Referens: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}'.")
Referens: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>"
}
}
}
Tilldelas till en kunskapsbas
Om du är nöjd med kunskapskällan lägger du till den i en kunskapsbas.
Sök i en kunskapsbas
När kunskapsbasen har konfigurerats, anropar du funktionen Hämta eller MCP-slutpunkten för att söka i Work IQ-innehåll. Den här kunskapskällan har unikt framtvingande av behörigheter vid frågetillfället och unika svarskarakteristika.
Important
Det kan ta 40–60 sekunder eller mer att svara på arbets-IQ. För att undvika timeout-fel anger du maxRuntimeInSeconds på begäran om hämtning till 120 eller högre.
Framtvinga behörigheter vid frågetillfället
Från och med API-versionen 2026-08-01-preview använder kunskapskällorna i Work IQ ett tokenflöde av typen on-behalf-of (OBO) via din kundägda Microsoft Entra-appregistrering. Förutom att autentisera hämtningsbegäran till Azure AI-sökning måste klienten också tillhandahålla ett användarintyg för appens målgrupp för den inloggade användaren.
Klientappen måste logga in användaren och hämta användarpåståendet. Hur du skaffar försäkran beror på appens plattform och språk. Använd Microsofts autentiseringsbibliotek (MSAL) och auktoriseringskodflödet med proof key for Code Exchange (PKCE) för att begära det exakta omfånget api://<application-client-id>/access_as_user.
Innan du skickar användarförsäkran, bekräfta att:
-
audidentifierar din Work IQ-appregistrering. -
scpinnehålleraccess_as_user. -
oidochtididentifierar den inloggade användaren och appens klientorganisation.
Skicka båda autentiseringsuppgifterna i samma hämtningsbegäran, som du ser i följande exempel. Använd en Azure AI-sökning-token eller API-nyckel för tjänstautentisering. Skicka det råa användarintyget i rubriken x-ms-query-work-iq-source-authorization, inte 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);
Referens: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)
Referens: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
}
Referens:Kunskapshämtning – Hämta
En lyckad begäran returnerar 200 OK. Bekräfta att activity innehåller en post vars type är workIQ och vars knowledgeSourceName matchar din Work IQ-kunskapskälla. Kontrollera också att references innehåller en post för workIQ.
I följande tabell visas vanliga konfigurationsfel.
| Status | Orsak |
|---|---|
| 400 | Work IQ-auktoriseringshuvudet saknas eller har fel format, obligatoriska användaranspråk saknas eller så har söktjänsten ingen hanterad identitetskonfiguration som stöds. |
| 206 eller 502 | Work IQ-källan misslyckades eftersom tokenutbyte, medgivande, delegerad behörighet, federerade autentiseringsuppgifter, nedströmsauktorisering eller Work IQ-begäran misslyckades eller tidsgränsen översågs. Kontrollera källaktivitetsfelet. Ett 206 svar innebär att en annan källa lyckades. Ett 502 svar innebär att varje vald källa misslyckades eller att en nödvändig källa misslyckades. |
Arbets-IQ-specifika svarsfält
Arbets-IQ-kunskapskällor returnerar resultat i matrisen references och frågediagnostiken i matrisen activity . Varje referenspost innehåller:
-
sourceData.parts[].text: Förankrade textavsnitt från Work IQ. -
sourceData.parts[].data: Arbets-IQ-källhänvisningsdata. Källhänvisningsdelar har medietypenapplication/vnd.ms-workiq-reference.
Följande exempel visar ett svar på en hämtningsbegäran som innehåller en referens till en Work IQ-kunskapskälla och motsvarande aktivitetspost. Mer information om hur du tolkar hämtningssvar finns i Granska svaret.
Tip
Om du vill få sourceData för referenser anger du includeReferenceSourceData som true i posten för kunskapskällan i knowledgeSourceParams i hämtningsbegäran.
{
"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"
}
]
}
}
]
}
Ta bort en kunskapskälla
Innan du kan ta bort en kunskapskälla måste du ta bort alla kunskapsbaser som refererar till den eller uppdatera kunskapsbasdefinitionen för att ta bort referensen. För kunskapskällor som genererar en index- och indexeringspipeline tas även alla genererade objekt bort. Men om du använde ett befintligt index för att skapa en kunskapskälla tas inte ditt index bort.
Om du försöker ta bort en kunskapskälla som används misslyckas åtgärden och returnerar en lista över berörda kunskapsbaser.
Så här tar du bort en kunskapskälla:
Hämta en lista över alla kunskapsbaser i söktjänsten.
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}"); }Referens:SearchIndexClient
Ett exempelsvar kan se ut så här:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Hämta en individuell kunskapsbasdefinition för att söka efter referenser till kunskapskällor.
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);Referens:SearchIndexClient
Ett exempelsvar kan se ut så här:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Ta antingen bort kunskapsbasen eller, om du har flera kunskapskällor, uppdatera kunskapsbasen för att ta bort källan. Det här exemplet visar borttagning.
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.");Referens:SearchIndexClient
Ta bort kunskapskällan.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Referens:SearchIndexClient
Hämta en lista över alla kunskapsbaser i söktjänsten.
# 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}")Referens:SearchIndexClient
Ett exempelsvar kan se ut så här:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Hämta en individuell kunskapsbasdefinition för att söka efter referenser till kunskapskällor.
# 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)Referens:SearchIndexClient
Ett exempelsvar kan se ut så här:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Ta antingen bort kunskapsbasen eller, om du har flera kunskapskällor, uppdatera kunskapsbasen för att ta bort källan. Det här exemplet visar borttagning.
# 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.")Referens:SearchIndexClient
Ta bort kunskapskällan.
# 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.")Referens:SearchIndexClient
Hämta en lista över alla kunskapsbaser i söktjänsten.
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name Authorization: Bearer {{token}}Referens:Kunskapsbaser – lista
Ett exempelsvar kan se ut så här:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Hämta en individuell kunskapsbasdefinition för att söka efter referenser till kunskapskällor.
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Referens:Kunskapsbaser – Hämta
Ett exempelsvar kan se ut så här:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Ta antingen bort kunskapsbasen eller, om du har flera kunskapskällor, uppdatera kunskapsbasen för att ta bort källan. Det här exemplet visar borttagning.
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Referens:Kunskapsbaser – Ta bort
Ta bort kunskapskällan.
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Referens:Kunskapskällor – Ta bort