İş IQ bilgi kaynağı oluşturma (önizleme)

Not

Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.

Important

(önizleme) olarak işaretlenen özellikler, özellikler veya özellikler hizmet düzeyi sözleşmesi kapsamında değildir, üretim iş yükleri için önerilmez ve genel kullanıma sunulmadan önce değişebilir veya kısıtlanabilir. Azure Yapay Zeka Arama önizleme terimleri, tek başına veya genel kullanıma sunulan bir özelliğin parçası olsun, tüm önizleme işlevleri için geçerlidir.

İş IQ'ya bağlandığınızda maliyetler doğurabilir ve veriler Azure uyumluluk sınırının dışına gönderilip ilgili hizmet koşullarına ve veri işleme ilkelerine göre işlenebilir.

Bir Work IQ bilgi kaynağı (önizleme), Work IQ'yu Azure Yapay Zeka Arama'teki aracı tabanlı alma işlem hattına bağlar. Bilgi kaynakları bağımsız olarak oluşturulur, bilgi bankasında başvurulur ve çalışma zamanında bilgi bankası sorgulandığında temel veri olarak kullanılır.

İş IQ'su belgeler, e-postalar, toplantılar ve Microsoft 365 uygulamalarındaki etkinlikler dahil olmak üzere Microsoft 365 içeriğinizdeki kurumsal zekayı ortaya çıkartır.

Dizine alınan bilgi kaynaklarından farklı olarak, İş IQ bilgi kaynakları canlı verileri alma zamanında doğrudan sorgular. Alım işlem hattı gerekmez. Sorgular, Microsoft Entra uygulama kaydınız için bir kullanıcı erişim belirteci verilmesini gerektirir. Azure Yapay Zeka Arama bu belirteci devredilmiş bir Work IQ belirteci ile değiştirir ve kullanıcı adına Work IQ'yu çağırır.

Warning

Bu önizlemede, bir Work IQ bilgi kaynağı yalnızca bilgi almakla kalmayıp eylem de gerçekleştiren Work IQ özelliklerinden yararlanabilir. Bunu dikkatli kullanın, güvenilen uygulamalara ve kullanıcılara erişimi sınırlayın ve etkinleştirmeden önce senaryonuzun izinlerini ve idare denetimlerini gözden geçirin.

Kullanım desteği

Azure portalı Microsoft Foundry portalı .NET SDK Python SDK'sı Java SDK JavaScript SDK'sı REST API
❌ ❌ ✔️ ✔️ ❌ ❌ ✔️

Prerequisites

  • En son Azure.Search.Documents önizleme paketi: dotnet add package Azure.Search.Documents --prerelease

  • Anahtarsız kimlik doğrulaması için Azure.Identity paket: dotnet add package Azure.Identity

Veri idaresi ve uyumluluk

Work IQ alma özelliğini etkinleştirmeden önce Microsoft Copilot için Veri, Gizlilik ve Güvenlik bölümünü gözden geçirin.

Veri kullanımı ve gizlilik

Microsoft Graph aracılığıyla erişilen istemler, yanıtlar ve veriler temel dil modellerini eğitmek için kullanılmaz.

Erişim denetimi

İş IQ,her istekte Microsoft 365 izinleri uygular. Alma yalnızca oturum açmış kullanıcının erişim iznine sahip olduğu kuruluş verilerini döndürür.

Veri yerleşimi ve uyumluluk

Kuruluşunuz ve senaryonuz için geçerli olan veri yerleşimi, gizlilik, güvenlik ve uyumluluk taahhütleri için Microsoft 365 belgelerini gözden geçirin.

Microsoft Entra kimlik doğrulamayı ayarlama

