Použití vložených modelů z katalogu modelů Microsoft Foundry pro integrovanou vektorizaci (Preview)

Poznámka

Azure AI Vyhledávač je k dispozici prostřednictvím portálu Azure, rozhraní REST API a Sady Azure SDK. Podporuje také Foundry IQ, spravovanou znalostní vrstvu, která transformuje podnikový obsah na opakovaně použitelné znalostní báze s podporou oprávnění pro agenty na portálu Microsoft Foundry.

Důležité

Na funkce, možnosti nebo vlastnosti označené jako (Preview) se nevztahuje smlouva o úrovni služeb, nejsou doporučené pro produkční úlohy a mohou se změnit nebo být omezeny dříve, než budou obecně k dispozici. Podmínky Azure AI Vyhledávač Preview platí pro všechny funkce ve verzi Preview, ať už jsou samostatné nebo součástí obecně dostupné funkce.

V tomto článku se dozvíte, jak používat modely katalogu modelů Microsoft Foundry pro integrované vektorizace (Preview) během indexování a provádění dotazů v Azure AI Vyhledávač.

Pracovní postup vyžaduje nasazení modelu z katalogu, který zahrnuje vkládání modelů z Microsoft a dalších společností. Nasazení modelu je fakturovatelné podle fakturační struktury jednotlivých poskytovatelů.

Jakmile je model nasazený, můžete ho použít s dovedností AML pro integrovanou vektorizaci během indexování nebo s vektorizátorem katalogu Microsoft Foundry model vectorizer pro dotazy.

Tip

Pomocí průvodce importem dat vygenerujte sadu dovedností, která zahrnuje dovednosti AML pro nasazené modely vkládání do 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

Podporované modely vkládání

Podporované vkládání modelů z katalogu modelů se liší podle metody použití:

Nasazení modelu vložení z katalogu modelů

  1. Podle těchto pokynů na portálu nasaďte do projektu podporovaný model.

  2. 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.

    Pokud dáváte přednost ověřování pomocí tokenů pro ověřování založené na klíči, stačí zkopírovat jenom název modelu. Poznamenejte si ale oblast, do které je model nasazený.

  3. Nakonfigurujte index vyhledávání a indexer tak, aby používal nasazený model.

Nasazení vkládacího modelu jako bezserverové nasazení

Dovednost AML a katalog modelů Microsoft Foundry akceptují pouze bezserverová nasazení vektorizačních modelů pro vkládání od Cohere. Pro tyto modely nejsou podporována bezserverová nasazení prostřednictvím portálu Microsoft Foundry, takže k vytvoření nasazení použijte Azure CLI. Další informace najdete v tématu Nasazení modelů jako nasazení bezserverového rozhraní API.

Jak vytvořit bezserverové nasazení Cohere:

  1. Nainstalujte Azure CLI s rozšířením ml.

    az extension add -n ml
    
  2. Přihlaste se a Azure a nastavte výchozí nastavení.

    az login
    az account set --subscription <subscription-id>
    az configure --defaults workspace=<project-name> group=<resource-group>
    
  3. Vytvořte subscribe.yaml soubor pro přihlášení k odběru předplatného marketplace pro model.

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

    U jiných podporovaných modelů nahraďte ID modelu jednou z následujících hodnot.

    Model ID modelu
    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. Spuštěním následujícího příkazu vytvořte předplatné.

    az ml marketplace-subscription create --file subscribe.yaml
    
  5. Vytvořte endpoint.yaml soubor pro vytvoření koncového bodu bez serveru.

    name: cohere-embed-v3-english-endpoint
    model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-english
    
  6. Spuštěním následujícího příkazu vytvořte koncový bod.

    az ml serverless-endpoint create --file endpoint.yaml
    
  7. Pro ověřování na základě klíčů získejte identifikátor URI a klíč koncového bodu pro použití ve skillech nebo vektorizátoru.

    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
    

Ukázkový užitečný obsah dovednosti AML

Když nasadíte vložené modely z katalogu modelů, připojíte se k nim pomocí dovedností AML v Azure AI Vyhledávač pro úlohy indexování.

Tato část popisuje definici dovedností AML a mapování indexů. Zahrnuje ukázkový datový balíček, který je předem nakonfigurovaný, aby pracoval s odpovídajícím nasazeným koncovým bodem. Další informace najdete v tématu Kontext dovednosti a jazyk pro zadávání poznámek.

Vkládací modely Cohere

Tento aplikační balíček dovednosti AML funguje s následujícími embedovacími modely:

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

Předpokládá se, že svůj obsah rozdělujete pomocí dovednosti Text Split, a proto se váš text, který má být vektorizován, nachází na cestě /document/pages/*. Pokud text pochází z jiné cesty, aktualizujte všechny odkazy na /document/pages/* cestu odpovídajícím způsobem.

Musíte přidat cestu /v1/embed na konec adresy URL, kterou jste zkopírovali z nasazení Foundry. Můžete také změnit hodnoty pro input_type, truncatea embedding_types vstupy tak, aby lépe vyhovovaly vašemu případu použití. Další informace o dostupných možnostech najdete v referenčních informacích k rozhraní API pro vložení Cohere.

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í modelů Cohere Embed pomocí 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"
    }
  ]
}

Výstup modelu Cohere navíc není pole vkládání přímo, ale spíše objekt JSON, který ho obsahuje. Je třeba jej vhodně zvolit při mapování na definici indexu pomocí indexProjections nebo outputFieldMappings. Tady je ukázková datová indexProjections část, která vám umožní provést implementaci tohoto mapování.

Pokud jste vybrali jiný embedding_types ve vaší definici dovednosti, změňte float v source cestě k vybranému typu.

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

Ukázková datová část vektorizátoru

Vektorizátor katalogu modelů Microsoft Foundry na rozdíl od dovednosti AML je přizpůsobený tak, aby fungoval pouze s modely vkládání, které lze nasadit prostřednictvím katalogu modelů. Hlavní rozdíl spočívá v tom, že se nemusíte starat o datovou část požadavku a odpovědi. Musíte však zadat modelName, který odpovídá "ID modelu", které jste zkopírovali po nasazení modelu.

Tady je ukázková datová část toho, jak byste na definici indexu nakonfigurovali vektorizátor vzhledem k vlastnostem zkopírovaným z Foundry.

U modelů Cohere byste neměli přidávat /v1/embed cestu URL na konec, jako jste to udělali s dovednostním modelem.

"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 nakonfigurovat dovednosti AML a vektorizátor pro katalog modelů Microsoft Foundry pro ověřování pomocí tokenu prostřednictvím řízení přístupu na základě rolí na Azure.

Vaše vyhledávací služba musí mít spravovanou identitu přiřazenou systémem nebo uživatelem a identita musí mít pro váš projekt oprávnění vlastníka nebo přispěvatele . Pak můžete pole key odebrat z definice dovednosti a vektorizátoru, a nahradit ho resourceId. Pokud je váš projekt a vyhledávací služba v různých oblastech, zadejte region také toto pole.

"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

Poznámka

Tato integrace v současné době nepodporuje ověřování tokenů pro modely Cohere. Musíte použít ověřování založené na klíčích.