Een werk-IQ-kennisbron maken (preview)

Note

Azure AI Zoeken is beschikbaar via de Azure-portal, REST API's en Azure-SDK's. Het vormt ook een basis voor Foundry IQ, de beheerde kennislaag die bedrijfsinhoud transformeert in herbruikbare, machtigingsbewuste knowledge bases voor agents in de Microsoft Foundry-portal.

Important

Deze functies en functionaliteit maken deel uit van de REST API 2026-08-01-preview. De preview-versie van 2026-08-01 is aan u gelicentieerd als onderdeel van uw Azure-abonnement en is onderworpen aan de voorwaarden die van toepassing zijn op 'Previews' in de Microsoft Productvoorwaarden, de Microsoft Addendum voor producten en services voor gegevensbescherming ("DPA") en de aanvullende gebruiksvoorwaarden voor Microsoft Azure previews.

De preview-versie van 2026-08-01 ondersteunt verbindingen met andere services van Microsoft-services en services van derden. Het gebruik van deze services is onderhevig aan hun respectieve voorwaarden en kan leiden tot gegevensverwerking of opslag buiten de grens van Azure naleving, evenals gegevens die naar de grens van de Azure naleving stromen.

Wanneer u verbinding maakt met Work IQ, worden er mogelijk kosten in rekening gebracht en worden gegevens mogelijk buiten de Azure nalevingsgrens verzonden en verwerkt volgens de toepasselijke servicevoorwaarden en het beleid voor gegevensverwerking. Het is uw verantwoordelijkheid om te beheren of uw gegevens stromen buiten de nalevings- en geografische grenzen van uw organisatie en eventuele gerelateerde implicaties, en dat de juiste machtigingen, grenzen en goedkeuringen worden ingericht.

U bent verantwoordelijk voor het zorgvuldig beoordelen en testen van toepassingen die u bouwt in de context van uw specifieke use cases en het nemen van alle juiste beslissingen en aanpassingen. Deze verantwoordelijkheid omvat het implementeren van uw eigen verantwoorde AI-oplossingen, zoals metaprompts, inhoudsfilters of andere veiligheidssystemen, en ervoor zorgen dat uw toepassingen voldoen aan de juiste normen voor kwaliteit, betrouwbaarheid, beveiliging en betrouwbaarheid. Zie de Azure AI Zoeken Transparantienotitie voor meer informatie.

Een Werk IQ-kennisbron (preview) verbindt Werk IQ met een agentische ophaalpijplijn in Azure AI Zoeken. Kennisbronnen worden onafhankelijk gemaakt, waarnaar wordt verwezen in een knowledge base en worden gebruikt als grondgegevens wanneer de knowledge base tijdens runtime wordt opgevraagd.

Werk IQ geeft organisatie-intelligentie weer van uw Microsoft 365 inhoud, waaronder documenten, e-mailberichten, vergaderingen en activiteiten in Microsoft 365 apps.

In tegenstelling tot geïndexeerde kennisbronnen vragen Work IQ-kennisbronnen livegegevens rechtstreeks op op het moment van ophalen. Er is geen opnamepijplijn nodig. Voor query's is een gebruikerstoegangstoken vereist dat is uitgegeven voor de registratie van uw Microsoft Entra-app. Azure AI Zoeken wisselt dat token uit voor een gedelegeerd Work IQ-token en roept Work IQ namens de gebruiker aan.

Warning

In deze preview kan een Work IQ-kennisbron Work IQ-mogelijkheden inzetten waarmee acties worden uitgevoerd, in plaats van alleen informatie op te halen. Gebruik deze met zorg, beperk de toegang tot vertrouwde toepassingen en gebruikers en controleer de machtigingen en beheeropties van uw scenario voordat u deze inschakelt.

Gebruiksondersteuning

Azure-portal Microsoft Foundry-portal .NET SDK Python SDK Java SDK JavaScript SDK REST API
✔️ ✔️ ✔️

Prerequisites

  • Het nieuwste preview-pakket Azure.Search.Documents: dotnet add package Azure.Search.Documents --prerelease

  • Voor sleutelloze verificatie is het Azure.Identity pakket: dotnet add package Azure.Identity

  • Het nieuwste preview-pakket azure-search-documents: pip install --pre azure-search-documents

  • Voor sleutelloze verificatie is het azure-identity pakket: pip install azure-identity