2026-08-01-preview API sürümünden itibaren, her Work IQ bilgi kaynağı kimlik doğrulaması için müşteriye ait bir Microsoft Entra uygulama kaydı kullanır. Sorgu zamanında kimlik doğrulaması aşağıdaki gibi çalışır:

  1. İstemci uygulaması kullanıcının oturum açmasını sağlar ve Azure Yapay Zeka Arama'e bir kullanıcı onayı gönderir.
  2. Arama hizmeti yönetilen kimliği, federasyon kimlik bilgileri aracılığıyla müşteriye ait uygulama olarak kimlik doğrulaması yapar.
  3. Azure Yapay Zeka Arama, kullanıcı beyanını devredilmiş bir Work IQ belirteciyle değiş tokuş eder ve oturum açmış kullanıcı adına Work IQ’yu çağırır.

Work IQ bilgi kaynağında hiçbir istemci parolası depolanmaz. Uygulamayı ve izinlerini bir kez yapılandırın ve ardından uygulamayı kullanan her arama hizmeti kimliği için bir federasyon kimlik bilgisi oluşturun.

İş IQ uygulama kaydını yapılandırma

Azure Yapay Zeka Arama’ün Work IQ’yu çağırmak için kullandığı müşteriye ait uygulamayı yapılandırmak için:

  1. Work IQ onayını yönetmek istediğiniz Microsoft Entra kiracısında bir uygulama kaydedin. Desteklenen hesap türleri içinYalnızca bu kuruluş dizinindeki Hesaplar'ı seçin.

  2. Uygulama kaydının Genel Bakış sayfasında Uygulama (istemci) kimliği ve Dizin (kiracı) kimliğini kopyalayın. İş IQ kimlik doğrulamasını yapılandırmak için uygulama kimliğine ve uygulama kaydını içeren kiracıda oturum açmak için kiracı kimliğine ihtiyacınız vardır.

  3. Uygulama kaydının Bir API’yi kullanıma sunma sayfasında, tam olarak adlı access_as_user. Bu küçük harfli adı kullanın; başka bir kapsam adıyla değiştirmeyin. Kapsamın tamamıdır api://<application-client-id>/access_as_user.

  4. Uygulama kaydının API izinleri sayfasındaKuruluşumun kullandığı izin > API'leri ekle'yiseçin.

  5. İş IQ'su (uygulama kimliğifdcc1f02-fc51-4226-8753-f668596af7f7) için arama yapın, Temsilci izinleri>WorkIQAgent.Ask'ı seçin ve ardından İzin ekle'yi seçin.

  6. Önkoşullar bölümünde listelenen onay verme rolüne sahip bir yöneticiden aynı sayfada [kiracınız] için Yönetici onayı verin seçeneğini seçmesini isteyin. Bu onay, uygulamanın bir kullanıcı beyanını devredilmiş bir Work IQ belirteciyle değiştirmesine olanak tanır.

Arama hizmeti kimliğini yapılandırma

Azure Yapay Zeka Arama’ün Work IQ uygulamanız olarak kimlik doğrulamak için kullandığı kimliği yapılandırmak için:

  1. Arama hizmetinizde sistem tarafından atanan yönetilen kimliği etkinleştirin. Sistem tarafından atanan bir kimliği kullanamıyorsanız, yalnızca bir kullanıcı tarafından atanmış kimlik yapılandırın. Kullanıcı tarafından atanan birden çok kimlik içeren ve sistem tarafından atanan kimliği olmayan bir arama hizmeti desteklenmez.

  2. Arama hizmetinin Kimlik sayfasında Nesne (asıl) Kimliğini kopyalayın. Federe kimlik bilgisi, bu değeri subject olarak kullanır.

  3. Microsoft Entra ID>Overview'a gidin ve Kiracı Kimliğini kopyalayın. Federasyon kimlik bilgisi URL'sinde issuer bu değeri kullanır.

Birleştirilmiş kimlik bilgisi oluştur

