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.
Important
Funcionalidades, capacidades ou propriedades assinaladas (pré-visualização) não são abrangidas por um acordo de nível de serviço, não são recomendadas para cargas de trabalho em produção e podem mudar ou ser limitadas antes de se tornarem geralmente disponíveis. Os termos de pré-visualização do Pesquisa de IA do Azure aplicam-se a todas as funcionalidades de pré-visualização, sejam independentes ou parte de uma funcionalidade geralmente disponível.
A skill de embeddings multimodais do Azure Vision (pré-visualização) utiliza a API multimodal de embeddings do Azure Vision no Foundry Tools para gerar embeddings para entrada de texto ou imagem.
Para transações que ultrapassem 20 documentos por indexador por dia, esta competência exige que anexe um recurso faturável Microsoft Foundry ao seu conjunto de competências. A execução das competências integradas é cobrada ao preço padrão existente da Foundry Tools. A extração de imagem também é faturável por Pesquisa de IA do Azure.
O recurso Microsoft Foundry é usado apenas para fins de faturação. O processamento de conteúdos ocorre em recursos separados geridos e mantidos pelo Pesquisa de IA do Azure. Os seus dados são processados na Geo onde o seu recurso é implementado.
Regiões suportadas
As regiões suportadas variam consoante a modalidade e a forma como a competência se liga à API de embeddings multimodais do Azure Vision.
| Approach | Requisito |
|---|---|
| Assistente de importação de dados |
|
| Programático, usando uma ligação baseada em chaves para faturação |
|
| Programático, usando uma ligação sem chave para faturação | Não há necessidade de ter a mesma região. Crie um serviço Pesquisa de IA do Azure e Microsoft recurso Foundry em qualquer região onde cada serviço esteja disponível. |
@odata.type
Microsoft.Skills.Vision.VectorizeSkill
Limites de dados
Os limites de entrada para a competência podem ser encontrados na documentação Azure Vision para imagens e texto. Considera usar a habilidade Text Split se precisares de fragmentação de dados para entradas de texto.
As entradas aplicáveis incluem:
- O tamanho do ficheiro de entrada de imagem deve ser inferior a 20 megabytes (MB). O tamanho da imagem deve ser superior a 10 x 10 píxeis e inferior a 16.000 x 16.000 píxeis.
- A cadeia de entrada de texto deve ser entre (inclusiva) uma palavra e 70 palavras.
Parâmetros de habilidade
Os parâmetros são distinguíveis de maiúsculas minúsculas.
| Entradas | Description |
|---|---|
modelVersion |
(Obrigatório) A versão do modelo (2023-04-15) deve ser passada para a API de embeddings multimodais do Azure Vision para gerar embeddings. Os embeddings vetoriais só podem ser comparados e comparados se forem do mesmo tipo de modelo. Imagens vetorizadas por um modelo não serão pesquisáveis através de outro modelo. A mais recente API de Análise de Imagens oferece dois modelos:
|
Entradas de habilidades
As entradas de definição de competências incluem nome, fonte e entradas. A tabela seguinte fornece valores válidos para o nome da entrada. Também podes especificar entradas recursivas. Para mais informações, consulte a referência da API REST e Criar um conjunto de competências.
| Entrada | Description |
|---|---|
text |
O texto de entrada a ser vetorizado. Se estiveres a usar fragmentação de dados, a fonte pode ser /document/pages/*. |
image |
Tipo complexo. Atualmente só funciona com o campo "/document/normalized_images", produzido pelo indexador de blob Azure quando imageAction está definido para um valor diferente de none. |
url |
O URL para descarregar a imagem a ser vetorizado. |
queryString |
A cadeia de consulta da URL para descarregar a imagem a ser vetorizada. É útil se guardares o URL e o token SAS em caminhos separados. |
Apenas um dos text, image ou url/queryString pode ser configurado para uma única instância da habilidade. Se quiser vetorizar tanto imagens como texto dentro do mesmo conjunto de competências, inclua duas instâncias desta competência na definição do conjunto de competências, uma para cada tipo de entrada que gostaria de usar.
Resultados em termos de competências
| Output | Description |
|---|---|
vector |
Array de embedding de saída de floats para o texto de entrada ou imagem. |
Definição da amostra
Para introdução de texto, considere uma mancha que tem o seguinte conteúdo:
{
"content": "Forests, grasslands, deserts, and mountains are all part of the Patagonian landscape that spans more than a million square kilometers of South America."
}
Para entradas de texto, a tua definição de competência pode ser a seguinte:
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"context": "/document",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "vector",
"targetName": "text_vector"
}
]
}
Para a entrada de imagens, uma segunda definição de competência no mesmo conjunto de competências pode ser assim:
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"context": "/document/normalized_images/*",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "vector",
"targetName": "image_vector"
}
]
}
Se quiseres vetorizar imagens diretamente da tua fonte de dados de armazenamento de blob em vez de extrair imagens durante a indexação, a definição da tua competência deve especificar uma URL e, talvez, um token SAS dependendo da segurança do armazenamento. Neste cenário, a sua definição de competência pode ser a seguinte:
{
"@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",
"targetName": "image_vector"
}
]
}
Saída da amostra
Para a entrada dada, é produzida uma saída de embedding vetorizada. A saída é de 1.024 dimensões, que é o número de dimensões suportadas pela API multimodal do Azure Vision.
{
"text_vector": [
0.018990106880664825,
-0.0073809814639389515,
....
0.021276434883475304,
]
}
A saída reside na memória. Para enviar esta saída para um campo no índice de pesquisa, deve definir um outputFieldMapping que mapeia a saída vetorizada de embedding (que é um array) para um campo vetorial. Assumindo que a saída da habilidade reside no nó vetorial do documento, e content_vector é o campo no índice de pesquisa, o outputFieldMapping no indexador deverá ser assim:
"outputFieldMappings": [
{
"sourceFieldName": "/document/vector/*",
"targetFieldName": "content_vector"
}
]
Para mapear embeddings de imagem para o índice, usas projeções de índice. A carga útil para indexProjections pode parecer-se com o seguinte exemplo. image_content_vector é um campo no índice, e está preenchido com o conteúdo encontrado no vetor do normalized_images array.
"indexProjections": {
"selectors": [
{
"targetIndexName": "myTargetIndex",
"parentKeyFieldName": "ParentKey",
"sourceContext": "/document/normalized_images/*",
"mappings": [
{
"name": "image_content_vector",
"source": "/document/normalized_images/*/vector"
}
]
}
]
}