Gegevensbeheer en naleving

Voordat u Work IQ-ophalen inschakelt, bekijkt u Gegevens, privacy en beveiliging voor Microsoft 365 Copilot.

Gegevensgebruik en privacy

Prompts, antwoorden en gegevens die worden geopend via Microsoft Graph worden niet gebruikt om basistaalmodellen te trainen.

Toegangsbeheer

Work IQ past Microsoft 365 machtigingen toe op elke aanvraag. Bij het ophalen worden alleen organisatiegegevens geretourneerd waartoe de aangemelde gebruiker toegang heeft.

Gegevenslocatie en -naleving

Raadpleeg de Microsoft 365 documentatie voor de gegevenslocatie, privacy, beveiliging en nalevingsverplichtingen die van toepassing zijn op uw organisatie en scenario.

Microsoft Entra-authenticatie instellen

Vanaf de 2026-08-01-preview API-versie maakt elke Work IQ-kennisbron gebruik van een Microsoft Entra app-registratie in eigendom van de klant voor verificatie. Bij het uitvoeren van query's werkt verificatie als volgt:

  1. De client-app meldt zich aan bij de gebruiker en stuurt een gebruikersverklaring naar Azure AI Zoeken.
  2. De beheerde identiteit van de zoekservice verifieert zich als de app die eigendom is van de klant via een federatieve referentie.
  3. Azure AI Zoeken wisselt de gebruikersassertie uit voor een gedelegeerd Work IQ-token en roept Work IQ aan namens de aangemelde gebruiker.

Er wordt geen clientgeheim opgeslagen in de Work IQ-kennisbron. Configureer de app en de bijbehorende machtigingen eenmaal en maak vervolgens een federatieve referentie voor elke zoekservice-id die gebruikmaakt van de app.

De registratie van de Work IQ-app configureren

Ga als volgt te werk om de app van de klant te configureren die Azure AI Zoeken gebruikt om Work IQ aan te roepen:

  1. Registreer een toepassing in de Microsoft Entra tenant waar u Werk IQ-toestemming wilt beheren. Bij Ondersteunde accounttypen selecteert u Enkel accounts in deze organisatieadreslijst.

  2. Kopieer op de pagina Overview van de app-registratie de Application (client) ID en de Directory (tenant) ID. U hebt de toepassings-id nodig om Work IQ-verificatie en de tenant-id te configureren om u aan te melden bij de tenant die de app-registratie bevat.

  3. Voeg op de pagina Een API beschikbaar stellen van de app-registratie het vereiste gedelegeerde bereik toe met exact de naam access_as_user. Gebruik deze naam in kleine letters; vervang geen andere scopenaam. Het volledige bereik is api://<application-client-id>/access_as_user.

  4. Selecteer op de pagina API-machtigingen van de app-registratie de optie Een machtigings-API>toevoegen die door mijn organisatie wordt gebruikt.

  5. Zoek naar Work IQ (toepassings-idfdcc1f02-fc51-4226-8753-f668596af7f7), selecteer Gedelegeerde machtigingen >WorkIQAgent.Ask en selecteer vervolgens Machtigingen toevoegen.

  6. Laat een beheerder die, zoals vermeld bij de vereisten, bevoegd is om toestemming te verlenen, op dezelfde pagina Beheerderstoestemming verlenen voor [uw tenant] selecteren. Met deze toestemming kan de app een gebruikersverklaring uitwisselen voor een gedelegeerd Work IQ-token.

De identiteit van de zoekservice configureren

Ga als volgt te werk om de identiteit te configureren die Azure AI Zoeken gebruikt om zich te authenticeren als uw Work IQ-app:

  1. Schakel een door het systeem toegewezen beheerde identiteit in voor uw zoekservice. Als u geen door het systeem toegewezen identiteit kunt gebruiken, configureert u precies één door de gebruiker toegewezen identiteit. Een zoekservice met meerdere door de gebruiker toegewezen identiteiten en geen door het systeem toegewezen identiteit wordt niet ondersteund.

  2. Kopieer op de pagina Identiteit van de zoekservice de id van het object (principal). De gefedereerde referentie gebruikt deze waarde als subject.

  3. Ga naar Microsoft Entra ID>Overview en kopieer de tenant-id. De federatieve referentie gebruikt deze waarde in de issuer URL.