Arama hizmeti kimliği için federasyon kimlik bilgileri oluşturmak için:

  1. credential.json adlı bir dosya oluşturun. , <search-service-tenant-id>ve <search-service-principal-id> değerlerini arama hizmetinizin değerleriyle değiştirin<search-service-name>.

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

    Kimlik bilgisi adı uygulama kaydında benzersiz olmalıdır. subject değeri, yönetilen kimliğin asıl kimliğiyle tam olarak eşleşmelidir. Bilgi kaynağını oluştururken değil sorguladığınızda uyuşmazlık ortaya çıkar.

  2. Uygulama kaydını içeren kiracı ile Azure CLI'da oturum açın.

    az login --tenant <app-tenant-id> --allow-no-subscriptions
    
  3. Federe kimlik bilgisini oluşturun.

    az ad app federated-credential create --id <application-client-id> --parameters credential.json --query id --output tsv
    
  4. Komut çıkışını kopyalayın. İş IQ bilgi kaynağını oluştururken için federatedCredentialId bu değeri kullanın.

Her federe kimlik bilgisi, tek bir yönetilen kimliğin asıl kimliğine güvenir. Başka bir arama hizmeti kimliği uygulama kaydını kullanıyorsa, bu işlemi benzersiz bir kimlik bilgisi adıyla ve o kimliğin kiracı ve sorumlu kimliğiyle tekrarlayın. Her bir Work IQ bilgi kaynağında ilgili kimlik bilgisi kimliğini kullanın.

İstemci uygulamasını yapılandırma

Kullanıcıların oturum açmasını ve alma istekleri göndermesini sağlayan uygulamayı yapılandırmak için:

  1. İstemci uygulamasının API izinleri sayfasındaKuruluşumun kullandığı izin > API'leri ekle'yiseçin.

  2. Daha önce kopyaladığınız Uygulama (istemci) kimliğini arama kutusuna yapıştırın ve ardından İş IQ uygulaması kaydını seçin.

  3. temsilci izinleri>access_as_user'ı ve ardından İzin ekle'yi seçin.

  4. Kiracınızın kullanıcı onayı ilkesinin gerektirdiği tüm onayları tamamlayın. Yönetici onayı gerekiyorsa bir yöneticinin [kiracınız] için yönetici onayı ver'i seçmesini sağlayın.

İstemci uygulaması artık Work IQ uygulaması kaydı için kullanıcı beyanı isteyebilir. access_as_user izni, istemci uygulamaya Work IQ'ya doğrudan erişim sağlamaz.

Kimlik doğrulama değerleri

İş IQ bilgi kaynağı oluşturduğunuzda, Microsoft Entra uygulama kurulumunuzdan aşağıdaki entraAppAuthentication değerleri kullanın. Sağladığınız her değer bir GUID olmalıdır.

Mülkiyet Zorunlu Value
applicationId Evet İş IQ uygulama kaydınızın uygulama (istemci) kimliği.
federatedCredentialId Evet Uygulamada oluşturduğunuz federasyon kimlik bilgilerinin Nesne Kimliği. Bu kimlik bilgisi adı değil ve arama hizmeti sorumlusu kimliği değil.
tenantId Hayır Uygulama kaydının dizin (kiracı) kimliği. Uygulama kaydı ve arama hizmeti aynı kiracıda olduğunda bu özelliği atla. Farklı kiracılardaysa, bu özellik gereklidir.

Mevcut bilgi kaynaklarını denetleme

Bilgi kaynağı üst düzey, yeniden kullanılabilir bir nesnedir. Mevcut bilgi kaynakları hakkında bilgi edinmek, yeni nesneleri yeniden kullanmak veya adlandırmak için yararlıdır.

Bilgi kaynaklarını ada ve türe göre listelemek için aşağıdaki kodu çalıştırın.

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

Başvuru: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})")

Başvuru:SearchIndexClient

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

Başvuru:Bilgi Kaynakları - Liste

JSON tanımını gözden geçirmek için, ismiyle tek bir bilgi kaynağını da döndürebilirsiniz.

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

Başvuru: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))

Başvuru:SearchIndexClient

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

Başvuru:Bilgi Kaynakları - Get

Aşağıdaki JSON, bir İş IQ bilgi kaynağı için örnek bir yanıttır.

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

Bilgi kaynağı oluşturma

İş IQ bilgi kaynağı oluşturmak için aşağıdaki kodu çalıştırın.

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

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

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

Başvuru:Bilgi Kaynakları - Oluşturma veya Güncelleştirme

