Share via


Vector Store a MongoDB virtuális maghoz készült Azure Cosmos DB-ben

A KÖVETKEZŐKRE VONATKOZIK: MongoDB virtuális mag

Az Azure Cosmos DB for MongoDB virtuális mag integrált vektoradatbázisával zökkenőmentesen csatlakoztathatja AI-alapú alkalmazásait az Azure Cosmos DB-ben tárolt adatokhoz. Ez az integráció az Azure OpenAI-beágyazások használatával létrehozott alkalmazásokat is tartalmazhat. A natívan integrált vektoradatbázissal hatékonyan tárolhatja, indexelheti és lekérdezheti a mongoDB virtuális maghoz készült Azure Cosmos DB-ben közvetlenül tárolt nagy dimenziójú vektoradatokat, valamint azokat az eredeti adatokat, amelyekből a vektoradatok létrejönnek. Ez szükségtelenné teszi az adatok alternatív vektortárolókba való átvitelét, és további költségekkel jár.

Mi az a vektortároló?

A vektortárolók vagy vektoradatbázisok vektoros beágyazások tárolására és kezelésére szolgáló adatbázisok, amelyek nagy dimenziójú térben lévő adatok matematikai ábrázolásai. Ebben a térben minden dimenzió megfelel az adatok egy funkciójának, és több tízezer dimenzió használható kifinomult adatok megjelenítésére. A vektor pozíciója ebben a térben annak jellemzőit jelöli. Szavak, kifejezések vagy teljes dokumentumok, képek, hang és más típusú adatok mind vektorizálhatók.

Hogyan működik a vektortároló?

A vektortárakban a vektorkeresési algoritmusok a beágyazások indexelésére és lekérdezésére szolgálnak. Néhány jól ismert vektorkeresési algoritmus a hierarchikus Navigable Small World (HNSW), az Inverted File (IVF), a DiskANN stb. A vektoros keresés egy olyan módszer, amely segít megtalálni a hasonló elemeket az adattulajdonságuk alapján, nem pedig egy tulajdonságmező pontos egyezései alapján. Ez a technika olyan alkalmazásokban hasznos, mint a hasonló szövegek keresése, a kapcsolódó képek keresése, javaslatok készítése vagy akár a rendellenességek észlelése. A rendszer a gépi tanulási modellel létrehozott adatok vektoros beágyazásait (számlistáit) kérdezi le egy beágyazási API használatával. A beágyazási API-k például az Azure OpenAI-beágyazások vagy a Face ölelése az Azure-ban. A vektorkeresés az adatvektorok és a lekérdezésvektor közötti távolságot méri. A lekérdezésvektorhoz legközelebb eső adatvektorok azok, amelyek szemantikailag a leginkább hasonlítanak.

Az Azure Cosmos DB for MongoDB virtuális mag integrált vektoradatbázisában a beágyazások az eredeti adatok mellett tárolhatók, indexelhetők és lekérdezhetők. Ez a módszer kiküszöböli az adatok egy különálló, tiszta vektoradatbázisban való replikálásának többletköltségét. Emellett ez az architektúra együtt tartja a vektoros beágyazásokat és az eredeti adatokat, ami jobban megkönnyíti a több modális adatműveleteket, és nagyobb adatkonzisztenciát, skálázást és teljesítményt tesz lehetővé.

Vektorindex létrehozása

Ha vektoros szimiliaritást szeretne keresni a vektortulajdonságok között a dokumentumokban, először létre kell hoznia egy vektorindexet.

Vektorindex létrehozása a HNSW használatával

Az M40-fürtszinteken (hierarchikus navigálható kisvilág) indexeket is létrehozhat. A HSNW-index létrehozásához létre kell hoznia egy vektorindexet, amelynek paramétere az "kind" alábbi sablont "vector-hnsw" követi:

{ 
    "createIndexes": "<collection_name>",
    "indexes": [
        {
            "name": "<index_name>",
            "key": {
                "<path_to_property>": "cosmosSearch"
            },
            "cosmosSearchOptions": { 
                "kind": "vector-hnsw", 
                "m": <integer_value>, 
                "efConstruction": <integer_value>, 
                "similarity": "<string_value>", 
                "dimensions": <integer_value> 
            } 
        } 
    ] 
}
Mező Típus Leírás
index_name húr Az index egyedi neve.
path_to_property húr A vektort tartalmazó tulajdonság elérési útja. Ez az elérési út lehet legfelső szintű tulajdonság vagy pont jelölési útvonal a tulajdonsághoz. Ha pont jelölési útvonalat használ, akkor az összes nemleaf elem nem lehet tömb. A vektoroknak indexelendőnek kell lenniük number[] , és vektorkeresési eredményekben kell visszaadni.
kind húr A létrehozandó vektorindex típusa. A lehetőségek a következők: vector-ivf és vector-hnsw. Megjegyzés vector-ivf az összes fürtszinten elérhető, és vector-hnsw M40-fürtszinteken és magasabb szinten érhető el.
m egész szám A kapcsolatok maximális száma rétegenként (16alapértelmezés szerint a minimális érték2, a maximális érték).100 A magasabb m nagy mérettel és/vagy nagy pontossági követelményekkel rendelkező adathalmazokhoz alkalmas.
efConstruction egész szám a gráf létrehozásához használt dinamikus jelöltlista mérete (64 alapértelmezés szerint a minimális érték 4, a maximális érték az 1000). A magasabb efConstruction index jobb minőséget és nagyobb pontosságot eredményez, de növeli az index létrehozásához szükséges időt is. efConstruction legalább 2 * m
similarity húr Hasonlósági metrika az indexhez. Lehetséges lehetőségek a COS következők: (koszinusz távolság), L2 (euklideszi távolság) és IP (belső termék).
dimensions egész szám A vektoros hasonlóság dimenzióinak száma. A támogatott dimenziók maximális száma.2000

Vektorkeresés végrehajtása a HNSW-vel

Vektorkeresés végrehajtásához használja az $search aggregációs folyamat szakaszát a lekérdezéshez az cosmosSearch operátorral.

{
    "$search": {
        "cosmosSearch": {
            "vector": <query_vector>,
            "path": "<path_to_property>",
            "k": <num_results_to_return>,
            "efSearch": <integer_value>
        },
    }
  }
}

Mező Típus Leírás
efSearch egész szám A keresési dinamikus jelöltlista mérete (40 alapértelmezés szerint). A magasabb érték jobb visszahívást biztosít a sebesség költségén.
k egész szám A visszaadandó eredmények száma. kisebbnek vagy egyenlőnek kell lennie efSearch

Feljegyzés

Ha nagy adatkészletekkel hoz létre HSNW-indexet, az azt eredményezheti, hogy a MongoDB-hez készült Azure Cosmos DB virtuálismag-erőforrás elfogy a memóriából, vagy korlátozhatja az adatbázison futó egyéb műveletek teljesítményét. Ilyen problémák esetén az erőforrás magasabb fürtszintre való skálázásával vagy az adathalmaz méretének csökkentésével csökkenthetők.

Vektorindex létrehozása az IVF használatával

Ha vektorindexet szeretne létrehozni az IVF (Inverted File) algoritmussal, használja az alábbi createIndexes sablont, és állítsa a paramétert a "kind" következőre "vector-ivf":

{
  "createIndexes": "<collection_name>",
  "indexes": [
    {
      "name": "<index_name>",
      "key": {
        "<path_to_property>": "cosmosSearch"
      },
      "cosmosSearchOptions": {
        "kind": "vector-ivf",
        "numLists": <integer_value>,
        "similarity": "<string_value>",
        "dimensions": <integer_value>
      }
    }
  ]
}
Mező Típus Leírás
index_name húr Az index egyedi neve.
path_to_property húr A vektort tartalmazó tulajdonság elérési útja. Ez az elérési út lehet legfelső szintű tulajdonság vagy pont jelölési útvonal a tulajdonsághoz. Ha pont jelölési útvonalat használ, akkor az összes nemleaf elem nem lehet tömb. A vektoroknak indexelendőnek kell lenniük number[] , és vektorkeresési eredményekben kell visszaadni.
kind húr A létrehozandó vektorindex típusa. A lehetőségek a következők: vector-ivf és vector-hnsw. Megjegyzés vector-ivf az összes fürtszinten elérhető, és vector-hnsw M40-fürtszinteken és magasabb szinten érhető el.
numLists egész szám Ez az egész szám azon fürtök száma, amelyeket az invertált fájl (IVF) index a vektoradatok csoportosítására használ. Azt javasoljuk, hogy numLists legfeljebb 1 millió dokumentumra sqrt(documentCount) és több mint 1 millió dokumentumra legyen beállítvadocumentCount/1000. numLists Az érték 1 használata hasonló a találgatásos keresés végrehajtásához, amely korlátozott teljesítménnyel rendelkezik.
similarity húr Hasonlósági metrika az indexhez. Lehetséges lehetőségek a COS következők: (koszinusz távolság), L2 (euklideszi távolság) és IP (belső termék).
dimensions egész szám A vektoros hasonlóság dimenzióinak száma. A támogatott dimenziók maximális száma.2000