Een federatieve inloggegevens maken

Een federatieve referentie maken voor de identiteit van de zoekservice:

  1. Maak een bestand met de naam credential.json. Vervang , <search-service-tenant-id>en <search-service-principal-id> door <search-service-name>waarden voor uw zoekservice.

    {
      "name": "<search-service-name>-identity",
      "issuer": "https://login.microsoftonline.com/<search-service-tenant-id>/v2.0",
      "subject": "<search-service-principal-id>",
      "audiences": ["api://AzureADTokenExchange"]
    }
    

    De referentienaam moet uniek zijn voor de app-registratie. De subject waarde moet exact overeenkomen met de principal-id van de beheerde identiteit. Een discrepantie wordt pas zichtbaar wanneer u een query uitvoert, niet wanneer u de kennisbron aanmaakt.

  2. Meld u aan bij de Azure CLI met de tenant die de app-registratie bevat.

    az login --tenant <app-tenant-id> --allow-no-subscriptions
    
  3. Maak de federatieve referentie.

    az ad app federated-credential create --id <application-client-id> --parameters credential.json --query id --output tsv
    
  4. Kopieer de uitvoer van de opdracht. Gebruik deze waarde voor federatedCredentialId wanneer u de Werk IQ-kennisbron maakt.

Elke federatieve referentiegegevens vertrouwt op één principal-id van een beheerde identiteit. Als een andere zoekservice-id gebruikmaakt van de app-registratie, herhaalt u deze procedure met een unieke referentienaam en de tenant- en principal-id's van die identiteit. Gebruik de bijbehorende referentie-id voor elke Work IQ-kennisbron.

De client-app configureren

De app configureren waarmee gebruikers worden aangemeld en ophaalaanvragen verzendt:

  1. Selecteer op de pagina API-machtigingen van de client-app de optie Een machtigings-API>toevoegen die door mijn organisatie wordt gebruikt.

  2. Plak de toepassings-id (client) die u eerder in het zoekvak hebt gekopieerd en selecteer vervolgens de registratie van de Work IQ-app.

  3. Selecteer Gedelegeerde machtigingen>access_as_user en selecteer vervolgens Machtigingen toevoegen.

  4. Voltooi eventuele toestemming die is vereist voor het gebruikerstoestemmingsbeleid van uw tenant. Als beheerderstoestemming vereist is, laat u een beheerder Beheerdersgoedkeuring verlenen voor [uw tenant] selecteren.

De client-app kan nu een gebruikersverklaring aanvragen voor de registratie van de Work IQ-app. De access_as_user machtiging verleent de client-app geen directe toegang tot Work IQ.

Verificatiewaarden

Wanneer u een Work IQ-kennisbron maakt, gebruikt u de volgende entraAppAuthentication waarden uit de installatie van uw Microsoft Entra-app. Elke waarde die u opgeeft, moet een GUID zijn.

Vastgoed Required Value
applicationId Ja Toepassings-id (client) van de registratie van uw Werk IQ-app.
federatedCredentialId Ja Object-ID van de federatieve aanmeldingsgegevens die u in de app hebt gemaakt. Dit is niet de referentienaam en is niet de principal-id van de zoekservice.
tenantId No Directory-id (de tenant) van de app-registratie. Laat deze eigenschap weg wanneer de app-registratie en zoekservice zich in dezelfde tenant bevinden. Als ze zich in verschillende tenants bevinden, is deze eigenschap verplicht.

Controleren op bestaande kennisbronnen

Een kennisbron is een herbruikbaar object op het hoogste niveau. Kennis over bestaande kennisbronnen is handig voor het opnieuw gebruiken of benoemen van nieuwe objecten.

Voer de volgende code uit om kennisbronnen op naam en type weer te geven.

// 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}");
}

Naslaginformatie: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})")

Naslaginformatie:SearchIndexClient

### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
Authorization: Bearer {{token}}

Naslaginformatie:Kennisbronnen - Lijst

U kunt ook één kennisbron op naam retourneren om de JSON-definitie ervan te controleren.

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));

Naslaginformatie: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))

Naslaginformatie:SearchIndexClient

### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
Authorization: Bearer {{token}}

Naslaginformatie:Kennisbronnen ophalen

