Insluitmodellen gebruiken uit de Microsoft Foundry-modelcatalogus voor geïntegreerde vectorisatie (preview)

Opmerking

Azure AI Zoeken is beschikbaar via de Azure-portal, REST API's en Azure-SDK's. Het vormt ook een basis voor Foundry IQ, de beheerde kennislaag die bedrijfsinhoud transformeert in herbruikbare, machtigingsbewuste knowledge bases voor agents in de Microsoft Foundry-portal.

Belangrijk

Functies, mogelijkheden of eigenschappen die zijn gemarkeerd (preview) vallen niet onder een service level agreement, worden niet aanbevolen voor productieworkloads en kunnen worden gewijzigd of beperkt voordat ze algemeen beschikbaar worden. De Azure AI Zoeken preview-voorwaarden zijn van toepassing op alle preview-functionaliteit, ongeacht of deze zelfstandig is of deel uitmaakt van een algemeen beschikbare functie.

In dit artikel leert u hoe u Microsoft Foundry-modelcatalogusmodellen kunt gebruiken voor geïntegreerde vectorisatie (preview) tijdens het indexeren en uitvoeren van query's in Azure AI Zoeken.

Voor de werkstroom moet u een model implementeren vanuit de catalogus, waaronder het insluiten van modellen van Microsoft en andere bedrijven. Het implementeren van een model is factureerbaar volgens de factureringsstructuur van elke provider.

Nadat het model is geïmplementeerd, kunt u het gebruiken met de AML-vaardigheid voor geïntegreerde vectorisatie tijdens het indexeren of met de Microsoft Foundry-modelcatalogusvectorizer voor query's.

Tip

Gebruik de wizard Gegevens importeren om een vaardighedenset te genereren die een AML-vaardigheid bevat voor geïmplementeerde insluitingsmodellen in Foundry. De AML-vaardigheidsdefinitie voor invoer, uitvoer en toewijzingen wordt gegenereerd door de wizard, waarmee u een model eenvoudig kunt testen voordat u code schrijft.

Voorwaarden

Ondersteunde insluitingsmodellen

Ondersteunde insluitingsmodellen uit de modelcatalogus variëren per gebruiksmethode:

Een insluitmodel implementeren vanuit de modelcatalogus

  1. Volg deze portalinstructies voor het implementeren van een ondersteund model in uw project.

  2. Noteer de doel-URI, sleutel en modelnaam. U hebt deze waarden nodig voor de vectorizerdefinitie in een zoekindex en voor de vaardighedenset die de modeleindpunten aanroept tijdens het indexeren.

    Als u liever tokenverificatie gebruikt voor verificatie op basis van sleutels, hoeft u alleen de modelnaam te kopiëren. Noteer echter de regio waarnaar het model is geïmplementeerd.

  3. Configureer een zoekindex en indexeerfunctie om het geïmplementeerde model te gebruiken.

Een insluitmodel implementeren als een serverloze implementatie

De AML-vaardigheid en de vectorisator van de Foundry-modelcatalogus van Microsoft accepteren alleen serverloze implementaties van Cohere-embeddingmodellen. Serverloze implementaties via de Microsoft Foundry-portal worden niet ondersteund voor deze modellen. Gebruik daarom de Azure CLI om de implementatie te maken. Zie Modellen implementeren als serverloze API-implementaties voor meer informatie.

Een serverloze cohere-implementatie maken:

  1. Installeer de Azure CLI met de extensie ml.

    az extension add -n ml
    
  2. Meld u aan bij Azure en stel de standaardinstellingen in.

    az login
    az account set --subscription <subscription-id>
    az configure --defaults workspace=<project-name> group=<resource-group>
    
  3. Maak een subscribe.yaml bestand om u te abonneren op het Marketplace-abonnement voor het model.

    name: cohere-embed-v3-english-subscription
    model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-english
    

    Voor andere ondersteunde modellen vervangt u de model-id door een van de volgende waarden.

    Model Model-ID
    Cohere-embed-v3-english azureml://registries/azureml-cohere/models/Cohere-embed-v3-english
    Cohere-embed-v3-multilingual azureml://registries/azureml-cohere/models/Cohere-embed-v3-multilingual
    Cohere-embed-v4 azureml://registries/azureml-cohere/models/Cohere-embed-v4
  4. Voer de volgende opdracht uit om het abonnement te maken.

    az ml marketplace-subscription create --file subscribe.yaml
    
  5. Maak een endpoint.yaml bestand om het serverloze eindpunt te maken.

    name: cohere-embed-v3-english-endpoint
    model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-english
    
  6. Voer de volgende opdracht uit om het eindpunt te maken.

    az ml serverless-endpoint create --file endpoint.yaml
    
  7. Voor sleutelgebaseerde authenticatie haalt u de eindpunt-URI en sleutel op voor gebruik in de skill of vectorizer.

    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
    

