Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
Az Azure AI Keresésben a vektorizáló vektorokká alakítja a szöveget vagy képeket a lekérdezés végrehajtása során, így egyszerű szöveges lekérdezéseket küldhet a vektormezőkre anélkül, hogy saját maga is beágyazást végez.
A vektorizáló egy keresési indexben van definiálva, és vektorprofilon keresztül van vektormezőkhöz rendelve. Lekérdezéskor a vektorizáló beágyazási modellt hív meg, hogy vektort hozzon létre a lekérdezés bemenetéből. További információ: Integrált vektorizáció használata lekérdezésekben.
Vektorizáló indexhez való hozzáadásához használja az importálási varázslót vagy az indextervezőt az Azure Portalon, az Indexek – Létrehozás vagy frissítés (REST API) vagy egy Azure SDK-csomagban. Ez a cikk REST-et használ az ábrához.
Jótanács
A vektorizáló kezeli a lekérdezési idő vektorizálását. Ha az indexelés során is vektorizálni szeretné a tartalmat, állítson be egy indexelőt és egy képességkészletet beágyazási képességekkel. További információ: Integrált vektorizáció használata indexelés közben.
Előfeltételek
Keresési szolgáltatásban kereshető vektormezőkkel rendelkező index .
(Nem kötelező) A diagnosztikai naplózás engedélyezve van a keresési szolgáltatásban a vektoros lekérdezés végrehajtásának megerősítéséhez.
A támogatott beágyazási modell üzembe helyezése a vektorizáló számára.
Engedélyek az index frissítéséhez és lekérdezéséhez. Ez a cikk az ajánlott kulcs nélküli hitelesítést használja. Rendelje hozzá a keresési szolgáltatás közreműködői és keresési index adatolvasói szerepköreit a felhasználói fiókjához, jelentkezzen be az Azure-ba, és szerezze be a hozzáférési jogkivonatot. Ha ehelyett API-kulcsokat használ, szerezze be a frissítési műveletekhez szükséges rendszergazdai kulcsot és a keresési műveletek lekérdezési kulcsát.
A beágyazási modell használatára vonatkozó engedélyek. Az Azure OpenAI esetében például a hívónak Cognitive Services OpenAI felhasználói engedélyekkel kell rendelkeznie. API-kulcsot is használhat.
Visual Studio Code a REST-ügyfélbővítménnyel. Hozzon létre egy
.restvagy.httpegy fájlt, amely közvetlenül a szerkesztőből küldi el az ebben a cikkben szereplő REST-kéréseket.
Támogatott beágyazási modellek
Az Azure AI Keresés többféle vektorizálót kínál, amelyek mindegyike megfelelő szakértelemmel van párosítva. A képesség beágyazásokat hoz létre az indexelés során, míg a vektorizáló beágyazásokat hoz létre a lekérdezési időpontban. Mindkettőhöz ugyanazt a beágyazási modellt kell használnia, ezért válasszon egy vektorizáló–képességpárt, amely ugyanarra a modelltelepítésre mutat.
Az alábbi táblázat felsorolja a vektorizálókat, valamint azok támogatott modelljeit és a hozzájuk tartozó készségeket.
| Vektorizáló | Támogatott modellek | Társított képesség |
|---|---|---|
| Azure OpenAI | text-embedding-ada-002 szöveg-beágyazás-3-nagy szöveg-beágyazás-3-kicsi |
Azure OpenAI-beágyazás |
| Microsoft Foundry-modellkatalógus (előzetes verzió) | Cohere-embed-v3-english Cohere-embed-v3-multilingual Cohere-embed-v4 1 |
AML |
| Azure Vision (előzetes verzió) | Multimodális beágyazások 4.0 API | Azure Vision multimodális beágyazások (előzetes verzió) |
| Egyéni webes API | Bármilyen beágyazási modell (külső üzemeltetésű) | Egyéni webes API |
1 Csak az embed-v-4-0 vagy a Microsoft Foundry modellkatalógus-vektorizálóján keresztül adhat meg programozott módon, az Azure Portalon keresztül nem. A portálon azonban később kezelheti a képességkészletet vagy a vektorizálót.
Megjegyzés:
A vektorizálók mindaddig általánosan elérhetők, amíg általánosan elérhető képesség–vektorizáló párot használ. A legfrissebb rendelkezésre állási információkért tekintse meg az előző táblázatban szereplő összes vektorizáló és képesség dokumentációját.
Vektorizáló definiálása varázslóval
Az Adatok importálása varázsló az Azure Portalon beolvassa a fájlokat az Azure Blob Storage-ból, létrehozhat egy adattömbökkel és vektorizált mezőkkel rendelkező indexet, és vektorizálót adhat hozzá. A varázsló által létrehozott vektorizáló a blobtartalom indexeléséhez használt beágyazási modellre van beállítva.
Mintaindex létrehozása vektorizálóval a varázslóval:
Fájlok feltöltése egy tárolóba az Azure Storage-ban. Kis szöveges fájlokat használtunk a NASA Earth at Night e-bookjából, hogy teszteljük ezeket az utasításokat egy ingyenes keresőszolgáltatásban.
Futtassa az Adatok importálása varázslót. Válassza ki az adatforrás blobtárolót.
Válasszon vektorizáló típust és adott esetben modelltelepítést. Ez a példa az Azure OpenAI-t és egy text-embedding-ada-002 üzembe helyezést használ.
Miután a varázsló befejezte a folyamatot, és az összes indexelő feldolgozása lezárult, rendelkeznie kell egy olyan index-szel, amelynek kereshető vektormezője van. A mező JSON-definíciója így néz ki:
{ "name": "text_vector", "type": "Collection(Edm.Single)", "searchable": true, "filterable": false, "retrievable": true, "stored": true, "sortable": false, "facetable": false, "key": false, "dimensions": 1536, "vectorSearchProfile": "vector-nasa-ebook-text-profile", "synonymMaps": [] }Vektorprofillal, vektorkeresési algoritmussal és vektorizálóval is rendelkeznie kell. A JSON-definíciók a következőképpen néznek ki:
"algorithms": [ { "name": "vector-nasa-ebook-text-algorithm", "kind": "hnsw", "hnswParameters": { "metric": "cosine", "m": 4, "efConstruction": 400, "efSearch": 500 } } ], "profiles": [ { "name": "vector-nasa-ebook-text-profile", "algorithm": "vector-nasa-ebook-text-algorithm", "vectorizer": "vector-nasa-ebook-text-vectorizer" } ], "vectorizers": [ { "name": "vector-nasa-ebook-text-vectorizer", "kind": "azureOpenAI", "azureOpenAIParameters": { "resourceUri": "https://my-azure-openai-resource.openai.azure.com", "deploymentId": "text-embedding-ada-002", "modelName": "text-embedding-ada-002", }, } ]
A vektorizáló programozott módon történő definiálása
Ha nem használta a Portál varázslót, vagy vektorosítót szeretne hozzáadni egy meglévő indexhez, programozott módon definiálhat vektorizálót és vektorprofilt. A vektorprofilok egy vektoros mezőt egy vagy több vektormezőhöz kapcsolnak, és meghatározzák a navigációs struktúrákhoz használt vektorkeresési algoritmust.
Vektorizáló és vektorprofil definiálása egy meglévő indexben:
Az indexdefiníció lekérése az Indexek – Get (REST API) használatával. Cserélje le a szolgáltatásnevet, az indexnevet és a hozzáférési jogkivonatot a saját értékeire.
### Get index definition GET https://my-search-service.search.windows.net/indexes/my-index?api-version=2026-04-01 HTTP/1.1 Authorization: Bearer <your-access-token> // For API keys, replace this line with api-key: <your-admin-api-key>Warning
A lekért egyéni Web API-vektorizáló minden
httpHeadersértékhez tartalmaz<redacted>-t. Ha ugyanazt a vektorizálót frissíti anélkül, hogy módosítaná aname-ját,kind-ját vagyuri-ját, a<redacted>újra elküldheti a meglévő fejlécnevek egyeztetéséhez. Ha módosítja a(z)urielemet, mindenhttpHeadersbejegyzéshez adja meg a tényleges értékeket. További frissítési szabályokért lásd: Custom Web API vectorizer.Indexek – Létrehozás vagy frissítés (REST API) használata az indexdefiníció frissítéséhez. Illessze be a teljes indexdefiníciót a kérelem törzsébe.
### Update index definition PUT https://my-search-service.search.windows.net/indexes/my-index?api-version=2026-04-01 HTTP/1.1 Content-Type: application/json Authorization: Bearer <your-access-token> // For API keys, replace this line with api-key: <your-admin-api-key> // Paste your index definition hereAdjon hozzá egy
vectorizersszakaszt azvectorSearchobjektumhoz. Ez a szakasz egy üzembe helyezett beágyazási modell kapcsolati adatait adja meg. Az alábbi példa az Azure OpenAI-t és a Custom Web API-t is tartalmazza összehasonlítás céljából."vectorSearch": { "vectorizers": [ { "name": "my_azure_open_ai_vectorizer", "kind": "azureOpenAI", "azureOpenAIParameters": { "resourceUri": "https://url.openai.azure.com", "deploymentId": "text-embedding-ada-002", "modelName": "text-embedding-ada-002", "apiKey": "<your-azure-openai-api-key>" } }, { "name": "my_custom_vectorizer", "kind": "customWebApi", "customWebApiParameters": { "uri": "https://contoso.embeddings.com", "httpMethod": "POST", "authResourceId": null, "authIdentity": null } } ] }algorithmsrész hozzáadása avectorSearch-hez. Ez a szakasz a navigációs struktúrákhoz használt vektorkeresési algoritmust határozza meg."algorithms": [ { "name": "my_hnsw_algorithm", "kind": "hnsw", "hnswParameters": { "m": 4, "efConstruction": 400, "efSearch": 500, "metric": "cosine" } } ]profilesSzakasz hozzáadása a fájlhozvectorSearchEz a szakasz az előző lépésekben definiált vektoros és vektorkeresési algoritmusra hivatkozik."profiles": [ { "name": "my_vector_profile", "algorithm": "my_hnsw_algorithm", "vectorizer": "my_azure_open_ai_vectorizer" } ]A tömbben
fieldsrendelje hozzá a vektorprofilt egy vagy több vektormezőhöz avectorSearchProfiletulajdonság megadásával."fields": [ ... // Trimmed for brevity { "name": "vector", "type": "Collection(Edm.Single)", "dimensions": 1536, "vectorSearchProfile": "my_vector_profile", "searchable": true, "retrievable": true }, { "name": "my_second_vector", "type": "Collection(Edm.Single)", "dimensions": 1536, "vectorSearchProfile": "my_vector_profile", "searchable": true, "retrievable": true } ]Küldje el a PUT kérést az indexdefiníció frissítéséhez. Ha a kérés sikeres, meg kell kapnia egy
204 No Contentválaszt.A vektorizáló és a vektorprofil ellenőrzéséhez futtassa újra a GET kérést az első lépésből. Erősítse meg, hogy:
A
vectorSearch.vectorizerstömb tartalmazza a vektorizáló definícióját a megfelelőkindés a kapcsolati paraméterekkel.A
vectorSearch.profilestömb tartalmaz egy profilt, amely név szerint hivatkozik a vektorizálóra.A
vectorSearch.algorithmstömb tartalmazza a profil által hivatkozott vektorkeresési algoritmust.A
vectorSearchProfilevektormezők tulajdonsága afieldstömbben megegyezik a profil nevével.
Vektorizáló tesztelése
A vektorosító működésének ellenőrzéséhez küldjön egy vektoros lekérdezést , amely vektor helyett szöveges sztringet ad át. Az alábbi példa egy varázslóval a Vektorizáló definiálása mintaindexet célozza meg, de a mezőnevek és a lekérdezési paraméterek módosításával tesztelheti a saját indexét.
A kérés elküldéséhez használja a Dokumentumok – Keresési bejegyzést (REST API). Cserélje le a szolgáltatásnevet, az indexnevet és a hozzáférési jogkivonatot a saját értékeire.
### Test a vectorizer with a vector query
POST https://my-search-service.search.windows.net/indexes/vector-nasa-ebook-txt/docs/search?api-version=2026-04-01 HTTP/1.1
Content-Type: application/json
Authorization: Bearer <your-access-token> // For API keys, replace this line with api-key: <your-query-api-key>
{
"count": true,
"select": "title, chunk",
"vectorQueries": [
{
"kind": "text",
"text": "what cloud formations exist in the troposphere",
"fields": "text_vector",
"k": 3,
"exhaustive": true
}
]
}
Főbb pontok:
"kind": "text"megmondja a keresőmotornak, hogy a bemenet egy szöveges karakterlánc, és a keresőmezőhöz társított vektorizáló használata."text"a vektorizálni kívánt egyszerű nyelvi sztring."fields": "text_vector"az átkérdezendő mező neve. Ha a varázsló által létrehozott mintaindexet használja, a létrehozott vektormező nevetext_vector."exhaustive": truemegkerüli a HNSW gráfot, és brutális erővel történő keresést hajt végre az összes vektoron. Ez a beállítás hasznos a pontosság teszteléséhez, de lassabb, mint az alapértelmezett hozzávetőleges keresés. Távolítsa el ezt a paramétert az éles lekérdezésekben a jobb teljesítmény érdekében.A lekérdezés nem állít be vektorizáló tulajdonságokat. A keresőmotor automatikusan beolvassa őket a mezőhöz rendelt vektorprofilból.
Ha a vektorizáló megfelelően van konfigurálva, a válasz hasonlóság szerint rangsorolt egyező dokumentumokat ad vissza. Három eredményt kell kapnia (k: 3), amelyek közül az első a legrelevánsabb.
{
"@odata.count": 3,
"value": [
{
"@search.score": 0.66195244,
"chunk": "Cloud Shadow\tGermany\nIn November 2012, the Earth Observing...",
"title": "page-25.txt"
},
... // Trimmed for brevity
]
}
Hibaelhárítás
Ha a vektorizáló nem a várt módon működik, kezdje a gyakori hibatáblával, majd tekintse meg részletesebben a diagnosztikai naplókat.
Gyakori hibák
Az alábbi táblázat a vektorizáló gyakori hibáit és azok megoldásának módját sorolja fel.
| Error | Oka | Rezolúció |
|---|---|---|
| Hitelesítési hiba (401/403) | Érvénytelen API-kulcs vagy hiányzó RBAC-szerepkör-hozzárendelés a beágyazási modellhez. | Ellenőrizze az API-kulcsot, vagy győződjön meg arról, hogy a keresési szolgáltatás identitása rendelkezik a Cognitive Services OpenAI User szerepkörével az Azure OpenAI-erőforrásban. |
| Dimenzióeltérés | A vektorizáló modell más dimenziószámú beágyazásokat hoz létre, mint amennyit a vektormező elvár. | Győződjön meg arról, hogy a dimensions vektormező tulajdonsága megegyezik a beágyazási modell kimeneti dimenzióival (például 1536).text-embedding-ada-002 |
| Sebességkorlátozás (429) | A beágyazási modell szolgáltatója korlátozza a kéréseket. | ** Tekintse át az Azure OpenAI kvótakorlátjait, majd fontolja meg a percenkénti tokenek (TPM) mennyiségének növelését, vagy csökkentse a feldolgozási köteg méretét. |
| A vektorizáló nem található | A vektorprofil egy olyan vektoros névre hivatkozik, amely nem létezik az indexben. | Győződjön meg arról, hogy a vectorizer vektorprofil tulajdonsága megegyezik a name tömb egyik vektorizálójának tulajdonságával vectorizers . |
| Nincs eredmény | A szöveg–vektor átalakítás sikeres volt, de a lekérdezés nem ad vissza egyezést. | Ellenőrizze, hogy a fields vektoros lekérdezés paramétere megegyezik-e egy kereshető vektormező nevével. Növelje a k további eredmények visszaadásához. |
Naplók ellenőrzése
Ha engedélyezte a keresési szolgáltatás diagnosztikai naplózását, futtassa az alábbi Kusto-lekérdezést a lekérdezés végrehajtásának megerősítéséhez a vektormezőn.
OperationEvent
| where TIMESTAMP > ago(30m)
| where Name == "Query.Search" and AdditionalInfo["QueryMetadata"]["Vectors"] has "TextLength"
Ajánlott eljárások
Használjon felügyelt identitást API-kulcsok helyett az éles környezetben. A felügyelt identitások biztonságosabbak, és elkerülik a kulcsforgatás többletterhelését. További információ: Keresési szolgáltatás konfigurálása felügyelt identitással való csatlakozáshoz.
Helyezze üzembe a beágyazási modellt ugyanabban a régióban, mint a keresési szolgáltatás. A közös elhelyezés csökkenti a késést, és javítja a szolgáltatások közötti adatátvitel sebességét. A vektorizálók minden olyan régióban elérhetők, ahol az Azure AI Keresés elérhető, de a modell rendelkezésre állása szolgáltatónként eltérő.
Az indexeléshez és a lekérdezésekhez használjon ugyanazon beágyazási modell különálló üzembe helyezését. A dedikált üzembe helyezések lehetővé teszik a TPM-kvóta független kiosztását az egyes számítási feladatokhoz, és megkönnyítik a forgalmi források azonosítását.
Az Azure OpenAI TPM-kvóta figyelése. Ha eléri a TPM-korlátot, tekintse át a kvótakorlátokat , és fontolja meg a magasabb korlát kérését egy támogatási eseten keresztül.
Tekintse át az Azure OpenAI beágyazási készségeinek ajánlott eljárásait . Ugyanez az útmutató az Azure OpenAI-vektorizálóra is vonatkozik.