Bilgi bankasına atama

Bilgi kaynağından memnunsanız bunu bir bilgi bankasına ekleyin.

Bilgi bankasına sorgu yapma

Bilgi tabanı yapılandırıldıktan sonra, Work IQ içeriğini sorgulamak için retrieve eylemini veya MCP uç noktasını çağırın. Bu bilgi kaynağının, sorgu sırasında izinlerin uygulanması ve yanıt davranışı açısından kendine özgü özellikleri vardır.

Important

çalışma IQ'larının yanıt vermesi 40-60 saniye veya daha uzun sürebilir. Zaman aşımı hatalarını önlemek için alma isteğinde veya daha yüksek bir değere maxRuntimeInSeconds ayarlayın120.

Sorgu zamanında izinleri uygula

2026-08-01-preview API sürümünden itibaren, Work IQ bilgi kaynakları size ait Microsoft Entra uygulama kaydı aracılığıyla on-behalf-of (OBO) belirteç akışı kullanır. İstemciniz, Azure Yapay Zeka Arama’e yapılan alma isteğinin kimliğini doğrulamanın yanı sıra, oturum açmış kullanıcı için uygulama hedef kitlesine yönelik bir kullanıcı beyanı sağlamalıdır.

İstemci uygulamanızın kullanıcıda oturum açması ve kullanıcı onayını alması gerekir. Onaylamayı nasıl edindiğiniz uygulamanın platformuna ve diline bağlıdır. Tam olarak kapsamını istemek için Microsoft Authentication Library'yi (MSAL) ve api://<application-client-id>/access_as_user kullanın.

Kullanıcı onayını göndermeden önce şunları onaylayın:

  • aud Work IQ uygulama kaydınızı tanımlar.
  • scp içerir access_as_user.
  • oid ve tid oturum açmış kullanıcı ve uygulama kiracısını belirleyin.

Aşağıdaki örnekte gösterildiği gibi her iki kimlik bilgisini de aynı alma isteğinde gönderin. Hizmet kimlik doğrulaması için bir Azure Yapay Zeka Arama belirteci veya API anahtarı kullanın. Ham kullanıcı beyanını x-ms-query-work-iq-source-authorization üst bilgisinde iletin, x-ms-query-source-authorization içinde değil.

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

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

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

Referans:Bilgi Getirme - Getir

Başarılı bir istek 200 OK döndürür. knowledgeSourceName öğesinin, type değeri workIQ olan ve activity değeri Work IQ bilgi kaynağınızla eşleşen bir giriş içerdiğini onaylayın. Ayrıca workIQ öğesinin bir references girdisi içerdiğini doğrulayın.

Aşağıdaki tabloda yaygın yapılandırma hataları listelemektedir.

Statü Cause
400 Work IQ yetkilendirme başlığı eksik veya hatalı biçimlendirilmiş, gerekli kullanıcı claim’leri bulunmuyor ya da arama hizmeti desteklenen bir yönetilen kimlik yapılandırmasına sahip değil.
206 veya 502 Work IQ kaynağı; belirteç değişimi, onay, devredilen izin, federe kimlik bilgisi, alt hizmet yetkilendirmesi veya Work IQ isteği başarısız olduğundan ya da zaman aşımına uğradığından başarısız oldu. Kaynak etkinliği hatasını inceleyin. Yanıt 206 , başka bir kaynağın başarılı olduğu anlamına gelir. Yanıt, 502 seçilen her kaynağın başarısız olduğu veya gerekli bir kaynağın başarısız olduğu anlamına gelir.

Work IQ'ya özgü yanıt alanları

Work IQ bilgi kaynakları, sonuçları references dizisinde ve sorgu tanılamalarını activity dizisinde döndürür. Her başvuru girdisi aşağıdakini içerir:

  • sourceData.parts[].text: Work IQ’dan temellendirilmiş metin pasajları.
  • sourceData.parts[].data: Work IQ atıf verileri. Alıntı bölümleri application/vnd.ms-workiq-reference medya türüne sahiptir.

