Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Neste artigo, você aprenderá a usar um conjunto de habilidades para fragmentar e vetorizar conteúdo de uma fonte de dados suportada. A coleção de habilidades chama a habilidade Divisão de Texto ou habilidade de Layout de Documento para a fragmentação e uma habilidade de incorporação anexada a um modelo de incorporação suportado para vetorização de segmentos. Você também aprende a armazenar o conteúdo em partes e vetorizado em um índice vetorial.
Este artigo descreve o fluxo de trabalho de ponta a ponta para vetorização integrada usando REST. Para obter instruções baseadas no portal, consulte Guia de início rápido: vetorizar texto e imagens no portal do Azure.
Pré-requisitos
Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
Um serviço Azure AI Search. Recomendamos a camada Básica ou superior.
Conclusão do Início Rápido: Conexão sem chaves e Configurar uma identidade gerida atribuída pelo sistema. Embora você possa usar a autenticação baseada em chave para operações de plano de dados, este artigo assume funções e identidades gerenciadas, que são mais seguras.
Código do Visual Studio com um cliente REST.
Fontes de dados suportadas
A vetorização integrada funciona com todas as fontes de dados suportadas. No entanto, este artigo se concentra nas fontes de dados mais comumente usadas, que são descritas na tabela a seguir.
| Fonte de dados suportada | Descrição |
|---|---|
| Armazenamento de Blobs do Azure | Esta fonte de dados funciona com blobs e tabelas. Você deve usar uma conta padrão de desempenho (uso geral v2). As camadas de acesso podem ser quentes, frescas ou frias. |
| Azure Data Lake Storage (ADLS) Gen2 | Esta é uma conta de Armazenamento do Azure com um namespace hierárquico habilitado. Para confirmar que você tem o Armazenamento Data Lake, verifique a guia Propriedades na página Visão geral .
|
| Microsoft OneLake | Essa fonte de dados se conecta a arquivos e atalhos do OneLake. |
Modelos de incorporação suportados
Para vetorização integrada, use um dos seguintes modelos de incorporação em uma plataforma de IA do Azure. As instruções de implantação são fornecidas em uma seção posterior.
| Fornecedor | Modelos suportados |
|---|---|
| Azure OpenAI resource1, 2 | incorporação de texto ada 002 incorporação de texto-3-pequeno incorporação de texto-3-grande |
| recurso Microsoft Foundry3 | Para texto e imagens: Azure Vision multimodal4 |
1 O endpoint do seu recurso OpenAI do Azure deve ter um subdomínio personalizado, como https://my-unique-name.openai.azure.com. Se você criou seu recurso no portal do Azure, esse subdomínio foi gerado automaticamente durante a configuração do recurso.
2 recursos Azure OpenAI (com acesso a modelos de embedding) que foram criados no portal Foundry não são suportados. Você deve criar um recurso do Azure OpenAI no portal do Azure.
3 Para efeitos de faturação, deve associar o seu recurso Foundry ao conjunto de competências do seu serviço Azure AI Search. A menos que você use uma conexão sem chave (visualização) para criar o conjunto de habilidades, ambos os recursos devem estar na mesma região.
4 O modelo de embedding multimodal Azure Vision está disponível em regiões selecionadas.
Acesso baseado em funções
Você pode usar o Microsoft Entra ID com atribuições de função ou autenticação baseada em chave com cadeias de conexão com acesso total. Para conexões do Azure AI Search com outros recursos, recomendamos atribuições de função.
Para configurar o acesso baseado em função para vetorização integrada:
No serviço de pesquisa, habilite funções e configure uma identidade gerenciada atribuída ao sistema.
Em sua plataforma de fonte de dados e provedor de modelo incorporado, crie atribuições de função que permitam que seu serviço de pesquisa acesse dados e modelos. Consulte Preparar seus dados e Preparar seu modelo de incorporação.
Observação
Os serviços de pesquisa gratuitos suportam ligações baseadas em funções ao Azure AI Search. No entanto, não suportam identidades geridas em ligações de saída para Azure Storage ou Azure Vision. Essa falta de suporte requer que você use a autenticação baseada em chave em conexões entre serviços de pesquisa gratuitos e outros recursos do Azure.
Para conexões mais seguras, use a camada Básica ou superior. Em seguida, você pode habilitar funções e configurar uma identidade gerenciada para acesso autorizado.
Obter informações de conexão para o Azure AI Search
Nesta seção, você recupera o ponto de extremidade e o token do Microsoft Entra para seu serviço Azure AI Search. Ambos os valores são necessários para estabelecer conexões em solicitações REST .
Sugestão
As etapas seguintes pressupõem que estás a usar acesso baseado em função para testes de prova de conceito. Se você quiser usar a vetorização integrada para o desenvolvimento de aplicativos, consulte Conectar seu aplicativo à Pesquisa de IA do Azure usando identidades.
Entre no portal do Azure e selecione seu serviço Azure AI Search.
Para obter o endpoint de pesquisa, copie o link na página Visão geral. Um exemplo de ponto de extremidade de pesquisa é
https://my-service.search.windows.net.Para obter o seu token Microsoft Entra, execute o seguinte comando no seu sistema local. Esta etapa requer a conclusão do Guia de início rápido: conectar-se sem chaves.
az account get-access-token --scope https://search.azure.com/.default --query accessToken --output tsv
Prepare os seus dados
Nesta seção, você prepara seus dados para vetorização integrada carregando arquivos para uma fonte de dados suportada, atribuindo funções e obtendo informações de conexão.
Entre no portal do Azure e selecione sua conta de Armazenamento do Azure.
No painel esquerdo, selecione Contêineres de armazenamento de> dados.
Crie um contêiner ou selecione um contêiner existente e, em seguida, carregue seus arquivos para o contêiner.
Para atribuir funções:
No painel esquerdo, selecione Controle de acesso (IAM).
Selecione Adicionar>Adicionar atribuição de função.
Em Funções de cargo, selecione Leitor de Dados de Blob de Armazenamento e depois selecione Avançar.
Em Membros, selecione Identidade gerenciada e, em seguida, selecione Selecionar membros.
Selecione a sua subscrição e a identidade gerida do seu serviço de pesquisa.
Para obter uma string de conexão:
No painel esquerdo, selecione Segurança + chaves de acesso à rede>.
Copie qualquer cadeia de conexão, que você especifica posteriormente em Definir variáveis.
(Opcional) Sincronize exclusões em seu contêiner com exclusões no índice de pesquisa. Para configurar o indexador para deteção de exclusão:
Habilite a exclusão suave em sua conta de armazenamento. Se você estiver usando a exclusão suave nativa, a próxima etapa não será necessária.
Adicione metadados personalizados que um indexador pode verificar para determinar quais blobs estão marcados para exclusão. Dê à sua propriedade personalizada um nome descritivo. Por exemplo, você pode nomear a propriedade "IsDeleted" e defini-la como false. Repita esta etapa para cada blob no contêiner. Quando quiser excluir o blob, altere a propriedade para true. Para obter mais informações, consulte Alterar e excluir a deteção ao indexar do Armazenamento do Azure.
Prepare o seu modelo de incorporação
Nesta seção, você prepara seu recurso de IA do Azure para vetorização integrada atribuindo funções, obtendo um ponto de extremidade e implantando um modelo de incorporação com suporte.
O Azure AI Search suporta text-embedding-ada-002, text-embedding-3-small e text-embedding-3-large. Internamente, o Azure AI Search chama a habilidade de incorporação do Azure OpenAI para se conectar ao Azure OpenAI.
Entre no portal do Azure e selecione seu recurso do Azure OpenAI.
Para atribuir funções:
No painel esquerdo, selecione Controle de acesso (IAM).
Selecione Adicionar>Adicionar atribuição de função.
Em Funções de cargos, selecione Usuário OpenAI dos Serviços Cognitivos e, em seguida, selecione Avançar.
Em Membros, selecione Identidade gerenciada e, em seguida, selecione Selecionar membros.
Selecione a sua subscrição e a identidade gerida do seu serviço de pesquisa.
Para obter um ponto de extremidade:
No painel esquerdo, selecione Gerenciamento de Recursos>Chaves e Ponto de Extremidade.
Copie o ponto de extremidade para o seu recurso do Azure OpenAI. Você especifica essa URL posteriormente em Definir variáveis.
Para implantar um modelo de incorporação:
Inicie sessão no portal Foundry e selecione o seu recurso Azure OpenAI.
Implante um modelo de incorporação suportado.
Copie os nomes de implantação e modelo, que você especifica posteriormente em Definir variáveis. O nome da implantação é o nome personalizado escolhido, enquanto o nome do modelo é o modelo implantado, como
text-embedding-ada-002.
Definir variáveis
Nesta seção, você especifica as informações de conexão para seu serviço Azure AI Search, sua fonte de dados com suporte e seu modelo de incorporação com suporte.
No Visual Studio Code, cole os seguintes espaços reservados no seu arquivo
.restou.http.@baseUrl = PUT-YOUR-SEARCH-SERVICE-URL-HERE @token = PUT-YOUR-MICROSOFT-ENTRA-TOKEN-HERESubstitua
@baseUrlpelo endpoint de pesquisa e@tokenpelo token Microsoft Entra obtido em Obter informações de conexão para o Azure AI Search.Dependendo da fonte de dados, adicione as seguintes variáveis.
Fonte de dados Variáveis Insira estas informações Armazenamento de Blobs do Azure @storageConnectionStringe@blobContainerA cadeia de conexão e o nome do contêiner criado em Preparar seus dados. ADLS Gen2 @storageConnectionStringe@blobContainerA cadeia de conexão e o nome do contêiner criado em Preparar seus dados. OneLake @workspaceIde@lakehouseIdOs identificadores de espaço de trabalho e lakehouse obtidos em Prepare os seus dados. Dependendo do seu provedor de modelo de incorporação, adicione as seguintes variáveis.
Provedor de modelo de integração Variáveis Insira estas informações Azure OpenAI @aoaiEndpoint,@aoaiDeploymentNamee@aoaiModelNameO ponto de extremidade, o nome da implantação e o nome do modelo obtidos em Preparar seu modelo de incorporação. Azure Vision @AiFoundryEndpointO ponto de extremidade que obteve em Preparar o seu modelo de incorporação. Para verificar as variáveis, envie a seguinte solicitação.
### List existing indexes by name GET {{baseUrl}}/indexes?api-version=2025-09-01 HTTP/1.1 Content-Type: application/json Authorization: Bearer {{token}}Uma resposta deve aparecer em um painel adjacente. Se você tiver índices existentes, eles serão listados. Caso contrário, a lista estará vazia. Se o código HTTP for
200 OK, você está pronto para continuar.
Conectar aos seus dados
Nesta seção, você se conecta a uma fonte de dados com suporte para indexação baseada em indexador. Um indexador no Azure AI Search requer uma fonte de dados que especifique o tipo, as credenciais e o contêiner.
Use Criar Fonte de Dados para definir uma fonte de dados que forneça informações de conexão durante a indexação.
### Create a data source POST {{baseUrl}}/datasources?api-version=2025-09-01 HTTP/1.1 Content-Type: application/json Authorization: Bearer {{token}} { "name": "my-data-source", "type": "azureblob", "subtype": null, "credentials": { "connectionString": "{{storageConnectionString}}" }, "container": { "name": "{{blobContainer}}", "query": null }, "dataChangeDetectionPolicy": null, "dataDeletionDetectionPolicy": null }Defina
typepara sua fonte de dados:azureblobouadlsgen2.Para criar a fonte de dados, selecione Enviar solicitação.
Se você estiver usando o OneLake, defina
credentials.connectionStringcomoResourceId={{workspaceId}}econtainer.namepara{{lakehouseId}}.
Criar um conjunto de competências
Nesta seção, você cria um conjunto de habilidades que chama uma habilidade interna para fragmentar seu conteúdo e uma habilidade de incorporação para criar representações vetoriais das partes. O conjunto de habilidades é executado durante a indexação em uma seção posterior.
Chame uma habilidade integrada para fragmentar seu conteúdo
Particionar seu conteúdo em partes ajuda você a atender aos requisitos do seu modelo de incorporação e evita a perda de dados devido ao truncamento. Para obter mais informações sobre fragmentação, consulte Fragmentar documentos grandes para soluções de pesquisa vetorial.
Para fragmentação de dados interna, a Pesquisa de IA do Azure oferece a habilidade Divisão de Texto e a habilidade Layout de Documento. A habilidade Divisão de Texto divide o texto em frases ou páginas de um determinado comprimento, enquanto a habilidade Layout de Documento divide o conteúdo com base nos limites de parágrafo.
Use Create Skillset para definir um conjunto de habilidades.
### Create a skillset POST {{baseUrl}}/skillsets?api-version=2025-09-01 HTTP/1.1 Content-Type: application/json Authorization: Bearer {{token}} { "name": "my-skillset", "skills": [] }Na matriz
skills, invoque a funcionalidade de Divisão de Texto ou a funcionalidade de Layout de Documento. Você pode colar uma das seguintes definições."skills": [ { "@odata.type": "#Microsoft.Skills.Text.SplitSkill", "name": "my-text-split-skill", "textSplitMode": "pages", "maximumPageLength": 2000, "pageOverlapLength": 500, "maximumPagesToTake": 0, "unit": "characters", "defaultLanguageCode": "en", "inputs": [ { "name": "text", "source": "/document/text", "inputs": [] } ], "outputs": [ { "name": "textItems" } ] }, { "@odata.type": "#Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill", "name": "my-document-layout-skill", "context": "/document", "outputMode": "oneToMany", "markdownHeaderDepth": "h3", "inputs": [ { "name": "file_data", "source": "/document/file_data" } ], "outputs": [ { "name": "markdown_document" } ] } ]Observação
A funcionalidade de Layout de Documentos está em visualização pública. Se você quiser chamar essa habilidade, use uma API de visualização, como
2025-03-01-preview.
Chame uma habilidade de incorporação para vetorizar os segmentos
Para vetorizar seu conteúdo fragmentado, o conjunto de habilidades precisa de uma habilidade de incorporação que aponte para um modelo de incorporação suportado.
Depois da habilidade de chunking incorporada no
skillsarray, chame a habilidade Azure OpenAI Embedding ou a habilidade Azure Vision. Você pode colar uma das seguintes definições.{ "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill", "resourceUri": "{{aoaiEndpoint}}", "deploymentId": "{{aoaiDeploymentName}}", "modelName": "{{aoaiModelName}}", "dimensions": 1536, "inputs": [ { "name": "text", "source": "/document/text" } ], "outputs": [ { "name": "embedding" } ] }, { "@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill", "context": "/document", "modelVersion": "2023-04-15", "inputs": [ { "name": "url", "source": "/document/metadata_storage_path" }, { "name": "queryString", "source": "/document/metadata_storage_sas_token" } ], "outputs": [ { "name": "vector" } ] }Observação
A competência de embeddings multimodais do Azure Vision está em versão preliminar pública. Se pretender chamar esta habilidade, utilize a API de pré-visualização mais recente.
Se você estiver usando a habilidade de incorporação do Azure OpenAI, defina
dimensionso número de incorporações geradas pelo seu modelo de incorporação.Se estiver a usar a habilidade de embeddings multimodal do Azure Vision, anexe o seu recurso Foundry depois do
skillsarray. Este anexo destina-se a efeitos de faturação."skills": [ ... ], "cognitiveServices": { "@odata.type": "#Microsoft.Azure.Search.AIServicesByIdentity", "subdomainUrl": "{{AiFoundryEndpoint}}" }Para criar o conjunto de habilidades, selecione Enviar solicitação.
Criar um índice de vetores
Nesta seção, você configura estruturas de dados físicas em seu serviço Azure AI Search criando um índice vetorial. O esquema de um índice vetorial requer o seguinte:
- Nome
- Campo chave (string)
- Um ou mais campos vetoriais
- Configuração vetorial
Os campos vetoriais armazenam representações numéricas de seus dados em partes. Eles devem ser pesquisáveis e recuperáveis, mas não podem ser filtráveis, facetáveis ou ordenáveis. Eles também não podem ter analisadores, normalizadores ou atribuições de mapas de sinônimos.
Além dos campos vetoriais, o índice de exemplo nas etapas a seguir contém campos não vetoriais para conteúdo legível por humanos. É comum incluir equivalentes em texto simples do conteúdo que você deseja vetorizar. Para obter mais informações, consulte Criar um índice vetorial.
Use Create Index para definir o esquema de um índice vetorial.
### Create a vector index POST {{baseUrl}}/indexes?api-version=2025-09-01 HTTP/1.1 Content-Type: application/json Authorization: Bearer {{token}} { "name": "my-vector-index", "fields": [], "vectorSearch": [] }Adicione uma configuração de pesquisa vetorial à
vectorSearchseção."vectorSearch": { "algorithms": [ { "name": "hnsw-algorithm", "kind": "hnsw", "hnswParameters": { "m": 4, "efConstruction": 400, "efSearch": 100, "metric": "cosine" } } ], "profiles": [ { "name": "vector-profile-hnsw", "algorithm": "hnsw-algorithm", } ] }vectorSearch.algorithmsEspecifica o algoritmo usado para indexar e consultar campos vetoriais, enquantovectorSearch.profilesvincula a configuração do algoritmo a um perfil que você pode atribuir a campos vetoriais.Dependendo do seu modelo de embedding, atualize
vectorSearch.algorithms.metric. Os valores válidos para métricas de distância sãocosine,dotproduct,euclideanehamming.Adicione campos às
fieldsmatrizes. Inclua um campo chave para identificação de documentos, campos não vetoriais para conteúdo legível por pessoas e campos vetoriais para incorporações."fields": [ { "name": "id", "type": "Edm.String", "key": true, "filterable": true }, { "name": "title", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "retrievable": true }, { "name": "titleVector", "type": "Collection(Edm.Single)", "searchable": true, "retrievable": false, "stored": true, "dimensions": 1536, "vectorSearchProfile": "vector-profile-hnsw" }, { "name": "content", "type": "Edm.String", "searchable": true, "retrievable": true }, { "name": "contentVector", "type": "Collection(Edm.Single)", "searchable": true, "retrievable": false, "stored": false, "dimensions": 1536, "vectorSearchProfile": "vector-profile-hnsw" } ]Dependendo da sua habilidade de incorporação, defina
dimensionspara cada campo vetorial com o seguinte valor.Habilidade de incorporação Insira este valor Azure OpenAI O número de incorporações geradas pelo seu modelo de incorporação. Azure Vision 1024
Adicionar um vetorizador ao índice
Nesta seção, você habilita a vetorização no momento da consulta definindo um vetorizador em seu índice. O vetorizador usa o modelo de incorporação que indexa seus dados para decodificar uma cadeia de caracteres de pesquisa ou imagem em um vetor para pesquisa vetorial.
Adicione o vectorizador Azure OpenAI ou o vectorizador Azure Vision após
vectorSearch.profiles. Você pode colar uma das seguintes definições."profiles": [ ... ], "vectorizers": [ { "name": "my-openai-vectorizer", "kind": "azureOpenAI", "azureOpenAIParameters": { "resourceUri": "{{aoaiEndpoint}}", "deploymentId": "{{aoaiDeploymentName}}", "modelName": "{{aoaiModelName}}" } }, { "name": "my-ai-services-vision-vectorizer", "kind": "aiServicesVision", "aiServicesVisionParameters": { "resourceUri": "{{AiFoundryEndpoint}}", "modelVersion": "2023-04-15" } } ]Observação
O vectorizador Azure Vision está em pré-visualização pública. Se você quiser chamar esse vetorizador, use uma API de visualização, como
2025-03-01-preview.Especifique seu vetorizador em
vectorSearch.profiles."profiles": [ { "name": "vector-profile-hnsw", "algorithm": "hnsw-algorithm", "vectorizer": "my-openai-vectorizer" } ]Para criar o índice vetorial, selecione Enviar solicitação.
Criar um indexador
Nesta seção, você cria um indexador para conduzir todo o pipeline de vetorização, desde a recuperação de dados até a execução do conjunto de habilidades e a indexação. Recomendamos que execute o indexador de acordo com um cronograma para processar alterações ou documentos que foram perdidos devido à retenção.
Use Create Indexer para definir um indexador que execute o pipeline de vetorização.
### Create an indexer POST {{baseUrl}}/indexers?api-version=2025-09-01 HTTP/1.1 Content-Type: application/json Authorization: Bearer {{token}} { "name": "my-indexer", "dataSourceName": "my-data-source", "targetIndexName": "my-vector-index", "skillsetName": "my-skillset", "schedule": { "interval": "PT2H" }, "parameters": { "batchSize": null, "maxFailedItems": null, "maxFailedItemsPerBatch": null } }Para criar o indexador, selecione Enviar solicitação.
Executar uma consulta vetorial para confirmar a indexação
Nesta seção, você verifica se o conteúdo foi indexado com êxito criando uma consulta vetorial. Como você configurou um vetorizador em uma seção anterior, o mecanismo de pesquisa pode decodificar texto sem formatação ou uma imagem em um vetor para execução de consulta.
Use Documents - Search Post para definir uma consulta vetorizada no momento da consulta.
### Run a vector query POST {{baseUrl}}/indexes('my-vector-index')/docs/search.post.search?api-version=2025-09-01 HTTP/1.1 Content-Type: application/json Authorization: Bearer {{token}} { "count": true, "select": "title, content", "vectorQueries": [ { "kind": "text", "text": "a sample text string for integrated vectorization", "fields": "titleVector, contentVector", "k": "3" } ] }Observação
O vectorizador Azure Vision está em pré-visualização pública. Se você chamou esse vetorizador anteriormente, use uma API de visualização, como
2025-03-01-preview.Para consultas que invocam vetorização integrada,
kinddeve ser definido comotext, etextdeve especificar uma cadeia de caracteres de texto. Esta cadeia de caracteres é passada para o vetorizador atribuído ao campo vetorial. Para obter mais informações, consulte Consulta com vetorização integrada.Para executar a consulta vetorial, selecione Enviar solicitação.