Beágyazott modellek használata az Microsoft Öntödei modellkatalógusból integrált vektorizáláshoz (előzetes verzió)

Megjegyzés

Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.

Fontos

Az (előzetes verzióban) megjelölt funkciókra, képességekre vagy tulajdonságokra nem vonatkozik szolgáltatási szintű szerződés, nem ajánlott éles számítási feladatokhoz, és az általános elérhetővé válásuk előtt változhatnak vagy korlátozhatók. Az Azure AI Keresés előzetes verziójú kifejezések az összes előzetes verziós funkcióra vonatkoznak, függetlenül attól, hogy önálló vagy egy általánosan elérhető funkció része.

Ebből a cikkből megtudhatja, hogyan használhatja a Microsoft Foundry modellkatalógusában található modelleket integrált vektorizáláshoz (előzetes verzió) az Azure AI Keresésben az indexelés és a lekérdezések futtatása során.

A munkafolyamathoz telepítenie kell egy modellt a katalógusból, amely magában foglalja a modellek beágyazását Microsoft és más vállalatoktól. A modell üzembe helyezése az egyes szolgáltatók számlázási struktúrájának megfelelően számlázható.

A modell üzembe helyezése után használhatja a AML képesség az indexelés során történő integrált vektorizáláshoz vagy a Microsoft Öntödei modellkatalógus vektorizálójával lekérdezésekhez.

Tipp

Az Adatok importálása varázslóval létrehozhat egy olyan készségkészletet, amely AML-képességgel rendelkezik a Foundryben üzembe helyezett beágyazási modellekhez. A bemenetek, kimenetek és leképezések AML-készségdefinícióját a varázsló hozza létre, amely lehetővé teszi a modellek tesztelését, mielőtt bármilyen kódot ír.

Előfeltételek

Támogatott beágyazási modellek

A modellkatalógusból támogatott beágyazási modellek használati módszer szerint változnak:

Beágyazási modell üzembe helyezése a modellkatalógusból

  1. A portál utasításait követve üzembe helyezhet egy támogatott modellt a projektben.

  2. Jegyezze fel a cél URI-t, kulcsot és modellnevet. Ezekre az értékekre szüksége van a keresési index vektorizáló definíciója és a modell végpontjait indexelés során meghívó képességkészlet számára.

    Ha a kulcsalapú hitelesítéshez a jogkivonat-hitelesítést részesíti előnyben, csak a modell nevét kell másolnia. Jegyezze fel azonban azt a régiót, amelyre a modell telepítve van.

  3. Konfiguráljon egy keresési indexet és indexelőt az üzembe helyezett modell használatához.

Beágyazási modell üzembe helyezése kiszolgáló nélküli üzembe helyezésként

Az AML funkció és a Microsoft Foundry modellkatalógus-vektorizáló csak a Cohere beágyazási modellek kiszolgáló nélküli üzembe helyezését fogadja el. A Microsoft Foundry portálon keresztüli kiszolgáló nélküli üzembe helyezéseket ezek a modellek nem támogatják, ezért az üzembe helyezés létrehozásához használja a Azure CLI. További információ: Modellek kiszolgáló nélküli API-alkalmazásként történő üzembe helyezése.

Kiszolgáló nélküli cohere-telepítés létrehozása:

  1. Telepítse az Azure CLI-t a ml kiterjesztéssel.

    az extension add -n ml
    
  2. Jelentkezzen be a Azure, és állítsa be az alapértelmezett beállításokat.

    az login
    az account set --subscription <subscription-id>
    az configure --defaults workspace=<project-name> group=<resource-group>
    
  3. Hozzon létre egy subscribe.yaml fájlt, amely feliratkozik a modell marketplace-előfizetésére.

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

    Más támogatott modellek esetén cserélje le a modellazonosítót az alábbi értékek egyikére.

    Modell Modellazonosító
    Cohere-embed-v3-english azureml://registries/azureml-cohere/models/Cohere-embed-v3-english
    Cohere-embed-v3-többnyelvű azureml://registries/azureml-cohere/models/Cohere-embed-v3-multilingual
    Cohere-embed-v4 azureml://registries/azureml-cohere/models/Cohere-embed-v4
  4. Futtassa a következő parancsot az előfizetés létrehozásához.

    az ml marketplace-subscription create --file subscribe.yaml
    
  5. Hozzon létre egy endpoint.yaml fájlt a kiszolgáló nélküli végpont létrehozásához.

    name: cohere-embed-v3-english-endpoint
    model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-english
    
  6. Futtassa a következő parancsot a végpont létrehozásához.

    az ml serverless-endpoint create --file endpoint.yaml
    
  7. Kulcsalapú hitelesítéshez szerezze be a végpont URI-jét és a kulcsot, amelyeket a képesség vagy a vektorizáló használatához szükséges használni.

    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
    

