Použití vložených modelů z katalogu modelů Azure AI Foundry pro integrovanou vektorizaci
Důležité
Tato funkce je ve veřejné verzi Preview v rámci dodatečných podmínek použití. Rozhraní REST API verze 2024-05-05-01-Preview tuto funkci podporuje.
V tomto článku se dozvíte, jak získat přístup k modelům vkládání v katalogu modelů Azure AI Foundry pro převod vektorů během indexování a dotazů ve službě Azure AI Search.
Pracovní postup zahrnuje kroky nasazení modelu. Katalog modelů zahrnuje vkládání modelů od Microsoftu a dalších společností. Nasazení modelu je fakturovatelné podle struktury fakturace jednotlivých poskytovatelů.
Po nasazení modelu ho můžete použít k integrované vektorizaci během indexování nebo pomocí vektorizátoru Azure AI Foundry pro dotazy.
Tip
Pomocí průvodce importem a vektorizací dat vygenerujte sadu dovedností, která zahrnuje dovednosti AML pro nasazené modely vkládání do Azure AI Foundry. Definice dovedností AML pro vstupy, výstupy a mapování jsou generovány průvodcem, což vám umožňuje snadný způsob, jak otestovat model před napsáním jakéhokoli kódu.
Požadavky
Azure AI Search, libovolná oblast a úroveň
Azure AI Foundry a projekt Azure AI Foundry
Podporované modely vkládání
Integrovaná vektorizace a Průvodce importem a vektorizací dat podporuje následující vložené modely v katalogu modelů:
Pro vkládání textu:
- Cohere-embed-v3-english
- Cohere-embed-v3-multilingual
Pro vkládání obrázků:
- Facebook-DinoV2-Image-Embeddings-ViT-Base
- Facebook-DinoV2-Image-Embeddings-ViT-Giant
Nasazení modelu vkládání z katalogu modelů Azure AI Foundry
Otevřete katalog modelů Azure AI Foundry. Pokud ho ještě nemáte, vytvořte projekt.
Pomocí filtru zobrazíte jenom modely vkládání. V části Úkoly odvozování vyberte Vložit:
Vyberte podporovaný model a pak vyberte Nasadit.
Podle potřeby přijměte výchozí hodnoty nebo upravte a pak vyberte Nasadit. Podrobnosti o nasazení se liší v závislosti na modelu, který vyberete.
Počkejte na dokončení nasazení modelu monitorováním stavu zřizování. Mělo by se změnit z "Zřizování" na "Aktualizace" na "Úspěch". Možná budete muset vybrat Aktualizovat každých několik minut, abyste viděli aktualizaci stavu.
Poznamenejte si cílový identifikátor URI, klíč a název modelu. Tyto hodnoty potřebujete pro definici vektorizátoru v indexu vyhledávání a sadu dovedností, která během indexování volá koncové body modelu.
Volitelně můžete koncový bod změnit tak, aby místo ověřování pomocí klíče používal ověřování pomocí tokenu. Pokud povolíte ověřování tokenů, stačí zkopírovat identifikátor URI a název modelu, ale poznamenejte si, do které oblasti se model nasadí.
Teď můžete nakonfigurovat index vyhledávání a indexer tak, aby používal nasazený model.
Pokud chcete model použít při indexování, přečtěte si postup povolení integrované vektorizace. Nezapomeňte použít dovednost Azure Machine Learning (AML) a ne dovednosti AzureOpenAIEmbedding. Další část popisuje konfiguraci dovedností.
Pokud chcete model použít jako vektorizátor v době dotazu, přečtěte si téma Konfigurace vektorizátoru. Pro tento krok nezapomeňte použít vektorizátor katalogu modelů Azure AI Foundry.
Ukázkové datové části dovedností AML
Když nasadíte vložené modely z katalogu modelů Azure AI Foundry, připojíte se k nim pomocí dovednosti AML ve službě Azure AI Search pro úlohy indexování.
Tato část popisuje definici dovedností AML a mapování indexů. Zahrnuje ukázkové datové části, které jsou už nakonfigurované tak, aby fungovaly s odpovídajícími nasazenými koncovými body. Další technické podrobnosti o tom, jak tyto datové části fungují, najdete v kontextu dovedností a jazyku pro zadávání poznámek.
Tato datová část dovednosti AML funguje s následujícími modely vkládání obrázků z Azure AI Foundry:
- Facebook-DinoV2-Image-Embeddings-ViT-Base
- Facebook-DinoV2-Image-Embeddings-ViT-Giant
Předpokládá se, že vaše image pocházejí z /document/normalized_images/*
cesty vytvořené povolením integrované extrakce obrázků. Pokud vaše obrázky pocházejí z jiné cesty nebo jsou uložené jako adresy URL, aktualizujte všechny odkazy na /document/normalized_images/*
cestu podle potřeby.
Identifikátor URI a klíč se vygenerují při nasazení modelu z katalogu. Další informace o těchto hodnotách najdete v tématu Nasazení velkých jazykových modelů pomocí Azure AI Foundry.
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"context": "/document/normalized_images/*",
"uri": "https://myproject-1a1a-abcd.eastus.inference.ml.azure.com/score",
"timeout": "PT1M",
"key": "bbbbbbbb-1c1c-2d2d-3e3e-444444444444",
"inputs": [
{
"name": "input_data",
"sourceContext": "/document/normalized_images/*",
"inputs": [
{
"name": "columns",
"source": "=['image', 'text']"
},
{
"name": "index",
"source": "=[0]"
},
{
"name": "data",
"source": "=[[$(/document/normalized_images/*/data), '']]"
}
]
}
],
"outputs": [
{
"name": "image_features"
}
]
}
Ukázková datová část vektorizátoru Azure AI Foundry
Vektorizátor Azure AI Foundry, na rozdíl od dovednosti AML, je přizpůsobený tak, aby fungoval pouze s modely vkládání, které je možné nasadit prostřednictvím katalogu modelů Azure AI Foundry. Hlavní rozdíl spočívá v tom, že se nemusíte starat o datovou část požadavku a odpovědi, ale musíte zadat modelName
id modelu, které jste zkopírovali po nasazení modelu na portálu Azure AI Foundry.
Tady je ukázková datová část toho, jak byste na definici indexu nakonfigurovali vektorizátor vzhledem k vlastnostem zkopírovaným z Azure AI Foundry.
U modelů Cohere byste neměli přidávat /v1/embed
cestu na konec adresy URL, jako jste to udělali s dovedností.
"vectorizers": [
{
"name": "<YOUR_VECTORIZER_NAME_HERE>",
"kind": "aml",
"amlParameters": {
"uri": "<YOUR_URL_HERE>",
"key": "<YOUR_PRIMARY_KEY_HERE>",
"modelName": "<YOUR_MODEL_ID_HERE>"
},
}
]
Připojení pomocí ověřování tokenů
Pokud nemůžete použít ověřování založené na klíči, můžete místo toho nakonfigurovat dovednosti AML a připojení vektorizátoru Azure AI Foundry pro ověřování tokenů prostřednictvím řízení přístupu na základě role v Azure. Vyhledávací služba musí mít spravovanou identitu přiřazenou systémem nebo uživatelem a identita musí mít oprávnění vlastníka nebo přispěvatele pro váš pracovní prostor projektu AML. Potom můžete klíčové pole odebrat z definice dovednosti a vektorizátoru a nahradit ho polem resourceId. Pokud je projekt AML a vyhledávací služba v různých oblastech, zadejte také pole oblasti.
"uri": "<YOUR_URL_HERE>",
"resourceId": "subscriptions/<YOUR_SUBSCRIPTION_ID_HERE>/resourceGroups/<YOUR_RESOURCE_GROUP_NAME_HERE>/providers/Microsoft.MachineLearningServices/workspaces/<YOUR_AML_WORKSPACE_NAME_HERE>/onlineendpoints/<YOUR_AML_ENDPOINT_NAME_HERE>",
"region": "westus", // Only need if AML project lives in different region from search service