Fontos

A numLists paraméter helyes beállítása fontos a helyes pontosság és teljesítmény eléréséhez. Azt javasoljuk, hogy numLists legfeljebb 1 millió dokumentumra sqrt(documentCount) és több mint 1 millió dokumentumra legyen beállítvadocumentCount/1000.

Az adatbázis elemeinek számának növekedésével a numLists értékeket nagyobbra kell hangolnia, hogy jó késést érjen el a vektorkereséshez.

Ha egy új forgatókönyvkel kísérletezik, vagy egy kis bemutatót hoz létre, először is beállíthatja, numLists hogy 1 találgatásos keresést hajtson végre az összes vektorban. Ez biztosítja a vektorkeresés legpontosabb eredményeit, azonban vegye figyelembe, hogy a keresési sebesség és a késés lassú lesz. A kezdeti beállítás után haladjon tovább, és hangolja be a numLists paramétert a fenti útmutatással.

Vektorkeresés végrehajtása az IVF használatával

Vektorkeresés végrehajtásához használja az $search aggregációs folyamat szakaszát egy MongoDB-lekérdezésben. Az cosmosSearch index használatához használja az új cosmosSearch operátort.

{
  {
  "$search": {
    "cosmosSearch": {
        "vector": <query_vector>,
        "path": "<path_to_property>",
        "k": <num_results_to_return>,
      },
      "returnStoredSource": True }},
  {
    "$project": { "<custom_name_for_similarity_score>": {
           "$meta": "searchScore" },
            "document" : "$$ROOT"
        }
  }
}

A hasonlósági pontszám (searchScore) és a vektorkeresés által talált dokumentumok lekéréséhez használja az operátort, $project hogy az eredményben szereplő <custom_name_for_similarity_score> módon vegye fel searchScore és nevezze át. Ezután a dokumentum is beágyazott objektumként lesz kivetítve. Vegye figyelembe, hogy a hasonlósági pontszám kiszámítása a vektorindexben meghatározott metrikával történik.

Fontos

A vektoroknak indexelendőnek kell lenniük number[] . Egy másik típus, például double[]a dokumentum indexelésének megakadályozása. A nem indexelt dokumentumok nem lesznek visszaadva vektorkeresés eredményeként.

Példa HNSW-index használatával.

Az alábbi példák bemutatják, hogyan indexelheti a vektorokat, adhat hozzá vektortulajdonságokkal rendelkező dokumentumokat, végezhet vektorkeresést, és hogyan kérdezheti le az indexkonfigurációt.

use test;

db.createCollection("exampleCollection");

db.runCommand({ 
    "createIndexes": "exampleCollection",
    "indexes": [
        {
            "name": "VectorSearchIndex",
            "key": {
                "contentVector": "cosmosSearch"
            },
            "cosmosSearchOptions": { 
                "kind": "vector-hnsw", 
                "m": 16, 
                "efConstruction": 64, 
                "similarity": "COS", 
                "dimensions": 3
            } 
        } 
    ] 
});

Ez a parancs létrehoz egy HNSW-indexet a contentVector megadott gyűjteményben tárolt dokumentumok tulajdonságához. exampleCollection A cosmosSearchOptions tulajdonság megadja a HNSW vektorindex paramétereit. Ha a dokumentum egy beágyazott tulajdonságban tárolja a vektort, ezt a tulajdonságot pont jelölési útvonal használatával állíthatja be. Használhatja például, text.contentVector ha contentVector a függvény altulajdonsága text.

Vektorok hozzáadása az adatbázishoz

Ha vektorokat szeretne hozzáadni az adatbázis gyűjteményéhez, először létre kell hoznia a beágyazásokat saját modellel, Azure OpenAI-beágyazással vagy egy másik API-val (például a Face azure-beli ölelésével). Ebben a példában új dokumentumokat adunk hozzá mintabeágyazásokon keresztül:

db.exampleCollection.insertMany([
  {name: "Eugenia Lopez", bio: "Eugenia is the CEO of AdvenureWorks.", vectorContent: [0.51, 0.12, 0.23]},
  {name: "Cameron Baker", bio: "Cameron Baker CFO of AdvenureWorks.", vectorContent: [0.55, 0.89, 0.44]},
  {name: "Jessie Irwin", bio: "Jessie Irwin is the former CEO of AdventureWorks and now the director of the Our Planet initiative.", vectorContent: [0.13, 0.92, 0.85]},
  {name: "Rory Nguyen", bio: "Rory Nguyen is the founder of AdventureWorks and the president of the Our Planet initiative.", vectorContent: [0.91, 0.76, 0.83]},
]);

Az utolsó példával folytatva hozzon létre egy másik vektort. queryVector A vektorkeresés a queryVector dokumentumok elérési útjának távolságát és vektorait contentVector méri. Az itt megadott 2 paraméter kbeállításával beállíthatja, hogy hány találatot ad vissza a keresés. Beállíthatja efSearchazt is, amely egy egész szám, amely a jelölt vektorlista méretét szabályozza. A nagyobb érték javíthatja a pontosságot, a keresés azonban lassabb lesz. Ez egy választható paraméter, amelynek alapértelmezett értéke 40.

const queryVector = [0.52, 0.28, 0.12];
db.exampleCollection.aggregate([
  {
    "$search": {
        "cosmosSearch": {
            "vector": "queryVector",
            "path": "contentVector",
            "k": 2,
            "efSearch": 40
        },
    }
  }
}
]);

Ebben a példában vektorkeresést hajtunk queryVector végre bemenetként a Mongo-rendszerhéjon keresztül. A keresési eredmény két olyan elem listája, amelyek leginkább hasonlítanak a lekérdezésvektorhoz, a hasonlósági pontszámok szerint rendezve.

[
  {
    similarityScore: 0.9465376,
    document: {
      _id: ObjectId("645acb54413be5502badff94"),
      name: 'Eugenia Lopez',
      bio: 'Eugenia is the CEO of AdvenureWorks.',
      vectorContent: [ 0.51, 0.12, 0.23 ]
    }
  },
  {
    similarityScore: 0.9006955,
    document: {
      _id: ObjectId("645acb54413be5502badff97"),
      name: 'Rory Nguyen',
      bio: 'Rory Nguyen is the founder of AdventureWorks and the president of the Our Planet initiative.',
      vectorContent: [ 0.91, 0.76, 0.83 ]
    }
  }
]

Vektorindex-definíciók lekérése

A vektorindex definíciójának gyűjteményből való lekéréséhez használja a listIndexes következő parancsot:

db.exampleCollection.getIndexes();

Ebben a példában vectorIndex a rendszer visszaadja az cosmosSearch index létrehozásához használt összes paramétert:

[
  { v: 2, key: { _id: 1 }, name: '_id_', ns: 'test.exampleCollection' },
  {
    v: 2,
    key: { contentVector: 'cosmosSearch' },
    name: 'vectorSearchIndex',
    cosmosSearch: {
      kind: 'vector-hnsw',
      m: 40,
      efConstruction: 64
      similarity: 'COS',
      dimensions: 3
    },
    ns: 'test.exampleCollection'
  }
]

Példa IVF-index használatával

Az alábbi példák bemutatják, hogyan indexelheti a vektorokat, adhat hozzá vektortulajdonságokkal rendelkező dokumentumokat, végezhet vektorkeresést, és hogyan kérdezheti le az indexkonfigurációt.

Vektorindex létrehozása

use test;

db.createCollection("exampleCollection");

db.runCommand({
  createIndexes: 'exampleCollection',
  indexes: [
    {
      name: 'vectorSearchIndex',
      key: {
        "vectorContent": "cosmosSearch"
      },
      cosmosSearchOptions: {
        kind: 'vector-ivf',
        numLists: 3,
        similarity: 'COS',
        dimensions: 3
      }
    }
  ]
});

Ez a parancs indexet vector-ivf hoz létre a vectorContent megadott gyűjteményben tárolt dokumentumok tulajdonsága alapján. exampleCollection A cosmosSearchOptions tulajdonság az IVF-vektorindex paramétereit határozza meg. Ha a dokumentum egy beágyazott tulajdonságban tárolja a vektort, ezt a tulajdonságot pont jelölési útvonal használatával állíthatja be. Használhatja például, text.vectorContent ha vectorContent a függvény altulajdonsága text.

Vektorok hozzáadása az adatbázishoz