Voorbeeld van nettolading van AML-vaardigheden

Wanneer u insluitmodellen uit de modelcatalogus implementeert, maakt u er verbinding mee met behulp van de AML-vaardigheid in Azure AI Zoeken voor het indexeren van workloads.

In deze sectie worden de AML-vaardigheidsdefinities en indextoewijzingen beschreven. Het bevat een voorbeeld van een gegevenslading die al is geconfigureerd voor gebruik met het overeenkomstige geïmplementeerde API-eindpunt. Zie Vaardigheidscontext en invoeraantekeningstaal voor meer informatie.

Cohere embeddingmodellen

Deze AML-vaardigheidspayload werkt met de volgende embeddingmodellen:

  • Cohere-embed-v3-english
  • Cohere-embed-v3-multilingual
  • Cohere-embed-v4

Hierbij wordt ervan uitgegaan dat u uw inhoud opsplitst met behulp van de vaardigheid Tekst splitsen en dat uw tekst die moet worden gevectoriseerd, zich in het /document/pages/* pad bevindt. Als uw tekst afkomstig is van een ander pad, moet u alle verwijzingen naar het /document/pages/* pad dienovereenkomstig bijwerken.

U moet het /v1/embed pad toevoegen aan het einde van de URL die u hebt gekopieerd uit uw Foundry-implementatie. U kunt ook de waarden voor de input_type, truncateen embedding_types invoer wijzigen zodat deze beter bij uw gebruiksscenario past. Raadpleeg de naslaginformatie over de insluit-API voor Cohere voor meer informatie over de beschikbare opties.

De URI en sleutel worden gegenereerd wanneer u het model vanuit de catalogus implementeert. Zie Cohere Embed-modellen implementeren met Foundry voor meer informatie over deze waarden.

{
  "@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"
    }
  ]
}

Bovendien is de uitvoer van het Cohere-model niet rechtstreeks de insluitingsmatrix, maar eerder een JSON-object dat het bevat. U moet deze op de juiste manier selecteren wanneer u deze toewijst aan de indexdefinitie via indexProjections of outputFieldMappings. Hier is een voorbeeld indexProjections van een gegevenspakket waarmee u deze mapping kunt implementeren.

Als u een andere optie in uw vaardigheidsdefinitie hebt geselecteerd, moet u het embedding_types in het float-pad wijzigen naar het type dat u hebt geselecteerd.

"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": {}
}

Voorbeeld van vectorizer-nettolading

De Microsoft Foundry-modelcatalogusvectorizer, in tegenstelling tot de AML-vaardigheid, is aangepast om alleen te werken met insluitmodellen die kunnen worden geïmplementeerd via de modelcatalogus. Het belangrijkste verschil is dat u zich geen zorgen hoeft te maken over de payload van de aanvraag en het antwoord. U moet echter de modelName, die overeenkomt met de 'model-id' die u hebt gekopieerd na het implementeren van het model opgeven.

Hier volgt een voorbeeld van hoe u de vectorizer in uw indexdefinitie configureert op basis van de eigenschappen die uit Foundry zijn gekopieerd.

Voor Cohere-modellen moet u niet het /v1/embed pad toevoegen aan het einde van uw URL, zoals u dat met de skill hebt gedaan.

"vectorizers": [
    {
        "name": "<YOUR_VECTORIZER_NAME_HERE>",
        "kind": "aml",
        "amlParameters": {
            "uri": "<YOUR_URL_HERE>",
            "key": "<YOUR_PRIMARY_KEY_HERE>",
            "modelName": "<YOUR_MODEL_ID_HERE>"
        },
    }
]

Verbinding maken met behulp van tokenverificatie

Als u geen verificatie op basis van sleutels kunt gebruiken, kunt u de AML-vaardigheid en Microsoft Vectorizer-verbinding voor de foundry-modelcatalogus configureren voor tokenverificatie via op rollen gebaseerd toegangsbeheer op Azure.

Uw zoekservice moet een door het systeem of de gebruiker toegewezen beheerde identiteit hebben en de identiteit moet de machtiging Eigenaar of Inzender hebben voor uw project. Vervolgens kunt u het key veld verwijderen uit uw vaardigheids- en vectorizerdefinitie, waarbij u het vervangt door resourceId. Als uw project en zoekservice zich in verschillende regio's bevinden, geeft u ook het region veld op.

"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

Opmerking

Deze integratie biedt momenteel geen ondersteuning voor tokenverificatie voor Cohere-modellen. U moet gebruikmaken van verificatie op basis van sleutels.