Aşağıdaki örnek, bir Work IQ bilgi kaynağı referansı ile buna karşılık gelen etkinlik kaydını içeren bir alma işlemi yanıtını göstermektedir. Getirme yanıtlarını yorumlamaya ilişkin daha kapsamlı yönergeler için bkz. Yanıtı gözden geçirme.

Tavsiye

Referansları almak için, retrieve isteğinde sourceData içindeki bilgi kaynağı girdisinde includeReferenceSourceData değerini true olarak ayarlayın knowledgeSourceParams.

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

Bilgi kaynağını silme

Bilgi kaynağını silebilmeniz için önce, buna başvuran bilgi bankalarını silmeniz veya başvuruyu kaldırmak için bilgi bankası tanımını güncelleştirmeniz gerekir. Dizin ve dizin oluşturucu işlem hattı oluşturan bilgi kaynakları için , oluşturulan tüm nesneler de silinir. Ancak, bilgi kaynağı oluşturmak için mevcut bir dizini kullandıysanız dizininiz silinmez.

Kullanımda olan bir bilgi kaynağını silmeye çalışırsanız, eylem başarısız olur ve etkilenen bilgi bankalarının listesini döndürür.

Bilgi kaynağını silmek için:

  1. Arama hizmetinizdeki tüm bilgi bankalarının listesini alın.

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

    Başvuru:SearchIndexClient

    Örnek bir yanıt aşağıdaki gibi görünebilir:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Bilgi kaynağı başvurularını denetlemek için tek bir bilgi bankası tanımı alın.

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

    Başvuru:SearchIndexClient

    Örnek bir yanıt aşağıdaki gibi görünebilir:

     {
       "Name": "earth-knowledge-base",
       "KnowledgeSources": [
         {
           "Name": "earth-knowledge-source"
         }
       ],
       "Models": [
         {}
       ],
       "RetrievalReasoningEffort": {},
       "OutputMode": {},
       "ETag": "\u00220x8DE278629D782B3\u0022",
       "EncryptionKey": null,
       "Description": null,
       "RetrievalInstructions": null,
       "AnswerInstructions": null
     }
    
  3. Bilgi bankasını silin veya birden çok bilgi kaynağınız varsa, kaynağı kaldırmak için bilgi bankasını güncelleştirin. Bu örnekte silme işlemi gösterilmektedir.

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

    Başvuru:SearchIndexClient

  4. Bilgi kaynağını silin.

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

    Başvuru:SearchIndexClient

  1. Arama hizmetinizdeki tüm bilgi bankalarının listesini alın.

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

    Başvuru:SearchIndexClient

    Örnek bir yanıt aşağıdaki gibi görünebilir:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Bilgi kaynağı başvurularını denetlemek için tek bir bilgi bankası tanımı alın.

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

    Başvuru:SearchIndexClient

    Örnek bir yanıt aşağıdaki gibi görünebilir:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks"
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Bilgi bankasını silin veya birden çok bilgi kaynağınız varsa, kaynağı kaldırmak için bilgi bankasını güncelleştirin. Bu örnekte silme işlemi gösterilmektedir.

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

    Başvuru:SearchIndexClient

  4. Bilgi kaynağını silin.

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

    Başvuru:SearchIndexClient

  1. Arama hizmetinizdeki tüm bilgi bankalarının listesini alın.

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

    Başvuru:Bilgi Bankaları - Liste

    Örnek bir yanıt aşağıdaki gibi görünebilir:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Bilgi kaynağı başvurularını denetlemek için tek bir bilgi bankası tanımı alın.

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

    Başvuru:Bilgi Bankaları - Get

    Örnek bir yanıt aşağıdaki gibi görünebilir:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks"
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Bilgi bankasını silin veya birden çok bilgi kaynağınız varsa, kaynağı kaldırmak için bilgi bankasını güncelleştirin. Bu örnekte silme işlemi gösterilmektedir.

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

    Başvuru:Bilgi Tabanları - Sil

  4. Bilgi kaynağını silin.

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

    Başvuru:Bilgi Kaynakları - Sil