Ha vektorokat szeretne hozzáadni az adatbázis gyűjteményéhez, először létre kell hoznia a beágyazásokat saját modellel, Azure OpenAI-beágyazással vagy egy másik API-val (például a Face azure-beli ölelésével). Ebben a példában új dokumentumokat adunk hozzá mintabeágyazásokon keresztül:

db.exampleCollection.insertMany([
  {name: "Eugenia Lopez", bio: "Eugenia is the CEO of AdvenureWorks.", vectorContent: [0.51, 0.12, 0.23]},
  {name: "Cameron Baker", bio: "Cameron Baker CFO of AdvenureWorks.", vectorContent: [0.55, 0.89, 0.44]},
  {name: "Jessie Irwin", bio: "Jessie Irwin is the former CEO of AdventureWorks and now the director of the Our Planet initiative.", vectorContent: [0.13, 0.92, 0.85]},
  {name: "Rory Nguyen", bio: "Rory Nguyen is the founder of AdventureWorks and the president of the Our Planet initiative.", vectorContent: [0.91, 0.76, 0.83]},
]);

Vektorkeresés végrehajtása

Vektorkeresés végrehajtásához használja az $search aggregációs folyamat szakaszát egy MongoDB-lekérdezésben. Az cosmosSearch index használatához használja az új cosmosSearch operátort.

{
  {
  "$search": {
    "cosmosSearch": {
        "vector": <vector_to_search>,
        "path": "<path_to_property>",
        "k": <num_results_to_return>,
      },
      "returnStoredSource": True }},
  {
    "$project": { "<custom_name_for_similarity_score>": {
           "$meta": "searchScore" },
            "document" : "$$ROOT"
        }
  }
}

A hasonlósági pontszám (searchScore) és a vektorkeresés által talált dokumentumok lekéréséhez használja az operátort, $project hogy az eredményben szereplő <custom_name_for_similarity_score> módon vegye fel searchScore és nevezze át. Ezután a dokumentum is beágyazott objektumként lesz kivetítve. Vegye figyelembe, hogy a hasonlósági pontszám kiszámítása a vektorindexben meghatározott metrikával történik.

Az utolsó példával folytatva hozzon létre egy másik vektort. queryVector A vektorkeresés a queryVector dokumentumok elérési útjának távolságát és vektorait vectorContent méri. Az itt megadott 2 paraméter kbeállításával beállíthatja, hogy hány találatot ad vissza a keresés. Beállíthatja azt is nProbes, amely egy egész szám, amely az egyes keresésekben vizsgált közeli fürtök számát szabályozza. A nagyobb érték javíthatja a pontosságot, a keresés azonban lassabb lesz. Ez egy választható paraméter, amelynek alapértelmezett értéke 1, és nem lehet nagyobb, mint a numLists vektorindexben megadott érték.

const queryVector = [0.52, 0.28, 0.12];
db.exampleCollection.aggregate([
  {
    $search: {
      "cosmosSearch": {
        "vector": queryVector,
        "path": "vectorContent",
        "k": 2
      },
    "returnStoredSource": true }},
  {
    "$project": { "similarityScore": {
           "$meta": "searchScore" },
            "document" : "$$ROOT"
        }
  }
]);

Ebben a példában vektorkeresést hajtunk queryVector végre bemenetként a Mongo-rendszerhéjon keresztül. A keresési eredmény két olyan elem listája, amelyek leginkább hasonlítanak a lekérdezésvektorhoz, a hasonlósági pontszámok szerint rendezve.

[
  {
    similarityScore: 0.9465376,
    document: {
      _id: ObjectId("645acb54413be5502badff94"),
      name: 'Eugenia Lopez',
      bio: 'Eugenia is the CEO of AdvenureWorks.',
      vectorContent: [ 0.51, 0.12, 0.23 ]
    }
  },
  {
    similarityScore: 0.9006955,
    document: {
      _id: ObjectId("645acb54413be5502badff97"),
      name: 'Rory Nguyen',
      bio: 'Rory Nguyen is the founder of AdventureWorks and the president of the Our Planet initiative.',
      vectorContent: [ 0.91, 0.76, 0.83 ]
    }
  }
]

Vektorindex-definíciók lekérése

A vektorindex definíciójának gyűjteményből való lekéréséhez használja a listIndexes következő parancsot:

db.exampleCollection.getIndexes();

Ebben a példában vectorIndex a rendszer visszaadja az cosmosSearch index létrehozásához használt összes paramétert:

[
  { v: 2, key: { _id: 1 }, name: '_id_', ns: 'test.exampleCollection' },
  {
    v: 2,
    key: { vectorContent: 'cosmosSearch' },
    name: 'vectorSearchIndex',
    cosmosSearch: {
      kind: 'vector-ivf',
      numLists: 3,
      similarity: 'COS',
      dimensions: 3
    },
    ns: 'test.exampleCollection'
  }
]

Szűrt vektorkeresés (előzetes verzió)

Mostantól bármilyen támogatott lekérdezésszűrővel futtathat vektorkereséseket, például $lt, $lte, $eq, $neq, $gte, $gt, $in$nin, és $regex. Engedélyezze a "szűrési vektorkeresés" funkciót az Azure-előfizetés "Előzetes verziójú szolgáltatások" lapján. Az előzetes verziójú funkciókról itt olvashat bővebben.

Először meg kell határoznia egy indexet a szűrőhöz a vektorindex mellett. Definiálhatja például a szűrőindexet egy tulajdonságon

db.runCommand({ 
     "createIndexes": "<collection_name",
    "indexes": [ {
        "key": { 
            "<property_to_filter>": 1 
               }, 
        "name": "<name_of_filter_index>" 
    }
    ] 
});

Ezután hozzáadhatja a kifejezést a "filter" vektorkereséshez az alább látható módon. Ebben a példában a szűrő olyan dokumentumokat keres, ahol a "title" tulajdonság nem szerepel a listán ["not in this text", "or this text"].


db.exampleCollection.aggregate([
  {
      '$search': {
          "cosmosSearch": {
              "vector": "<query_vector>",
              "path": <path_to_vector>,
              "k": num_results,
              "filter": {<property_to_filter>: {"$nin": ["not in this text", "or this text"]}}
          },
          "returnStoredSource": True }},
      {'$project': { 'similarityScore': { '$meta': 'searchScore' }, 'document' : '$$ROOT' }
}
]);

Fontos

Az előzetes verzióban a szűrt vektorkereséshez szükség lehet a vektorindex paramétereinek módosítására a nagyobb pontosság érdekében. A HNSW vagy az nProbes IVF használata esetén például a növekvőmefConstruction, illetve efSearch a HNSW-t numListshasználók jobb eredményekhez vezethetnek. Használat előtt tesztelje a konfigurációt, hogy az eredmények megfelelőek legyenek.

LLM Vezénylési eszközök használata

Vektoradatbázisként való használat szemantikus kernellel

A Szemantic Kernel használatával vezényli az adatok lekérését az Azure Cosmos DB-ből MongoDB virtuális maghoz és az LLM-hez. További tájékoztatást itt olvashat.

https://github.com/microsoft/semantic-kernel/tree/main/python/semantic_kernel/connectors/memory/azure_cosmosdb

Vektoradatbázisként való használat a LangChainnel

A LangChain használatával vezényli az adatok lekérését az Azure Cosmos DB-ből MongoDB virtuális maghoz és az LLM-hez. További tájékoztatást itt olvashat.

Szemantikai gyorsítótárként való használat a LangChainnel

A LangChain és az Azure Cosmos DB for MongoDB (vCore) használatával vezényli a szemantikai gyorsítótárazást, a korábban visszavont LLM-rektorok használatával, amelyekkel mentheti az LLM API költségeit, és csökkentheti a válaszok késését. További információ itt

Szolgáltatások és korlátozások

  • Támogatott távolságmetrikák: L2 (Euklideszi), belső termék és koszinusz.
  • Támogatott indexelési módszerek: IVFFLAT (GA) és HSNW (előzetes verzió)
  • Legfeljebb 2000 dimenzió méretű vektorok indexelése.
  • Az indexelés útvonalonként csak egy vektorra vonatkozik.
  • Vektorútvonalonként csak egy index hozható létre.

Összegzés

Ez az útmutató bemutatja, hogyan hozhat létre vektorindexet, adhat hozzá vektoradatokat tartalmazó dokumentumokat, végezhet hasonlósági keresést, és hogyan kérdezheti le az indexdefiníciót. Az integrált vektoradatbázis használatával hatékonyan tárolhatja, indexelheti és lekérdezheti a nagy dimenziójú vektoradatokat közvetlenül az Azure Cosmos DB for MongoDB virtuális magjában. Lehetővé teszi az adatok teljes potenciáljának kihasználását vektoros beágyazásokon keresztül, és lehetővé teszi, hogy pontosabb, hatékonyabb és hatékonyabb alkalmazásokat hozzon létre.

Következő lépés