De volgende JSON is een voorbeeldantwoord voor een Werk IQ-kennisbron.

{
  "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
}

Een kennisbron maken

Voer de volgende code uit om een Work IQ-kennisbron te maken.

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}'.");

Referentie: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}'.")

Referentie: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>"
    }
  }
}

Naslaginformatie:Kennisbronnen - Maken of bijwerken

Toewijzen aan een kennisbank

Als u tevreden bent met de kennisbron, voegt u deze toe aan een knowledge base.

Een query uitvoeren op een Knowledge Base

Nadat de kennisbank is geconfigureerd, roept u de ophaalactie of het MCP-eindpunt aan om Work IQ-inhoud te doorzoeken. Deze kennisbron heeft een unieke afdwinging van machtigingen tijdens query's en unieke antwoordkenmerken.

Important

Het kan 40–60 seconden of langer duren voordat Work IQ reageert. Als u time-outfouten wilt voorkomen, stelt u maxRuntimeInSeconds de ophaalaanvraag in op 120 of hoger.

Machtigingen afdwingen tijdens het uitvoeren van query's

Vanaf de 2026-08-01-preview API-versie gebruiken Work IQ-kennisbronnen een on-behalf-of (OBO)-tokenstroom via de Microsoft Entra-app-registratie van uw klant. Naast het verifiëren van de ophaalaanvraag voor Azure AI Zoeken, moet uw client een app-doelgroep-gebruikersverklaring opgeven voor de aangemelde gebruiker.

Uw client-app moet zich aanmelden bij de gebruiker en de gebruikersverklaring verkrijgen. Hoe u de assertie verkrijgt, is afhankelijk van het platform en de taal van de app. Gebruik Microsoft Authentication Library (MSAL) en de autorisatiecodestroom met Proof Key for Code Exchange (PKCE) om het exacte bereik api://<application-client-id>/access_as_useraan te vragen.

Voordat u de assertie van de gebruiker verzendt, moet u bevestigen dat:

  • aud duidt de registratie van uw Work IQ-app aan.
  • scp bevat access_as_user.
  • oid en tid identificeer de aangemelde gebruiker en app-tenant.

Verzend beide referenties in dezelfde ophaalaanvraag, zoals wordt weergegeven in het volgende voorbeeld. Gebruik een Azure AI Zoeken token of API-sleutel voor serviceverificatie. Geef de onbewerkte gebruikersverklaring door in de x-ms-query-work-iq-source-authorization header, niet 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);

Naslaginformatie: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)

Naslaginformatie: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
}

Naslaginformatie:Kennis ophalen - Ophalen

Een geslaagde aanvraag retourneert 200 OK. Bevestig dat activity een item bevat waarvan typeworkIQ is en waarvan knowledgeSourceName overeenkomt met je Work IQ-kennisbron. Controleer ook of dit references een workIQ vermelding bevat.

De volgende tabel bevat veelvoorkomende configuratiefouten.

Status Oorzaak
400 De werk-IQ-autorisatieheader ontbreekt of is onjuist, vereiste gebruikersclaims zijn afwezig of de zoekservice heeft geen ondersteunde configuratie voor beheerde identiteiten.
206 of 502 De Work IQ-bron is mislukt omdat de tokenuitwisseling, toestemming, gedelegeerde machtiging, federatieve referentie, downstreamautorisatie of de Work IQ-aanvraag is mislukt of er een time-out is opgetreden. Controleer de fout in de bronactiviteit. Een 206 antwoord betekent dat een andere bron is geslaagd. Een 502 antwoord betekent dat elke geselecteerde bron is mislukt of dat een vereiste bron is mislukt.

Iq-specifieke antwoordvelden werken

Werk-IQ-kennisbronnen retourneren resultaten in de references matrix en querydiagnose in de activity matrix. Elke verwijzingsvermelding bevat:

  • sourceData.parts[].text: Onderbouwde tekstfragmenten van Work IQ.
  • sourceData.parts[].data: Work IQ-citeringsgegevens. Bronvermeldingsonderdelen hebben het mediatype application/vnd.ms-workiq-reference.

In het volgende voorbeeld wordt een ophaalsantwoord weergegeven dat een verwijzing naar een Work IQ-kennisbron en het bijbehorende activiteitenrecord bevat. Zie Het antwoord controleren voor bredere richtlijnen voor het interpreteren van antwoorden.

