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 (16 alapé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]},
]);
Vektorkeresés végrehajtása
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 k
beállításával beállíthatja, hogy hány találatot ad vissza a keresés. Beállíthatja efSearch
azt 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.
Vektorok és vektortávolságok (más néven hasonlósági pontszámok) lekérdezése $search"
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 k
beá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őm
efConstruction
, illetve efSearch
a HNSW-t numLists
haszná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.
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.
Kapcsolódó tartalom
- .NET RAG Minta kiskereskedelmi referenciamegoldás
- .NET-oktatóanyag – recept csevegőrobot
- C# RAG-minta – Open AI Services integrálása a Cosmossal
- Python RAG-minta – Azure-termék csevegőrobotja
- Python-jegyzetfüzet-oktatóanyag – Vektoradatbázis-integráció a LangChain használatával
- Python-jegyzetfüzet-oktatóanyag – LLM-gyorsítótárazási integráció a LangChain használatával
- Python – LlamaIndex-integráció
- Python – Szemantikus kernelmemória-integráció