Anpassad webb-API-vektoriserare
Med den anpassade webb-API-vektoriseraren kan du konfigurera dina sökfrågor så att de anropar en webb-API-slutpunkt för att generera inbäddningar vid frågetillfället. Strukturen för den JSON-nyttolast som krävs för att implementeras i den angivna slutpunkten beskrivs längre ned i det här dokumentet. Dina data bearbetas i geo-området där din modell distribueras.
Vectorizers används vid frågetillfället, men anges i indexdefinitioner och refereras till i vektorfält via en vektorprofil. Den anpassade webb-API-vektoriseraren anropas WebApiVectorizer
i API:et.
Använd REST API:et 2024-07-01 eller ett Azure SDK-paket som har uppdaterats för att tillhandahålla funktionen.
Konfigurera en vektoriserare i ett sökindexinnehåller användningsinstruktioner.
Vectorizer-parametrar
Parametrar är skiftlägeskänsliga.
Parameternamn | beskrivning |
---|---|
uri |
URI:n för webb-API:et som JSON-nyttolasten skickas till. Endast https-URI-schemat tillåts. |
httpMethod |
Den metod som ska användas när nyttolasten skickas. Tillåtna metoder är PUT eller POST |
httpHeaders |
En samling nyckel/värde-par där nycklarna representerar rubriknamn och värden representerar huvudvärden som skickas till webb-API:et tillsammans med nyttolasten. Följande rubriker får inte vara i den här samlingen: , , , , , Content-Type , Cookie , Host , TE , , Upgrade , . Via Content-Length Accept-Encoding Accept-Charset Accept |
authResourceId |
(Valfritt) En sträng som om den anges anger att den här vektoriseraren ska använda en hanterad identitet på anslutningen till funktionen eller appen som är värd för koden. Den här egenskapen tar ett program-ID (klient)-ID eller appens registrering i Microsoft Entra-ID i något av följande format: api://<appId> , <appId>/.default , api://<appId>/.default . Det här värdet används för att begränsa den autentiseringstoken som hämtas av indexeraren och skickas tillsammans med den anpassade webb-API-begäran till funktionen eller appen. Om du anger den här egenskapen måste din söktjänst konfigureras för hanterad identitet och att azure-funktionsappen har konfigurerats för en Microsoft Entra-inloggning. |
authIdentity |
(Valfritt) En användarhanterad identitet som används av söktjänsten för att ansluta till funktionen eller appen som är värd för koden. Du kan använda antingen en system- eller användarhanterad identitet. Lämna tom om du vill använda en systemhanterad identitet authIdentity . |
timeout |
(Valfritt) När det anges anger du tidsgränsen för http-klienten som gör API-anropet. Det måste formateras som ett XSD-värde "dayTimeDuration" (en begränsad delmängd av ett ISO 8601-varaktighetsvärde ). Till exempel PT60S i 60 sekunder. Om det inte anges väljs ett standardvärde på 30 sekunder. Tidsgränsen kan anges till högst 230 sekunder och minst 1 sekund. |
Frågetyper för vektorer som stöds
Custom Web API-vektoriseraren stöder text
, imageUrl
och imageBinary
vektorfrågor.
Exempeldefinition
"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
},
}
]
JSON-nyttolaststruktur
Den nödvändiga JSON-nyttolaststrukturen som förväntas för en slutpunkt när du använder den med den anpassade webb-API-vektoriseraren är densamma som för den anpassade webb-API-färdigheten, vilket beskrivs mer detaljerat i dokumentationen för färdigheten.
Det finns följande andra saker att tänka på när du implementerar en webb-API-slutpunkt som ska användas med den anpassade webb-API-vektoriseraren.
Vektoriseraren skickar bara en post i taget i matrisen
values
när en begäran skickas till slutpunkten.Vektoriseraren skickar data som ska vektoriseras i en specifik nyckel i
data
JSON-objektet i nyttolasten för begäran. Nyckeln ärtext
,imageUrl
, ellerimageBinary
, beroende på vilken typ av vektorfråga som begärdes.Vektoriseraren förväntar sig att den resulterande inbäddningen ska vara under
vector
nyckeln idata
JSON-objektet i svarsnyttolasten.Eventuella fel eller varningar som returneras av slutpunkten ignoreras av vektoriseraren och kan inte hämtas i felsökningssyfte vid frågetillfället.
Om en
imageBinary
vektorfråga begärdes är nyttolasten för begäran som skickas till slutpunkten följande:{ "values": [ { "recordId": "0", "data": { "imageBinary": { "data": "<base 64 encoded image binary data>" } } } ] }