Tip

Om sourceData voor referenties te ontvangen, stelt u includeReferenceSourceData in op true bij het item van de kennisbron in knowledgeSourceParams van het ophaalverzoek.

{
  "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"
          }
        ]
      }
    }
  ]
}

Een kennisbron verwijderen

Voordat u een kennisbron kunt verwijderen, moet u een knowledge base verwijderen die ernaar verwijst of de knowledge base-definitie bijwerken om de verwijzing te verwijderen. Voor kennisbronnen die een index- en indexeerpijplijn genereren, worden ook alle gegenereerde objecten verwijderd. Als u echter een bestaande index hebt gebruikt om een kennisbron te maken, wordt uw index niet verwijderd.

Als u probeert een kennisbron te verwijderen die in gebruik is, mislukt de actie en wordt een lijst met betrokken knowledge bases geretourneerd.

Een kennisbron verwijderen:

  1. Haal een lijst op met alle knowledge bases op uw zoekservice.

    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}");
    }
    

    Naslaginformatie:SearchIndexClient

    Een voorbeeld van een antwoord kan er als volgt uitzien:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Haal een afzonderlijke Knowledge Base-definitie op om te controleren op verwijzingen naar kennisbronnen.

    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);
    

    Naslaginformatie:SearchIndexClient

    Een voorbeeld van een antwoord kan er als volgt uitzien:

     {
       "Name": "earth-knowledge-base",
       "KnowledgeSources": [
         {
           "Name": "earth-knowledge-source"
         }
       ],
       "Models": [
         {}
       ],
       "RetrievalReasoningEffort": {},
       "OutputMode": {},
       "ETag": "\u00220x8DE278629D782B3\u0022",
       "EncryptionKey": null,
       "Description": null,
       "RetrievalInstructions": null,
       "AnswerInstructions": null
     }
    
  3. Verwijder de knowledge base of werk de knowledge base bij als u meerdere kennisbronnen hebt om de bron te verwijderen. In dit voorbeeld ziet u de verwijdering.

    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.");
    

    Naslaginformatie:SearchIndexClient

  4. Verwijder de kennisbron.

    await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName);
    System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");
    

    Naslaginformatie:SearchIndexClient

  1. Haal een lijst op met alle knowledge bases op uw zoekservice.

    # 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}")
    

    Naslaginformatie:SearchIndexClient

    Een voorbeeld van een antwoord kan er als volgt uitzien:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Haal een afzonderlijke Knowledge Base-definitie op om te controleren op verwijzingen naar kennisbronnen.

    # 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)
    

    Naslaginformatie:SearchIndexClient

    Een voorbeeld van een antwoord kan er als volgt uitzien:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks"
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Verwijder de knowledge base of werk de knowledge base bij als u meerdere kennisbronnen hebt om de bron te verwijderen. In dit voorbeeld ziet u de verwijdering.

    # 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.")
    

    Naslaginformatie:SearchIndexClient

  4. Verwijder de kennisbron.

    # 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.")
    

    Naslaginformatie:SearchIndexClient

  1. Haal een lijst op met alle knowledge bases op uw zoekservice.

    ### Get knowledge bases
    GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name
    Authorization: Bearer {{token}}
    

    Naslaginformatie:Knowledge Bases - Lijst

    Een voorbeeld van een antwoord kan er als volgt uitzien:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Haal een afzonderlijke Knowledge Base-definitie op om te controleren op verwijzingen naar kennisbronnen.

    ### Get a knowledge base definition
    GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
    Authorization: Bearer {{token}}
    

    Naslaginformatie:Kennisbanken - Verkrijgen

    Een voorbeeld van een antwoord kan er als volgt uitzien:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks"
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Verwijder de knowledge base of werk de knowledge base bij als u meerdere kennisbronnen hebt om de bron te verwijderen. In dit voorbeeld ziet u de verwijdering.

    ### Delete a knowledge base
    DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
    Authorization: Bearer {{token}}
    

    Naslaginformatie:Knowledge Bases - Verwijderen

  4. Verwijder de kennisbron.

    ### Delete a knowledge source
    DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
    Authorization: Bearer {{token}}
    

    Naslaginformatie:Kennisbronnen - Verwijderen