Minta AML képesség adathasználat

Amikor beágyazási modelleket helyez üzembe a modellkatalógusból, az Azure AI Keresés-ben az AML-képesség használatával csatlakozhat hozzájuk az indexelési munkafolyamatokhoz.

Ez a szakasz az AML-képességdefiníciókat és az indexleképezéseket ismerteti. Tartalmaz egy minta hasznos adatcsomagot, amely már konfigurálva van a megfelelő üzembe helyezett végponttal való együttműködésre. További információért lásd Skill context and input annotation language.

Cohere beágyazási modellek

Ez az AML képességcsomag együttműködik a következő beágyazási modellekkel:

  • Cohere-embed-v3-english
  • Cohere-embed-v3-többnyelvű
  • Cohere-embed-v4

Feltételezi, hogy a Szöveg felosztása képesség használatával osztja el a tartalmat, ezért a vektorizálandó szöveg az /document/pages/* elérési úton található. Ha a szöveg egy másik elérési útról származik, ennek megfelelően frissítse az /document/pages/* elérési útra mutató összes hivatkozást.

A /v1/embed elérési utat hozzá kell adnia a Foundry-példányból kimásolt URL-cím végéhez. Módosíthatja a , input_typeés truncate a embedding_typesbemenetek értékeit is, hogy jobban illeszkedjenek a használati esethez. A rendelkezésre álló lehetőségekről a Cohere Embed API-referenciában talál további információt.

Az URI és a kulcs a modell katalógusból való üzembe helyezésekor jön létre. Ezekről az értékekről további információt a Cohere Beágyazási modellek üzembe helyezése a Foundryvel című témakörben talál.

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

Emellett a Cohere-modell kimenete nem közvetlenül a beágyazási tömb, hanem egy JSON-objektum, amely tartalmazza azt. Az indexdefinícióval indexProjectionsoutputFieldMappingsvaló megfeleltetéskor a megfelelő kijelölést kell kiválasztania. Íme egy példa indexProjections adatminta, amely lehetővé teszi a leképezés implementálását.

Ha a képességdefinícióban másikat választott, módosítsa a embedding_types értékét a float útvonalon a kiválasztott típusnak megfelelően.

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

Mintavektorizáló terhelése

Az Microsoft Öntödei modellkatalógus vektorizálója az AML-képességtől eltérően csak a modellkatalóguson keresztül üzembe helyezhető beágyazási modellekre van szabva. A fő különbség az, hogy nem kell aggódnia a kérés és válasz adatai miatt. Meg kell adnia azonban a modelName, amely megfelel a "modellazonosítónak", amit a modell üzembe helyezése után másolt.

Íme egy minta terhelés arról, hogyan konfigurálná a vektorizáló modult az index definíciója alapján, a Foundryból átmásolt tulajdonságok segítségével.

A Cohere-modellek esetében NE adja hozzá az /v1/embed útvonalat az URL-cím végéhez úgy, mint ahogy a képességnél tette.

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

Csatlakozás tokenes hitelesítéssel

Ha nem tudja használni a kulcsalapú hitelesítést, konfigurálhatja az AML készséget és a Microsoft Foundry modell katalógus vektorizáló kapcsolatot tokenes hitelesítéshez szerepköralapú hozzáférés-vezérléssel az Azure platformon.

A keresési szolgáltatásnak rendszer- vagy felhasználó által hozzárendelt felügyelt identitással kell rendelkeznie, és az identitásnak tulajdonosi vagy közreműködői engedélyekkel kell rendelkeznie a projekthez. Ezután eltávolíthatja a mezőt a key képesség- és vektorizáló definícióból, és lecserélheti a következőre resourceId: . Ha a projekt és a keresési szolgáltatás különböző régiókban található, adja meg a region mezőt is.

"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

Megjegyzés

Ez az integráció jelenleg nem teszi lehetővé a Cohere-modellek tokenes hitelesítését. Kulcsalapú hitelesítést kell használnia.