Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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
Azure Yapay Zeka Arama hizmetinin her hangi bir
bölgesinde özerk bilgi edinimini sağlayan. Azure aboneliği ve kaynak grubuyla Copilot Studio'da ayarlanan Work IQ için kullanım tabanlı faturalama planı. İş IQ'sunu sorgulayan her kullanıcıyı faturalama planına atayın.
Work IQ için etkinleştirilmiş Microsoft Entra kiracınız. Faturalama yapılandırıldıktan sonra, Microsoft Entra Genel Yöneticisi bu tek seferlik kurulumu tamamlar.
Kullanıcıların oturum açmasını sağlayan ve veri alma istekleri gönderen bir istemci uygulaması.
Her uygulama kurulumu eylemi için önerilen Microsoft Entra rolleri:
Bir uygulama kaydı oluşturmak için Uygulama Geliştirici.
federe kimlik kimlik bilgisini oluşturmak için uygulama kaydı sahibi veya desteklenen bir yönetici rolüne sahip olmak gerekir.
Bulut Uygulaması Yöneticisi veya Uygulama Yöneticisi’nin,
WorkIQAgent.Askdevredilmiş izin için kiracı genelinde yönetici onayı vermesi gerekir.
Bilgi kaynakları oluşturma izni. Kullanıcı hesabınıza atanan Arama Hizmeti Katkıda Bulunanı rolüyle anahtarsız kimlik doğrulamasını yapılandırın (önerilir) veya bir yönetici API anahtarı kullanın.
En son
Azure.Search.Documentsönizleme paketi:dotnet add package Azure.Search.Documents --prereleaseAnahtarsız kimlik doğrulaması için
Azure.Identitypaket:dotnet add package Azure.Identity
En son
azure-search-documentsönizleme paketi:pip install --pre azure-search-documentsAnahtarsız kimlik doğrulaması için
azure-identitypaket:pip install azure-identity
Arama Hizmeti REST API'sinin 2026-08-01-preview sürümü.
Anahtarsız kimlik doğrulaması için her HTTP isteğinin üst bilgisine
Authorizationbir Microsoft Entra ID belirteci ekleyin.
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:
- İstemci uygulaması kullanıcının oturum açmasını sağlar ve Azure Yapay Zeka Arama'e bir kullanıcı onayı gönderir.
- Arama hizmeti yönetilen kimliği, federasyon kimlik bilgileri aracılığıyla müşteriye ait uygulama olarak kimlik doğrulaması yapar.
- 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:
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.
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.
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ırapi://<application-client-id>/access_as_user.Uygulama kaydının API izinleri sayfasındaKuruluşumun kullandığı izin > API'leri ekle'yiseçin.
İş IQ'su (uygulama kimliği
fdcc1f02-fc51-4226-8753-f668596af7f7) için arama yapın, Temsilci izinleri>WorkIQAgent.Ask'ı seçin ve ardından İzin ekle'yi seçin.Ö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:
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.
Arama hizmetinin Kimlik sayfasında Nesne (asıl) Kimliğini kopyalayın. Federe kimlik bilgisi, bu değeri
subjectolarak kullanır.Microsoft Entra ID>Overview'a gidin ve Kiracı Kimliğini kopyalayın. Federasyon kimlik bilgisi URL'sinde
issuerbu değeri kullanır.
Birleştirilmiş kimlik bilgisi oluştur
Arama hizmeti kimliği için federasyon kimlik bilgileri oluşturmak için:
credential.jsonadlı 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.
subjectdeğ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.Uygulama kaydını içeren kiracı ile Azure CLI'da oturum açın.
az login --tenant <app-tenant-id> --allow-no-subscriptionsFedere kimlik bilgisini oluşturun.
az ad app federated-credential create --id <application-client-id> --parameters credential.json --query id --output tsvKomut çıkışını kopyalayın. İş IQ bilgi kaynağını oluştururken için
federatedCredentialIdbu 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:
İstemci uygulamasının API izinleri sayfasındaKuruluşumun kullandığı izin > API'leri ekle'yiseçin.
Daha önce kopyaladığınız Uygulama (istemci) kimliğini arama kutusuna yapıştırın ve ardından İş IQ uygulaması kaydını seçin.
temsilci izinleri>access_as_user'ı ve ardından İzin ekle'yi seçin.
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>"
}
}
}
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:
-
audWork IQ uygulama kaydınızı tanımlar. -
scpiçeriraccess_as_user. -
oidvetidoturum 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ümleriapplication/vnd.ms-workiq-referencemedya 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:
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" } ] }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 }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
Bilgi kaynağını silin.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Başvuru:SearchIndexClient
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" } ] }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" } }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
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
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" } ] }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" } }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
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