Sdílet prostřednictvím


Vlastní vektorizátor webového rozhraní API

Vektorizátor vlastního webového rozhraní API umožňuje nakonfigurovat vyhledávací dotazy tak, aby vyvolali koncový bod webového rozhraní API, který vygeneruje vkládání v době dotazu. Struktura datové části JSON vyžadované k implementaci v poskytnutém koncovém bodu je podrobněji popsána v tomto dokumentu. Vaše data se zpracovávají v geografické oblasti, ve které je váš model nasazený.

Vektorizátory se používají v době dotazu, ale specifikují se v definicích indexu a odkazují na vektorová pole prostřednictvím vektorového profilu. Vlastní vektorizátor webového rozhraní API se volá WebApiVectorizer v rozhraní API.

Parametry vektorizátoru

Parametry rozlišují malá a velká písmena.

Název parametru Popis
uri Identifikátor URI webového rozhraní API, do kterého se odesílá datová část JSON. Je povoleno pouze schéma identifikátoru URI https .
httpMethod Metoda, která se má použít při odesílání datové části. Povolené metody jsou PUT nebo POST
httpHeaders Kolekce párů klíč-hodnota, kde klíče představují názvy hlaviček a hodnoty představují hodnoty hlaviček odesílané do webového rozhraní API spolu s datovou částí. V této kolekci nesmí být následující hlavičky: Accept, Accept-Charset, Accept-Encoding, Content-Length, Content-Type, Cookie, , Host, TE, Upgrade. Via
authResourceId (Volitelné) Řetězec, který je nastaven, označuje, že tento vektorizátor by měl použít spravovanou identitu v připojení k funkci nebo aplikaci, která je hostitelem kódu. Tato vlastnost přebírá ID aplikace (klienta) nebo registraci aplikace v Microsoft Entra ID v některém z těchto formátů: api://<appId>, <appId>/.default, api://<appId>/.default. Tato hodnota slouží k určení rozsahu ověřovacího tokenu načteného indexerem a odesílá se spolu s vlastním požadavkem webového rozhraní API do funkce nebo aplikace. Nastavení této vlastnosti vyžaduje, aby vaše vyhledávací služba byla nakonfigurovaná pro spravovanou identitu a aplikace funkcí Azure je nakonfigurovaná pro přihlášení k Microsoft Entra.
authIdentity (Volitelné) Identita spravovaná uživatelem používaná vyhledávací službou pro připojení k funkci nebo aplikaci, která je hostitelem kódu. Můžete použít identitu spravovanou systémem nebo uživatelem. Pokud chcete použít systémovou mangovanou identitu, nechejte authIdentity prázdnou.
timeout (Volitelné) Po zadání označuje časový limit pro klienta HTTP, který volá rozhraní API. Musí být formátovaná jako hodnota XSD dayTimeDuration (omezená podmnožina hodnoty doby trvání ISO 8601). Například PT60S 60 sekund. Pokud není nastavená, vybere se výchozí hodnota 30 sekund. Časový limit je možné nastavit na maximálně 230 sekund a minimálně 1 sekundu.

Podporované typy vektorových dotazů

Vektorizátor vlastního webového rozhraní API podporuje textimageUrlimageBinary a vektorové dotazy.

Ukázková definice

"vectorizers": [
    {
        "name": "my-custom-web-api-vectorizer",
        "kind": "customWebApi",
        "customWebApiParameters": {
            "uri": "https://contoso.embeddings.com",
            "httpMethod": "POST",
            "httpHeaders": {
                "api-key": "0000000000000000000000000000000000000"
            },
            "timeout": "PT60S",
            "authResourceId": null,
            "authIdentity": null
        },
    }
]

Struktura datové části JSON

Požadovaná struktura datové části JSON, která se očekává pro koncový bod při použití s vlastní vektorizátorem webového rozhraní API, je stejná jako u vlastní dovednosti webového rozhraní API, která je podrobněji popsána v dokumentaci pro danou dovednost.

Při implementaci koncového bodu webového rozhraní API pro použití s vlastní vektorizátorem webového rozhraní API je potřeba vzít v úvahu následující aspekty.

  • Vektorizátor odesílá v poli při požadavku na koncový bod pouze jeden záznam najednou values .

  • Vektorizátor předává data, která se mají vektorizovat v určitém klíči objektu data JSON v datové části požadavku. Tento klíč je text, imageUrlnebo imageBinary, v závislosti na typu vektorového dotazu byl požadován.

  • Vektorizátor očekává, že výsledné vkládání bude pod vector klíčem v objektu data JSON v datové části odpovědi.

  • Všechny chyby nebo upozornění vrácené koncovým bodem jsou vektorizátorem ignorovány a nelze je získat pro účely ladění v době dotazu.

  • Pokud byl požadován vektorový imageBinary dotaz, datová část požadavku odeslaná do koncového bodu je následující:

    {
        "values": [
            {
                "recordId": "0",
                "data":
                {
                    "imageBinary": {
                        "data": "<base 64 encoded image binary data>"
                    }
                }
            }
        ]
    }
    

Viz také