Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Note
Azure AI-sökning är tillgängligt via Azure-portalen, REST-API:er och Azure-SDK:er. Den ligger också till grund för Foundry IQ, det hanterade kunskapsskiktet som omvandlar företagsinnehåll till återanvändbara, behörighetsmedvetna kunskapsbaser för agenter i Microsoft Foundry-portalen.
Important
Funktioner, funktioner eller egenskaper som har markerats (förhandsversion) omfattas inte av ett serviceavtal, rekommenderas inte för produktionsarbetsbelastningar och kan ändras eller begränsas innan de blir allmänt tillgängliga. Villkoren för Azure AI-sökning förhandsgranskning gäller för alla förhandsgranskningsfunktioner, oavsett om de är fristående eller en del av en allmänt tillgänglig funktion.
Den Azure Vision multimodala inbäddningsfärdigheten (förhandsversion) använder API:et för multimodala inbäddningar från Azure Vision i Foundry Tools för att generera inbäddningar för text- eller bildindata.
För transaktioner som överstiger 20 dokument per indexerare per dag kräver denna färdighet att du bifogar en debiterbar Microsoft Foundry-resurs till din kompetens. Utförandet av inbyggda färdigheter debiteras till det befintliga Foundry Tools Standard-priset. Bildextraktion är också fakturerbart av Azure AI-sökning.
Microsoft Foundry-resursen används endast för faktureringsändamål. Innehållsbearbetning sker på separata resurser som hanteras och underhålls av Azure AI-sökning. Din data bearbetas i Geo där din resurs är distribuerad.
Regioner som stöds
Stödda regioner varierar beroende på modalitet och hur färdigheten kopplas till Azure Vision multimodal embeddings API.
| Tillvägagångssätt | Krav |
|---|---|
| Importdata-guiden |
|
| Programmatisk, med en nyckelbaserad anslutning för fakturering |
|
| Programmatisk, med en nyckellös anslutning för fakturering | Inget krav på samma region. Skapa en Azure AI-sökning tjänst och Microsoft Foundry-resurs i vilken region som helst där varje tjänst är tillgänglig. |
@odata.type
Microsoft.Skills.Vision.VectorizeSkill
Databegränsningar
Inmatningsgränserna för färdigheten finns i dokumentationen Azure Vision för bilder och text. Överväg att använda Text Split-färdigheten om du behöver datachunking för textinmatning.
Tillämpliga indata inkluderar:
- Bildinmatningsfilstorleken måste vara mindre än 20 megabyte (MB). Bildstorleken måste vara större än 10 x 10 pixlar och mindre än 16 000 x 16 000 pixlar.
- Textinmatningssträngen måste vara mellan (inklusive) ett ord och 70 ord.
Kompetensparametrar
Parametrar är skiftlägeskänsliga.
| Indata | Beskrivning |
|---|---|
modelVersion |
(Obligatoriskt) Modellversionen (2023-04-15) ska skickas till Azure Vision multimodala embeddings API för att generera embeddings. Vektorinbäddningar kan bara jämföras och matchas om de är från samma modelltyp. Bilder som vektoriseras av en modell kommer inte att vara sökbara genom en annan modell. Det senaste Bildanalys-API:et erbjuder två modeller:
|
Kunskapsindata
Färdighetsdefinitionsindata inkluderar namn, källa och indata. Följande tabell ger giltiga värden för indatans namn. Du kan också specificera rekursiva indata. För mer information, se REST API-referensen och Skapa en kompetensuppsättning.
| Input | Beskrivning |
|---|---|
text |
Inmatningstexten ska vektoriseras. Om du använder datachunking kan källan vara /document/pages/*. |
image |
Komplex typ. Fungerar för närvarande endast med fältet "/document/normalized_images", som produceras av Azure blobindexer när imageAction sätts till ett annat värde än none. |
url |
URL:en för att ladda ner bilden som ska vektoriseras. |
queryString |
Frågesträngen för URL:en för att ladda ner bilden som ska vektoriseras. Användbart om du lagrar URL:en och SAS-token i separata vägar. |
Endast en av text, image eller url/queryString kan konfigureras för en enda instans av färdigheten. Om du vill vektorisera både bilder och text inom samma färdighetsuppsättning, inkludera två instanser av denna färdighet i färdighetsdefinitionen, en för varje inmatningstyp du vill använda.
Färdighetsresultat
| Resultat | Beskrivning |
|---|---|
vector |
Utdata inbäddningsarray av flyttalor för inmatningstexten eller bilden. |
Exempeldefinition
För textinmatning, betrakta en blob som har följande innehåll:
{
"content": "Forests, grasslands, deserts, and mountains are all part of the Patagonian landscape that spans more than a million square kilometers of South America."
}
För textinmatningar kan din färdighetsdefinition se ut så här:
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"context": "/document",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "vector",
"targetName": "text_vector"
}
]
}
För bildinmatning kan en andra färdighetsdefinition inom samma kompetensuppsättning se ut så här:
{
"@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"
}
]
}
Om du vill vektorisera bilder direkt från din bloblagringsdatakälla istället för att extrahera bilder under indexering, bör din färdighetsdefinition specificera en URL, och kanske en SAS-token beroende på lagringssäkerheten. I detta scenario kan din färdighetsdefinition se ut så här:
{
"@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"
}
]
}
Exempel på utdata
För den givna indatan produceras en vektoriserad inbäddningsutgång. Utdata är 1 024 dimensioner, vilket är antalet dimensioner som stöds av Azure Vision multimodala API.
{
"text_vector": [
0.018990106880664825,
-0.0073809814639389515,
....
0.021276434883475304,
]
}
Utgången finns i minnet. För att skicka denna utdata till ett fält i sökindexet måste du definiera en outputFieldMapping som mappar den vektoriserade inbäddningsutdata (som är en array) till ett vektorfält. Om man antar att färdighetsutdata finns i dokumentets vektornod , och content_vector är fältet i sökindexet, bör outputFieldMapping i indexeraren se ut så här:
"outputFieldMappings": [
{
"sourceFieldName": "/document/vector/*",
"targetFieldName": "content_vector"
}
]
För att mappa bildinbäddningar till indexet använder du indexprojektioner. Nyttolasten för indexProjections kan se ut ungefär i följande exempel. image_content_vector är ett fält i indexet, och det fylls med innehållet som finns i vektorn i normalized_images arrayen.
"indexProjections": {
"selectors": [
{
"targetIndexName": "myTargetIndex",
"parentKeyFieldName": "ParentKey",
"sourceContext": "/document/normalized_images/*",
"mappings": [
{
"name": "image_content_vector",
"source": "/document/normalized_images/*/vector"
}
]
}
]
}