Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Note
O Pesquisa de IA do Azure está disponível através do portal Azure, APIs REST e SDKs do Azure. Também sustenta o Foundry IQ, a camada de conhecimento gerida que transforma conteúdos empresariais em bases de conhecimento reutilizáveis e conscientes de permissões para agentes no portal Microsoft Foundry.
Importante
Estas funcionalidades e capacidades fazem parte da versão de pré-visualização de 2026-08-01 da API REST. A pré-visualização de 2026-08-01-está licenciada a si como parte da sua subscrição do Azure e está sujeita aos termos aplicáveis a "Pré-visualizações" nos Termos de Produto Microsoft, no Adendo de Proteção de Dados de Produtos e Serviços Microsoft ("DPA") e nos Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
A versão de pré-visualização 2026-08-01-preview suporta ligações a outros serviços Microsoft e a serviços de terceiros. A utilização destes serviços está sujeita aos respetivos termos e pode resultar no processamento ou armazenamento de dados fora do limite de conformidade do Azure, bem como no fluxo de dados para o limite de conformidade do Azure.
Ao ligar-se ao Work IQ, pode incorrer em custos, e os dados podem ser enviados para fora do limite de conformidade com o Azure e processados de acordo com os termos de serviço e políticas de gestão de dados aplicáveis. É sua responsabilidade gerir se os seus dados fluem fora dos limites de conformidade e geográficos da sua organização e quaisquer implicações relacionadas, e que as permissões, limites e aprovações apropriadas sejam fornecidas.
És responsável por rever e testar cuidadosamente as aplicações que constróis no contexto dos teus casos de uso específicos e por tomar todas as decisões e personalizações apropriadas. Esta responsabilidade inclui implementar as suas próprias medidas de mitigação para uma IA responsável, como metaprompts, filtros de conteúdo ou outros sistemas de segurança, e assegurar que as suas aplicações cumprem padrões adequados de qualidade, fiabilidade, segurança e confiança. Para mais informações, consulte a Nota de Transparência Pesquisa de IA do Azure.
Uma fonte de conhecimento do Work IQ (pré-visualização) liga o Work IQ a um pipeline de recuperação agêntica no Pesquisa de IA do Azure. As fontes de conhecimento são criadas de forma independente, referenciadas numa base de conhecimento e usadas como dados de base quando a base é consultada em tempo de execução.
O Work IQ revela inteligência organizacional a partir do seu conteúdo do Microsoft 365, incluindo documentos, emails, reuniões e atividades nas aplicações Microsoft 365.
Ao contrário das fontes de conhecimento indexadas, as fontes de conhecimento do Work IQ consultam dados em tempo real diretamente no momento da recuperação. Não é necessário um pipeline de ingestão. As consultas exigem um token de acesso de utilizador emitido para o registo da sua aplicação Microsoft Entra. O Pesquisa de IA do Azure troca esse token por um token Work IQ delegado e liga para o Work IQ em nome do utilizador.
Warning
Nesta pré-visualização, uma fonte de conhecimento do Work IQ pode usar capacidades do Work IQ que realizam ações, não apenas recuperam informação. Use-o com cuidado, limite o acesso a aplicações e utilizadores de confiança, e reveja as permissões e controlos de governação do seu cenário antes de o ativar.
Suporte de utilização
| portal do Azure | portal Microsoft Foundry | .NET SDK | Python SDK | Java SDK | JavaScript SDK | API REST |
|---|---|---|---|---|---|---|
| ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ✔️ |
Pré-requisitos
Um serviço Pesquisa de IA do Azure em qualquer região que forneça recuperação proativa.
Um plano de faturação baseado no uso para o Work IQ configurado no Copilot Studio com uma subscrição e grupo de recursos do Azure. Atribui cada utilizador que consulta o Work IQ ao plano de faturação.
O seu tenant do Microsoft Entra está ativado para o Work IQ. Após a configuração da faturação, um Microsoft Entra Global Administrator completa esta configuração única.
Uma aplicação cliente que autentica os utilizadores e envia pedidos de obtenção.
Funções recomendadas do Microsoft Entra para cada ação de configuração de aplicação:
Desenvolvedor de aplicações para criar um registo de aplicação.
Proprietário do registo da aplicação ou uma função de administrador suportada para criar a respetiva credencial de identidade federada.
Administrador de Aplicações na Cloud ou Administrador de Aplicações para conceder consentimento administrativo a nível de inquilino para a
WorkIQAgent.Askpermissão delegada.
Permissão para criar fontes de conhecimento. Configure a autenticação sem chave com o papel de Contribuidor do Serviço de Pesquisa atribuído à sua conta de utilizador (recomendado) ou utilize uma chave API de administrador.
O pacote de pré-visualização mais recente
Azure.Search.Documents:dotnet add package Azure.Search.Documents --prereleasePara autenticação sem chave, o
Azure.Identitypacote:dotnet add package Azure.Identity
O pacote de pré-visualização mais recente
azure-search-documents:pip install --pre azure-search-documentsPara autenticação sem chave, o
azure-identitypacote:pip install azure-identity
A versão 2026-08-01-preview de pré-visualização da API REST do Serviço de Pesquisa.
Para autenticação sem chave, inclua um token Microsoft Entra ID no
Authorizationcabeçalho de cada pedido HTTP.
Governação e conformidade de dados
Antes de ativar a recuperação do Work IQ, reveja Dados, Privacidade e Segurança para Microsoft 365 Copilot.
Utilização de dados e privacidade
Pedidos, respostas e dados acedidos através do Microsoft Graph não são utilizados para treinar modelos fundacionais de linguagem.
Controlo de acesso
O Work IQ aplica permissões do Microsoft 365 em todos os pedidos. A recuperação devolve apenas dados organizacionais que o utilizador iniciado tem permissão para aceder.
Residência de dados e conformidade
Revise a documentação do Microsoft 365 relativamente aos compromissos de residência de dados, privacidade, segurança e conformidade que se aplicam à sua organização e cenário.
Configurar a autenticação do Microsoft Entra
A partir da 2026-08-01-preview versão da API, cada fonte de conhecimento do Work IQ utiliza um registo da aplicação Microsoft Entra detido pelo cliente para autenticação.
No momento da consulta, a autenticação funciona da seguinte forma:
- A aplicação cliente inicia sessão com o utilizador e envia uma declaração de utilizador para o Pesquisa de IA do Azure.
- A identidade gerida do serviço de pesquisa autentica-se como a aplicação detida pelo cliente através de uma credencial federada.
- O Pesquisa de IA do Azure troca a asserção do utilizador por um token delegado do Work IQ e invoca o Work IQ em nome do utilizador com sessão iniciada.
Nenhum segredo do cliente é armazenado na fonte de conhecimento do Work IQ. Configure a aplicação e as suas permissões uma vez, e depois crie uma credencial federada para cada identidade de serviço de pesquisa que utilize a aplicação.
Configurar o registo da aplicação Work IQ
Para configurar a aplicação de propriedade do cliente que o Pesquisa de IA do Azure usa para chamar Work IQ:
Regista uma candidatura no tenant Microsoft Entra onde queres gerir o consentimento do Work IQ. Em Tipos de conta suportados, selecione Contas somente neste diretório organizacional.
Na página de Visão Geral do registo da aplicação, copie o ID da Aplicação (cliente) e o ID do Diretório (inquilino). Precisas do ID da aplicação para configurar a autenticação do Work IQ e do ID do inquilino para iniciar sessão no tenant que contém o registo da aplicação.
Na página Expose an API do registo da app, adicione o âmbito delegado necessário chamado exatamente
access_as_user. Use este nome em minúsculas; não o substitua por outro nome do âmbito. O âmbito completo éapi://<application-client-id>/access_as_user.Na página de permissões da API de registo da app, selecione Adicionar uma permissão>APIs que a minha organização utiliza.
Procure Work IQ (ID da aplicação
fdcc1f02-fc51-4226-8753-f668596af7f7), selecione Permissões delegadas>WorkIQAgent.Ask e, em seguida, selecione Adicionar permissões.Tenha um administrador com um papel de consentimento listado nos pré-requisitos para selecionar Conceder consentimento administrativo para [o seu inquilino] na mesma página. Este consentimento permite à aplicação trocar uma afirmação do utilizador por um token Work IQ delegado.
Configurar a identidade do serviço de pesquisa
Para configurar a identidade que o Pesquisa de IA do Azure utiliza para se autenticar junto da sua aplicação Work IQ:
Ative uma identidade gerida atribuída pelo sistema no seu serviço de pesquisa. Se não conseguir usar uma identidade atribuída pelo sistema, configure exatamente uma identidade atribuída pelo utilizador. Um serviço de pesquisa com múltiplas identidades atribuídas pelo utilizador e sem identidade atribuída pelo sistema não é suportado.
Na página de Identidade do serviço de pesquisa, copie o ID do Objeto (principal). A credencial federada utiliza este valor como o seu
subject.Vá à Microsoft Entra ID>Overview e copie o ID do Inquilino. A credencial federada utiliza este valor na sua
issuerURL.
Criar uma credencial federada
Para criar uma credencial federada para a identidade do serviço de pesquisa:
Crie um ficheiro com o nome
credential.json. Substitua<search-service-name>,<search-service-tenant-id>, e<search-service-principal-id>por valores para o seu serviço de pesquisa.{ "name": "<search-service-name>-identity", "issuer": "https://login.microsoftonline.com/<search-service-tenant-id>/v2.0", "subject": "<search-service-principal-id>", "audiences": ["api://AzureADTokenExchange"] }O nome da credencial deve ser único no registo da aplicação. O
subjectvalor deve corresponder exatamente ao ID principal da identidade gerida. Surge um descompasso quando se faz uma consulta, não quando se cria a fonte de conhecimento.Inicie sessão no CLI do Azure com o tenant que contém o registo da aplicação.
az login --tenant <app-tenant-id> --allow-no-subscriptionsCrie a credencial federada.
az ad app federated-credential create --id <application-client-id> --parameters credential.json --query id --output tsvCopia a saída do comando. Utilize este valor para
federatedCredentialIdquando criar a origem de conhecimento do Work IQ.
Cada credencial federada confia num ID principal de identidade gerida. Se outra identidade do serviço de pesquisa utilizar o registo da aplicação, repita este procedimento com um nome de credencial exclusivo e os IDs do locatário e do principal dessa identidade. Use o ID de credencial correspondente em cada fonte de conhecimento do Work IQ.
Configurar a aplicação cliente
Para configurar a aplicação que faz login aos utilizadores e envia pedidos de recuperação:
Na página de permissões da API da aplicação cliente, selecione Adicionar APIs de permissão>que a minha organização utiliza.
Cole o ID da Aplicação (cliente) que copiou anteriormente na caixa de pesquisa e depois selecione o registo da aplicação Work IQ.
Selecione Permissões delegadas>access_as_user e, em seguida, selecione Adicionar permissões.
Preencha qualquer consentimento exigido pela política de consentimento do utilizador do seu inquilino. Se for necessário consentimento administrativo, peça a um administrador que selecione Conceder consentimento administrativo para [o seu inquilino].
A aplicação cliente pode agora solicitar uma declaração de utilizador para o registo da aplicação Work IQ. A access_as_user permissão não concede à aplicação cliente acesso direto ao Work IQ.
Valores de autenticação
Ao criar uma fonte de conhecimento Work IQ, utilize os seguintes entraAppAuthentication valores da sua configuração da aplicação Microsoft Entra. Cada valor que fornecer deve ser um GUID.
| Property | Obrigatório | Value |
|---|---|---|
applicationId |
Sim | ID de Aplicação (cliente) do registo da aplicação Work IQ. |
federatedCredentialId |
Sim | ID do objeto da credencial federada que criou na aplicação. Não é o nome da credencial nem o ID principal do serviço de pesquisa. |
tenantId |
No | ID do diretório (inquilino) do registo da aplicação. Omita esta propriedade quando o registo da aplicação e o serviço de pesquisa estiverem no mesmo tenant. Se estiverem em locatários diferentes, esta propriedade é obrigatória. |
Verifique se há fontes de conhecimento existentes
Uma fonte de conhecimento é um objeto reutilizável de nível superior. Conhecer as fontes de conhecimento existentes é útil tanto para reutilizar como para nomear novos objetos.
Execute o seguinte código para listar as fontes de conhecimento por nome e tipo.
// 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}");
}
Referência: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})")
Referência:SearchIndexClient
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
Authorization: Bearer {{token}}
Referência:Fontes de Conhecimento - Lista
Você também pode retornar uma única fonte de conhecimento pelo nome para revisar sua definição JSON.
using Azure.Search.Documents.Indexes;
using System.Text.Json;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
// Specify the knowledge source name to retrieve
string ksNameToGet = "earth-knowledge-source";
// Get its definition
var knowledgeSourceResponse = await indexClient.GetKnowledgeSourceAsync(ksNameToGet);
var ks = knowledgeSourceResponse.Value;
// Serialize to JSON for display
var jsonOptions = new JsonSerializerOptions
{
WriteIndented = true,
DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.Never
};
Console.WriteLine(JsonSerializer.Serialize(ks, ks.GetType(), jsonOptions));
Referência: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))
Referência:SearchIndexClient
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
Authorization: Bearer {{token}}
Referência:Fontes de Conhecimento - Obter
O JSON seguinte é um exemplo de resposta para uma fonte de conhecimento sobre QI de trabalho.
{
"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
}
Criar uma fonte de conhecimento
Execute o código seguinte para criar uma fonte de conhecimento Work IQ.
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}'.");
Referência: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}'.")
Referência: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>"
}
}
}
Referência:Fontes de Conhecimento - Criar ou Atualizar
Atribuir a uma base de conhecimento
Se estiver satisfeito com a fonte de conhecimento, adicione-a a uma base de conhecimento.
Consultar uma base de conhecimento
Depois de configurar a base de conhecimento, invoque a ação de recuperação ou o endpoint MCP para consultar o conteúdo do Work IQ. Esta fonte de conhecimento possui características únicas de aplicação de permissões em tempo de consulta e de resposta.
Importante
O QI de trabalho pode demorar 40–60 segundos ou mais a responder. Para evitar erros de tempo limite, defina maxRuntimeInSeconds no pedido de obtenção para 120 ou superior.
Aplicar permissões no momento da consulta
A partir da versão 2026-08-01-preview da API, as fontes de conhecimento do Work IQ utilizam um fluxo de tokens on-behalf-of (OBO) através do registo da aplicação Microsoft Entra pertencente ao cliente. Para além de autenticar o pedido de obtenção no Pesquisa de IA do Azure, o seu cliente tem de fornecer uma declaração de utilizador para o público da aplicação relativa ao utilizador com sessão iniciada.
A sua aplicação cliente deve iniciar sessão com o utilizador e obter a asserção do utilizador. A forma como obtém a asserção depende da plataforma e da linguagem de programação da aplicação. Utilize a biblioteca Biblioteca de Autenticação da Microsoft (MSAL) e o fluxo de código de autorização com Proof Key for Code Exchange (PKCE) para solicitar o âmbito exato api://<application-client-id>/access_as_user.
Antes de enviar a declaração do utilizador, confirme que:
-
audidentifica o seu registo na aplicação Work IQ. -
scpcontémaccess_as_user. -
oidetididentificam o utilizador com sessão iniciada e o inquilino da aplicação.
Envie ambas as credenciais no mesmo pedido de recuperação, como mostrado no exemplo seguinte. Use um token Pesquisa de IA do Azure ou uma chave API para autenticação de serviço. Passe a declaração do utilizador em bruto no cabeçalho x-ms-query-work-iq-source-authorization, não 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);
Referência: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)
Referência: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
}
Referência:Recuperação de Conhecimento - Recuperar
Um pedido bem-sucedido retorna 200 OK. Confirme que activity contém uma entrada cujo type é workIQ e cujo knowledgeSourceName corresponde à sua fonte de conhecimento Work IQ. Confirma também que references contém uma entrada workIQ.
A tabela seguinte lista falhas de configuração comuns.
| Situação | Motivo |
|---|---|
| 400 | O cabeçalho de autorização do Work IQ está ausente ou mal formado, as reclamações de utilizador obrigatórias estão ausentes, ou o serviço de pesquisa não tem uma configuração de identidade gerida suportada. |
| 206 ou 502 | A origem do Work IQ falhou porque a troca de tokens, o consentimento, a permissão delegada, a credencial federada, a autorização a jusante ou o pedido do Work IQ falhou ou excedeu o tempo limite. Inspecione o erro na atividade de origem. Uma 206 resposta significa que outra origem foi bem-sucedida. Uma 502 resposta significa que todas as fontes selecionadas falharam ou uma fonte necessária falhou. |
Campos de resposta específicos do QI no trabalho
As fontes de conhecimento do Work IQ devolvem resultados na matriz references e diagnósticos da consulta na matriz activity. Cada entrada de referência contém:
-
sourceData.parts[].text: Passagens de texto fundamentadas do Work IQ. -
sourceData.parts[].data: Dados de citação do Work IQ. As partes da citação têm o tipoapplication/vnd.ms-workiq-referencemultimédia.
O exemplo seguinte mostra uma resposta de recuperação contendo uma referência de fonte de conhecimento do Work IQ e o respetivo registo de atividade. Para orientações mais amplas sobre a interpretação das respostas de recuperação, consulte Rever a resposta.
Dica
Para receber referências de sourceData, defina includeReferenceSourceData como true na entrada da fonte de conhecimento em knowledgeSourceParams no pedido de recuperação.
{
"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"
}
]
}
}
]
}
Eliminar uma fonte de conhecimento
Antes de poder eliminar uma fonte de conhecimento, deve eliminar qualquer base de conhecimento que a faça referência ou atualizar a definição da base de conhecimento para remover a referência. Para fontes de conhecimento que geram um pipeline de índice e indexador, todos os objetos gerados também são eliminados. No entanto, se usou um índice existente para criar uma fonte de conhecimento, o seu índice não é eliminado.
Se tentar eliminar uma fonte de conhecimento que está em uso, a ação falha e devolve uma lista das bases de conhecimento afetadas.
Para eliminar uma fonte de conhecimento:
Obtenha uma lista de todas as bases de conhecimento do seu serviço de pesquisa.
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}"); }Referência:SearchIndexClient
Um exemplo de resposta pode ter a seguinte aparência:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenha uma definição individual da base de conhecimento para verificar referências de fontes de conhecimento.
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);Referência:SearchIndexClient
Um exemplo de resposta pode ter a seguinte aparência:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Ou apagas a base de conhecimento ou, se tiveres várias fontes de conhecimento, atualizas a base de conhecimento para remover a fonte. Este exemplo mostra a exclusão.
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.");Referência:SearchIndexClient
Exclua a fonte de conhecimento.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Referência:SearchIndexClient
Obtenha uma lista de todas as bases de conhecimento do seu serviço de pesquisa.
# 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}")Referência:SearchIndexClient
Um exemplo de resposta pode ter a seguinte aparência:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenha uma definição individual da base de conhecimento para verificar referências de fontes de conhecimento.
# 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)Referência:SearchIndexClient
Um exemplo de resposta pode ter a seguinte aparência:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Ou apagas a base de conhecimento ou, se tiveres várias fontes de conhecimento, atualizas a base de conhecimento para remover a fonte. Este exemplo mostra a exclusão.
# 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.")Referência:SearchIndexClient
Exclua a fonte de conhecimento.
# 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.")Referência:SearchIndexClient
Obtenha uma lista de todas as bases de conhecimento do seu serviço de pesquisa.
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name Authorization: Bearer {{token}}Referência:Bases de Conhecimento - Lista
Um exemplo de resposta pode ter a seguinte aparência:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenha uma definição individual da base de conhecimento para verificar referências de fontes de conhecimento.
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Referência:Bases de Conhecimento - Obter
Um exemplo de resposta pode ter a seguinte aparência:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Ou apagas a base de conhecimento ou, se tiveres várias fontes de conhecimento, atualizas a base de conhecimento para remover a fonte. Este exemplo mostra a exclusão.
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Referência:Bases de Conhecimento - Eliminar
Exclua a fonte de conhecimento.
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Referência:Fontes de Conhecimento - Eliminar