Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Note
Pesquisa de IA do Azure está disponível por meio do portal Azure, APIs REST e SDKs do Azure. Ele também sustenta o IQ do Foundry, a camada de conhecimento gerenciado que transforma o conteúdo da empresa em bases de conhecimento reutilizáveis e com reconhecimento de permissão para agentes no portal do Microsoft Foundry.
Importante
Esta habilidade está em prévia nos Termos Suplementares de Uso. A versão prévia mais recente do Skillsets – Criar ou Atualizar (API REST) dá suporte a esse recurso.
A habilidade Azure Vision multimodais embeddings utiliza a API multimodal embeddings do Azure Vision no Foundry Tools para gerar embeddings para entrada de texto ou imagem.
Para transações que ultrapassam 20 documentos por indexador por dia, essa habilidade exige que você anexe um recurso faturável Microsoft Foundry ao seu conjunto de habilidades. A execução das habilidades integradas é cobrada pelo 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 faturamento. O processamento de conteúdo ocorre em recursos separados gerenciados e mantidos pelo Pesquisa de IA do Azure . Seus dados são processados na Geo onde seu recurso é implantado.
Regiões com suporte
As regiões suportadas variam conforme a modalidade e como a habilidade se conecta à API de embeddings multimodais do Azure Vision.
| Abordagem | Requisito |
|---|---|
| Assistente de importação de dados |
|
| Programático, usando uma conexão baseada em chaves para faturamento |
|
| Programático, usando uma conexão sem chave para faturamento | 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 habilidade podem ser encontrados na documentação Azure Vision para imagens e texto. Considere usar a habilidade Text Split se precisar de fragmentação de dados para entradas de texto.
Entradas aplicáveis incluem:
- O tamanho do arquivo de entrada de imagem deve ser menor que 20 megabytes (MB). O tamanho da imagem deve ser maior que 10 x 10 pixels e menor que 16.000 x 16.000 pixels.
- A string de entrada de texto deve ter entre (inclusivo) uma palavra e 70 palavras.
Parâmetros de habilidade
Os parâmetros são sensíveis a maiúsculas minúsculas.
| Entradas | Descrição |
|---|---|
modelVersion |
(Obrigatório) A versão do modelo (2023-04-15) será passada para a API de embeddings multimodais do Azure Vision para gerar embeddings. 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 por outro modelo. A API de Análise de Imagens mais recente oferece dois modelos:
|
Entradas de competências
As entradas de definição de habilidades incluem nome, fonte e entradas. A tabela a seguir fornece valores válidos para o nome da entrada. Você também pode especificar entradas recursivas. Para mais informações, veja a referência da API REST e Criar um conjunto de habilidades.
| Entrada | Descrição |
|---|---|
text |
O texto de entrada a ser vetorizado. Se você está usando 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 |
A URL para baixar a imagem será vetorizada. |
queryString |
A string de consulta da URL para baixar a imagem será vetorizada. Útil se você armazenar a 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 você quiser vetorizar imagens e texto dentro do mesmo conjunto de habilidades, inclua duas instâncias dessa habilidade na definição do conjunto de habilidades, uma para cada tipo de entrada que você gostaria de usar.
Resultados de competências
| Saída | Descrição |
|---|---|
vector |
Matriz de embedding de saída de floats para o texto ou imagem de entrada. |
Definição de exemplo
Para entrada de texto, considere uma mancha que possui 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, sua definição de habilidade pode ser assim:
{
"@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 imagem, uma segunda definição de habilidade no mesmo conjunto de habilidades 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 você quiser vetorizar imagens diretamente da sua fonte de dados de armazenamento de blobs, em vez de extrair imagens durante a indexação, sua definição de habilidade deve especificar uma URL, e talvez um token SAS dependendo da segurança do armazenamento. Para esse cenário, sua definição de habilidade 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 de exemplo
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 essa saída para um campo no índice de busca, você 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 busca, o outputFieldMapping no indexador deve ser assim:
"outputFieldMappings": [
{
"sourceFieldName": "/document/vector/*",
"targetFieldName": "content_vector"
}
]
Para mapear embeddings de imagem ao índice, você usa projeções de índice. A carga útil para indexProjections pode se parecer com o exemplo a seguir. image_content_vector é um campo no índice, e ele é 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"
}
]
}
]
}