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.
Observera
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.
Viktigt
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.
I den här artikeln lär du dig hur du använder Microsoft Foundry-modellkatalogmodeller för integrerad vektorisering (förhandsversion) under indexering och frågekörning i Azure AI-sökning.
Arbetsflödet kräver att du distribuerar en modell från katalogen, som innehåller inbäddningsmodeller från Microsoft och andra företag. Distribution av en modell kan faktureras enligt faktureringsstrukturen för varje leverantör.
När modellen har distribuerats kan du använda den med AML för integrerad vektorisering under indexering eller med Microsoft Foundry model catalog vectorizer för frågor.
Tips
Använd guiden Importera data för att generera en kompetensuppsättning som innehåller en AML-färdighet för distribuerade inbäddningsmodeller på Foundry. AML-kunskapsdefinitionen för indata, utdata och mappningar genereras av guiden, vilket ger dig ett enkelt sätt att testa en modell innan du skriver någon kod.
Förutsättningar
En Azure AI-sökning-tjänst i alla regioner och på valfri prisnivå.
Inbäddningsmodeller som stöds
Inbäddningsmodeller som stöds från modellkatalogen varierar beroende på användningsmetod:
För den senaste listan över modeller som stöds programmatiskt, se referenserna för AML skill och Microsoft Foundry model catalog vectorizer.
Den senaste listan över modeller som stöds i Azure portalen finns i Quickstart: Vector search in the Azure portal and Quickstart: Multimodal search in the Azure portal.
Distribuera en inbäddningsmodell från modellkatalogen
Följ de här portalinstruktionerna för att distribuera en modell som stöds till projektet.
Anteckna mål-URI:n, nyckeln och modellnamnet. Du behöver dessa värden för vektoriserardefinitionen i ett sökindex och för den kompetensuppsättning som anropar modellslutpunkterna under indexeringen.
Om du föredrar tokenautentisering för nyckelbaserad autentisering behöver du bara kopiera modellnamnet. Anteckna dock den region som modellen distribueras till.
Konfigurera ett sökindex och en indexerare för att använda den distribuerade modellen.
Information om hur du använder modellen under indexering finns i Använda integrerad vektorisering. Använd AML, inte Azure OpenAI-inbäddningsfärdighet. I nästa avsnitt beskrivs kunskapskonfigurationen.
Information om hur du använder modellen som vektoriserare vid frågetillfället finns i Konfigurera en vektoriserare. Se till att använda vektoriseraren för Microsoft Foundry-modellkatalogen för det här steget.
Distribuera en inbäddningsmodell som en serverlös distribution
Katalogvektoriseraren för AML-modellen och Microsoft Foundry accepterar endast serverlösa distributioner av Cohere-inbäddningsmodeller. Serverlösa distributioner via Microsoft Foundry-portalen stöds inte för dessa modeller, så använd Azure CLI för att skapa distributionen. Mer information finns i Distribuera modeller som serverlösa API-distributioner.
Så här skapar du en cohere-serverlös distribution:
Installera Azure CLI med tillägget
ml.az extension add -n mlLogga in på Azure och ange dina standardvärden.
az login az account set --subscription <subscription-id> az configure --defaults workspace=<project-name> group=<resource-group>Skapa en
subscribe.yamlfil för att prenumerera på marketplace-prenumerationen för modellen.name: cohere-embed-v3-english-subscription model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-englishFör andra modeller som stöds ersätter du modell-ID:t med något av följande värden.
Modell Modell-ID Cohere-embed-v3-english azureml://registries/azureml-cohere/models/Cohere-embed-v3-englishCohere-embed-v3-multilingual azureml://registries/azureml-cohere/models/Cohere-embed-v3-multilingualCohere-embed-v4 azureml://registries/azureml-cohere/models/Cohere-embed-v4Kör följande kommando för att skapa prenumerationen.
az ml marketplace-subscription create --file subscribe.yamlSkapa en
endpoint.yamlfil för att skapa den serverlösa slutpunkten.name: cohere-embed-v3-english-endpoint model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-englishKör följande kommando för att skapa slutpunkten.
az ml serverless-endpoint create --file endpoint.yamlFör nyckelbaserad autentisering hämtar du slutpunkts-URI och nyckel för användning i färdigheten eller vektoriseraren.
az ml serverless-endpoint show --name cohere-embed-v3-english-endpoint --query "scoring_uri" az ml serverless-endpoint get-credentials --name cohere-embed-v3-english-endpoint
Exempel på AML-kompetensnyttolast
När du distribuerar inbäddningsmodeller från modellkatalogen ansluter du till dem med hjälp av AML-skill i Azure AI-sökning för att indexera arbetsbelastningar.
Det här avsnittet beskriver AML-kunskapsdefinitionen och indexmappningar. Den innehåller en exempellast som redan har konfigurerats för att fungera med den distribuerade motsvarande slutpunkten. Mer information finns i Kunskapskontext och indataanteckningsspråk.
Sammanhängande inbäddningsmodeller
Den här AML-färdighetsnyttolasten fungerar med följande inbäddningsmodeller:
- Cohere-embed-v3-english
- Cohere-embed-v3-multilingual
- Cohere-embed-v4
Det förutsätter att du segmenterar ditt innehåll med hjälp av färdigheten Text Split och därför är texten som ska vektoriseras i sökvägen /document/pages/*. Om texten kommer från en annan sökväg, uppdaterar du alla referenser till /document/pages/*-sökvägen i enlighet med den nya sökvägen.
Du måste lägga till /v1/embed sökvägen till slutet av URL:en som du kopierade från din Foundry-distribution. Du kan också ändra värdena för input_type, truncateoch embedding_types indata så att de passar ditt användningsfall bättre. Mer information om tillgängliga alternativ finns i referensen för Cohere Embed API.
URI:n och nyckeln genereras när du distribuerar modellen från katalogen. Mer information om dessa värden finns i Distribuera Cohere Embed-modeller med Foundry.
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"context": "/document/pages/*",
"uri": "https://cohere-embed-v3-multilingual-hin.eastus.models.ai.azure.com/v1/embed",
"key": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333",
"inputs": [
{
"name": "texts",
"source": "=[$(/document/pages/*)]"
},
{
"name": "input_type",
"source": "='search_document'"
},
{
"name": "truncate",
"source": "='NONE'"
},
{
"name": "embedding_types",
"source": "=['float']"
}
],
"outputs": [
{
"name": "embeddings",
"targetName": "aml_vector_data"
}
]
}
Dessutom är utdata från Cohere-modellen inte matrisen för inbäddningar direkt, utan snarare ett JSON-objekt som innehåller den. Du måste välja det på rätt sätt när du mappar det till indexdefinitionen via indexProjections eller outputFieldMappings. Här är ett exempel indexProjections på nyttolast som gör att du kan implementera den här mappningen.
Om du har valt en annan embedding_types i din kompetensdefinition, ändra float i source-sökvägen till den typ som du har valt.
"indexProjections": {
"selectors": [
{
"targetIndexName": "<YOUR_TARGET_INDEX_NAME_HERE>",
"parentKeyFieldName": "ParentKey", // Change this to the name of the field in your index definition where the parent key will be stored
"sourceContext": "/document/pages/*",
"mappings": [
{
"name": "aml_vector", // Change this to the name of the field in your index definition where the Cohere embedding will be stored
"source": "/document/pages/*/aml_vector_data/float/0"
}
]
}
],
"parameters": {}
}
Exempelvektoriserarnyttolast
Katalogvektoriseraren Microsoft Foundry-modell är, till skillnad från AML-färdigheten, särskilt utformad för att endast fungera med inbäddningsmodeller som kan distribueras via modellkatalogen. Den största skillnaden är att du inte behöver oroa dig för nyttolasten för begäran och svar. Du måste dock ange modelName, som motsvarar det "modell-ID" som du kopierade efter att du har distribuerat modellen.
Här är ett exempel på hur du konfigurerar vektoriseraren för din indexdefinition med hänsyn till egenskaperna som kopierats från Foundry.
För Cohere-modeller bör du INTE lägga till /v1/embed-sökvägen i slutet av URL:en, såsom du gjorde med "skill".
"vectorizers": [
{
"name": "<YOUR_VECTORIZER_NAME_HERE>",
"kind": "aml",
"amlParameters": {
"uri": "<YOUR_URL_HERE>",
"key": "<YOUR_PRIMARY_KEY_HERE>",
"modelName": "<YOUR_MODEL_ID_HERE>"
},
}
]
Ansluta med tokenautentisering
Om du inte kan använda nyckelbaserad autentisering kan du konfigurera AML-färdigheten och Microsoft Foundry-modellens katalogvektoriseraranslutning för token-autentisering via rollbaserad åtkomstkontroll på Azure.
Din söktjänst måste ha en system- eller användartilldelad hanterad identitet och identiteten måste ha ägar- eller deltagarbehörighet för projektet. Du kan sedan ta bort fältet key från din definition av färdighet och vektoriserare och ersätta det med resourceId. Om projektet och söktjänsten finns i olika regioner anger du även fältet region .
"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 needed if project is in different region from search service
Observera
Den här integreringen stöder för närvarande inte tokenautentisering för Cohere-modeller. Du måste använda nyckelbaserad autentisering.