Zephyrnet-logo

Een diepe duik in Qdrant, de op roest gebaseerde vectordatabase

Datum:

Introductie

Vectordatabases zijn dé plek geworden voor het opslaan en indexeren van de representaties van ongestructureerde en gestructureerde gegevens. Deze representaties zijn de vectorinbeddingen die worden gegenereerd door de inbeddingsmodellen. De vectorwinkels zijn een integraal onderdeel geworden van het ontwikkelen van apps met Deep Learning Models, vooral de Large Language Models. In het steeds evoluerende landschap van Vector Stores is Qdrant zo'n vectordatabase die onlangs is geïntroduceerd en boordevol functies zit. Laten we erin duiken en er meer over leren.

leerdoelen

  • Vertrouwd raken met de Qdrant-terminologieën om deze beter te begrijpen
  • Duiken in Qdrant Cloud en clusters creëren
  • Leren om inbedding van onze documenten te maken en deze op te slaan in Qdrant Collections
  • Onderzoeken hoe de bevraging werkt in Qdrant
  • Lekker sleutelen aan de Filtering in Qdrant om te kijken hoe het werkt

Dit artikel is gepubliceerd als onderdeel van het Data Science-blogathon.

Inhoudsopgave

Wat zijn insluitingen?

Vectorinsluitingen zijn een manier om gegevens in numerieke vorm uit te drukken, dat wil zeggen als getallen in een n-dimensionale ruimte, of als een numerieke vector, ongeacht het type gegevens: tekst, foto's, audio, video's, enzovoort. Insluitingen stellen ons in staat om gerelateerde gegevens op deze manier te groeperen. Bepaalde inputs kunnen met behulp van bepaalde modellen in vectoren worden omgezet. Een bekend inbeddingsmodel van Google dat woorden vertaalt in vectoren (vectoren zijn punten met n dimensies) heet Word2Vec. Elk van de grote taalmodellen heeft een inbeddingsmodel dat een inbedding voor de LLM.

Waar worden insluitingen voor gebruikt?

Een voordeel van het vertalen van woorden naar vectoren is dat ze vergelijking mogelijk maken. Wanneer twee woorden als numerieke invoer of vectorinbedding worden gegeven, kan een computer ze vergelijken, ook al kan hij ze niet rechtstreeks vergelijken. Het is mogelijk om woorden met vergelijkbare inbedding te groeperen. Omdat ze aan elkaar gerelateerd zijn, verschijnen de termen Koning, Koningin, Prins en Prinses in een cluster.

In die zin helpen inbedding ons woorden te vinden die verband houden met een bepaalde term. Dit kan worden gebruikt in zinnen, waarbij we een zin invoeren en de aangeleverde gegevens gerelateerde zinnen retourneren. Dit dient als basis voor talloze gebruiksscenario's, waaronder chatbots, zinsgelijkenis, detectie van afwijkingen en semantisch zoeken. De Chatbots die wij ontwikkelen om vragen te beantwoorden op basis van een PDF of document dat wij aanleveren, maken gebruik van deze inbeddingsgedachte. Deze methode wordt door alle generatieve grote taalmodellen gebruikt om inhoud te verkrijgen die op vergelijkbare wijze verband houdt met de zoekopdrachten die aan hen worden geleverd.

Wat zijn vectordatabases?

Zoals besproken, zijn inbeddingen meestal weergaven van elk soort gegevens, de ongestructureerde in het numerieke formaat in een n-dimensionale ruimte. Waar slaan we ze nu op? Traditionele RDMS (Relational Database Management Systems) kunnen niet worden gebruikt om deze vectorinbeddingen op te slaan. Dit is waar de Vector Store / Vector Dabases in het spel komen. Vectordatabases zijn ontworpen om vectorinbeddingen op een efficiënte manier op te slaan en op te halen. Er zijn veel vectorwinkels die verschillen door de inbeddingsmodellen die ze ondersteunen en het soort zoekalgoritme dat ze gebruiken om vergelijkbare vectoren te vinden.

Wat is Qdrant?

Qdrant is de nieuwe Vector Likenity Search Engine en een Vector DB, die een productieklare service biedt, gebouwd in Rust, de taal die bekend staat om zijn veiligheid. Qdrant wordt geleverd met een gebruiksvriendelijke API die is ontworpen voor het opslaan, zoeken en beheren van hoogdimensionale punten (punten zijn niets anders dan vectorinsluitingen), verrijkt met metagegevens die payloads worden genoemd. Deze payloads worden waardevolle stukjes informatie, waardoor de zoekprecisie wordt verbeterd en gebruikers inzichtelijke gegevens krijgen. Als u bekend bent met andere vectordatabases zoals Chroma, is Payload vergelijkbaar met de metadata: het bevat informatie over de vectoren.

Omdat het in Rust is geschreven, is Qdrant een snelle en betrouwbare Vectore Store, zelfs onder zware belasting. Wat Qdrant onderscheidt van de andere databases is het aantal client-API’s dat het biedt. Momenteel ondersteunt Qdrant Python, TypeSciprt/JavaScript, Rust en Go. Het komt met. Qdrant gebruikt HSNW (Hierarchical Navigable Small World Graph) voor vectorindexering en wordt geleverd met veel afstandsstatistieken zoals Cosinus, Dot en Euclidisch. Het wordt standaard geleverd met een aanbevelings-API.

Ken de Qdrant-terminologie

Om een ​​vlotte start met Qdrant te krijgen, is het een goede gewoonte om vertrouwd te raken met de terminologie/de belangrijkste componenten die worden gebruikt in de Qdrant Vector Database.

Collecties

Verzamelingen worden sets van punten genoemd, waarbij elk punt een vector en een optionele ID en payload bevat. Vectoren in dezelfde verzameling moeten dezelfde dimensionaliteit delen en worden geëvalueerd met een enkele gekozen metriek.

Afstandsstatistieken

Essentieel voor het meten van hoe dicht de vectoren bij elkaar zijn, afstandsmetrieken worden geselecteerd tijdens het maken van een verzameling. Qdrant biedt de volgende afstandsmetrieken: punt, cosinus en euclidisch.

Punten

De fundamentele entiteit binnen Qdrant, punten, bestaat uit een vectorinbedding, een optionele ID en een bijbehorende payload, waarbij
id: Een unieke identificatie voor elke vectorinbedding
vector: Een hoogdimensionale weergave van gegevens, die zowel gestructureerde als ongestructureerde formaten kunnen zijn, zoals afbeeldingen, tekst, documenten, pdf's, video's, audio, enz.
laadvermogen: Een optioneel JSON-object dat gegevens bevat die aan een vector zijn gekoppeld. Dit kan worden beschouwd als vergelijkbaar met metadata en we kunnen hiermee werken om het zoekproces te filteren

Opbergen

Qdrant biedt twee opslagmogelijkheden:

  • Opslag in het geheugen: slaat alle vectoren op in het RAM-geheugen, waardoor de snelheid wordt geoptimaliseerd door de schijftoegang tot persistentietaken te minimaliseren.
  • Memmap-opslag: Creëert een virtuele adresruimte die is gekoppeld aan een bestand op schijf, waarbij snelheid en persistentievereisten in evenwicht worden gebracht.

Dit zijn de belangrijkste concepten waarvan we op de hoogte moeten zijn, zodat we snel aan de slag kunnen met Qdrant

Qdrant Cloud – Ons eerste cluster creëren

Qdrant biedt een schaalbare cloudservice voor het opslaan en beheren van vectoren. Het biedt zelfs een gratis cluster van 1 GB voor altijd zonder creditcardgegevens. In deze sectie doorlopen we het proces van het aanmaken van een account bij Qdrant Cloud en het creëren van ons eerste cluster.

"

Als we naar de Qdrant-website gaan, zien we een landingspagina zoals hierboven. We kunnen ons aanmelden bij Qdrant met een Google-account of met een GitHub-account.

"

Nadat we zijn ingelogd, krijgen we de hierboven weergegeven gebruikersinterface te zien. Om een ​​cluster te maken, gaat u naar het linkerdeelvenster en klikt u op de optie Clusters onder het Dashboard. Omdat we ons zojuist hebben aangemeld, hebben we nul clusters. Klik op Cluster maken om een ​​nieuw cluster te maken.

"

Nu kunnen we een naam voor ons cluster opgeven. Zorg ervoor dat alle configuraties op de startpositie staan, want dit geeft ons een gratis cluster. We kunnen een van de hierboven weergegeven providers kiezen en een van de bijbehorende regio's kiezen.

Controleer de huidige configuratie

We kunnen aan de linkerkant de huidige configuratie zien, dat wil zeggen 0.5 vCPU, 1 GB RAM en 4 GB schijfopslag. Klik op Maken om ons cluster te maken.

"

Om toegang te krijgen tot ons nieuw gecreëerde cluster hebben we een API-sleutel nodig. Om een ​​nieuwe API-sleutel te maken, gaat u naar Gegevenstoegangsbeheer onder het Dashboard. Klik op de knop Maken om een ​​nieuwe API-sleutel te maken.

"

Zoals hierboven weergegeven, krijgen we een vervolgkeuzemenu te zien waarin we selecteren voor welk cluster we de API moeten maken. Omdat we maar één cluster hebben, selecteren we die en klikken op de knop OK.

"

Vervolgens krijgt u het hierboven weergegeven API-token te zien. Ook als we het onderstaande deel van de afbeelding zien, krijgen we zelfs het codefragment om onze Cluster te verbinden, die we in de volgende sectie zullen gebruiken.

Qdrant – Hands-on

In deze sectie gaan we werken met de Qdrant Vector Database. Eerst beginnen we met het importeren van de benodigde bibliotheken.

!pip install sentence-transformers
!pip install qdrant_client

Op de eerste regel wordt de Python-bibliotheek met zinstransformatoren geïnstalleerd. De zinstransformatorbibliotheek wordt gebruikt voor het genereren van insluitingen van zinnen, tekst en afbeeldingen. We kunnen deze bibliotheek gebruiken om verschillende inbeddingsmodellen te importeren om inbedding te creëren. Met de volgende instructie wordt de qdrant-client voor Python geïnstalleerd. Laten we beginnen met het maken van onze client.

from qdrant_client import QdrantClient


client = QdrantClient(
    url="YOUR CLUSTER URL",
    api_key="YOUR API KEY",
)

QdrantClient

In het bovenstaande instantiëren we de klant door het importeren van de QdrantClient class en geef de Cluster-URL en de API Key die we een tijdje geleden hebben gemaakt. Vervolgens zullen we ons inbeddingsmodel introduceren.

# bringing in our embedding model
from sentence_transformers import SentenceTransformer


model = SentenceTransformer('sentence-transformers/all-mpnet-base-v2')

In de bovenstaande code hebben we de ZinTransformator klasse en instantieerde een model. Het inbeddingsmodel dat we hebben gebruikt is het all-mpnet-base-v2. Dit is een zeer populair vectorinbeddingsmodel voor algemene doeleinden. Dit model neemt tekst op en voert a uit 768 dimensionaal vector. Laten we onze gegevens definiëren.

# data


documents = [
    """Elephants, the largest land mammals, exhibit remarkable intelligence and 
    social bonds, relying on their powerful trunks for communication and various
     tasks like lifting objects and gathering food.""",


    """ Penguins, flightless birds adapted to life in the water, showcase strong 
    social structures and exceptional parenting skills. Their sleek bodies 
    enable efficient swimming, and they endure 
    harsh Antarctic conditions in tightly-knit colonies. """,


    """Cars, versatile modes of transportation, come in various shapes and 
    sizes, from compact city cars to powerful sports vehicles, offering a 
    range of features for different preferences and  needs.""",


    """Motorbikes, nimble two-wheeled machines, provide a thrilling and 
    liberating riding experience, appealing to enthusiasts who appreciate 
    speed, agility, and the open road.""",


    """Tigers, majestic big cats, are solitary hunters with distinctive 
    striped fur. Their powerful build and stealthy movements make them 
    formidable predators, but their populations are threatened 
    due to habitat loss and poaching."""
]

In het bovenstaande hebben we een variabele genaamd documenten en deze bevat een lijst van 5 strings (laten we ze allemaal als één enkel document beschouwen). Elke reeks gegevens is gerelateerd aan een bepaald onderwerp. Sommige gegevens hebben betrekking op elementen en sommige gegevens hebben betrekking op auto's. Laten we insluitingen voor de gegevens maken.

# embedding the data
embeddings = model.encode(documents)
print(embeddings.shape)

We maken gebruik van de coderen() functie van het modelobject om onze gegevens te coderen. Om te coderen, geven we de documentenlijst rechtstreeks door aan de coderen() functie en sla de resulterende vectorinbedding op in de inbeddingsvariabele. We printen zelfs de vorm van de inbeddingen, die hier worden afgedrukt (5, 768). Dit komt omdat we 5 datapunten hebben, dat wil zeggen 5 documenten, en voor elk document wordt een vectorinbedding van 768 dimensies gemaakt.

Creëer uw collectie

Nu gaan we onze collectie creëren.

from qdrant_client.http.models import VectorParams, Distance


client.create_collection(
    collection_name = "my-collection",
    vectors_config = VectorParams(size=768,distance=Distance.COSINE)
)
  • Om een ​​collectie te maken, werken we met de create_collection() functie van het clientobject en met de “Collectienaam“, geven we onze collectienaam door, dat wil zeggen “mijn-collectie”
  • VectorParams: Deze klasse van qdrant is voor vectorconfiguratie, zoals wat de vectorinbeddingsgrootte is, wat de afstandsmetriek is, en dergelijke
  • Afstand: Deze klasse van qdrant is om te definiëren welke afstandsmetriek moet worden gebruikt voor het opvragen van vectoren
  • Nu naar de vector_config variabele geven we onze configuratie door, dat is de grootte van vectorinbedding, dwz 786, en de afstandsmetriek die we willen gebruiken, namelijk COSINUS

Voeg vectorinsluitingen toe

We hebben nu met succes onze collectie gecreëerd. Nu zullen we onze vectorinsluitingen aan deze collectie toevoegen.

from qdrant_client.http.models import Batch


client.upsert (
    collection_name = "my-collection",
    points = Batch(
        ids = [1,2,3,4,5],


        payloads= [
            {"category":"animals"},
            {"category":"animals"},
            {"category":"automobiles"},
            {"category":"automobiles"},
            {"category":"animals"}
        ],


        vectors = embeddings.tolist()
    )
)
  • Om gegevens aan qdrant toe te voegen noemen we de opsteken() methode en geef de collectienaam en punten door. Zoals we hierboven hebben geleerd, is a punt bestaat uit vectoren, een optionele index en payloads. De Partij Met Class from qdrant kunnen we gegevens in batches toevoegen in plaats van ze één voor één toe te voegen.
  • ids: We geven onze documenten een identiteitsbewijs. Momenteel geven we een bereik van waarden van 1 tot 5 omdat we 5 documenten op onze lijst hebben.
  • ladingen: Zoals we eerder hebben gezien, de laadvermogen bevat informatie over de vectoren, zoals metadata. We bieden het aan in sleutel-waardeparen. Voor elk document hebben we een laadvermogen hier wijzen we de categorie-informatie toe voor elk document.
  • vectoren: Dit zijn de vectorinsluitingen van de documenten. We converteren het naar een lijst vanuit een numpy-array en voeren deze in.

Dus na het uitvoeren van deze code worden de vectorinsluitingen toegevoegd aan de collectie. Om te controleren of ze zijn toegevoegd, kunnen we het clouddashboard bezoeken dat de Qdrant Cloud biedt. Daarvoor doen wij het volgende:

"

We klikken op het dashboard en er wordt een nieuwe pagina geopend.

"

Dit is het qdrant-dashboard. Bekijk onze “mijn collectie”collectie hier. Klik erop om te zien wat erin zit.

"

In de Qdrant-cloud zien we dat onze punten (vectoren + payload + ID's) inderdaad worden toegevoegd aan onze verzameling binnen onze cluster. In het vervolggedeelte zullen we leren hoe we deze vectoren kunnen bevragen.

De Qdrant Vector-database opvragen

In deze sectie zullen we de vectordatabase doorzoeken en zelfs proberen enkele filters toe te voegen om een ​​gefilterd resultaat te krijgen. Om onze qdrant-vectordatabase te doorzoeken, moeten we eerst een queryvector maken, wat we kunnen doen door:

query = model.encode(['Animals live in the forest'])

Query-insluiting

Het volgende zal onze creëren vraag inbedden. Met behulp hiervan zullen we onze vectorwinkel doorzoeken om de meest relevante vectorinbedding te verkrijgen.

client.search(
    collection_name = "my-collection",
    query_vector = query[0],
    limit = 4
)

Zoekopdracht

Voor het opvragen gebruiken we de zoeken() methode van het clientobject en geef het volgende door:

  • Collectienaam: De naam van onze collectie
  • vraag_vector: De zoekvector waarop we het vectorarchief willen doorzoeken
  • begrenzing: Hoeveel zoekresultaten willen we hebben zoeken() functie om ook te beperken

Het uitvoeren van de code levert de volgende uitvoer op:

"

We zien dat voor onze zoekopdracht de best gevonden documenten van de categorie dieren zijn. We kunnen dus zeggen dat de zoektocht effectief is. Laten we het nu proberen met een andere zoekopdracht, zodat deze andere resultaten oplevert. De vectoren worden standaard niet weergegeven/opgehaald en daarom ingesteld op Geen.

query = model.encode(['Vehicles are polluting the world'])


client.search(
    collection_name = "my-collection",
    query_vector = query[0],
    limit = 3
)
"

Deze keer hebben we een gegeven vraag gerelateerd aan voertuigen de vectordatabase kon met succes de documenten van de relevante Categorie (auto) bovenaan ophalen. Wat als we nu wat willen filteren? Dit kunnen wij doen door:

from qdrant_client.http.models import Filter, FieldCondition, MatchValue


query = model.encode(['Animals live in the forest'])


custom_filter = Filter(
    must = [
        FieldCondition(
            key = "category",
            match = MatchValue(
                value="animals"
            ),
        )
    ]
)
  • Ten eerste maken we onze query embedding/vector
  • Hier importeren we de FILTER, Veldvoorwaarde en Matchwaarde lessen uit de qdrant-bibliotheek.
  • FILTER: Gebruik deze klasse om een ​​Filter-object te maken
  • FiledConditie: Deze klasse is bedoeld voor het maken van filters, zoals waarop we onze zoekopdracht willen filteren
  • Matchwaarde: Deze klasse is bedoeld om aan te geven welke waarde voor een bepaalde sleutel we door de qdrant vector db willen laten filteren

Dus in de bovenstaande code zeggen we eigenlijk dat we een FILTER dat controleert de Veldvoorwaarde dat de sleutel “categorie" in de payload wedstrijden(Matchwaarde) de waarde "dieren”. Dit ziet er een beetje groot uit voor een eenvoudig filter, maar deze aanpak zal onze code meer gestructureerd maken als we te maken hebben met a payload bevat veel informatie en we willen op meerdere sleutels filteren. Laten we nu het filter gebruiken in onze zoekopdracht.

client.search(
    collection_name = "my-collection",
    query_vector = query[0],
    query_filter = custom_filter,
    limit = 4
)

Query_filter

Deze keer geven we hier zelfs een query_filter variabele die de Aangepast filter die wij hebben gedefinieerd. Houd er rekening mee dat we een limiet van 4 hebben aangehouden om de top 4 overeenkomende documenten op te halen. De vraag heeft betrekking op dieren. Het uitvoeren van de code resulteert in de volgende uitvoer:

"

In de uitvoer hebben we alleen de top 3 dichtstbijzijnde documenten ontvangen, ook al hebben we 5 documenten. Dit komt omdat we ons filter zo hebben ingesteld dat alleen de diercategorieën worden gekozen en er slechts 3 documenten met die categorie zijn. Op deze manier kunnen we de vectorinsluitingen opslaan in de qdrant-wolk, vectorzoekopdrachten uitvoeren op deze inbeddingsvectoren, de dichtstbijzijnde vectoren ophalen en zelfs filters toepassen om de uitvoer te filteren:

Toepassingen

De volgende toepassingen kunnen Qdrant Vector Database gebruiken:

  • Aanbevelingssystemen: Qdrant kan aanbevelingsmotoren aandrijven door efficiënt hoog-dimensionale vectoren te matchen, waardoor het geschikt is voor gepersonaliseerde inhoudsaanbevelingen op platforms zoals streamingdiensten, e-commerce of sociale media.
  • Ophalen van afbeeldingen en multimedia: Door gebruik te maken van de mogelijkheden van Qdrant om vectoren te verwerken die afbeeldingen en multimedia-inhoud vertegenwoordigen, kunnen applicaties effectieve zoek- en ophaalfunctionaliteiten implementeren voor beelddatabases of multimedia-archieven.
  • Toepassingen voor natuurlijke taalverwerking (NLP): De ondersteuning van Qdrant voor vectorinbedding maakt het waardevol voor NLP-taken, zoals semantisch zoeken, het matchen van documentovereenkomsten en inhoudsaanbevelingen in toepassingen die omgaan met grote hoeveelheden tekstuele datasets.
  • Onregelmatigheidsdetectie: Qdrant's hoogdimensionale vectorzoekopdracht kan worden gebruikt in anomaliedetectiesystemen. Door vectoren die normaal gedrag vertegenwoordigen te vergelijken met binnenkomende gegevens, kunnen afwijkingen worden geïdentificeerd op terreinen als netwerkbeveiliging of industriële monitoring.
  • Product zoeken en matchen: Op e-commerceplatforms kan Qdrant de zoekmogelijkheden voor producten verbeteren door vectoren te matchen die productkenmerken vertegenwoordigen, waardoor nauwkeurige en efficiënte productaanbevelingen mogelijk worden gemaakt op basis van gebruikersvoorkeuren.
  • Op inhoud gebaseerd filteren in sociale netwerken: De vectorzoekopdracht van Qdrant kan worden toegepast in sociale netwerken voor op inhoud gebaseerde filtering. Gebruikers kunnen relevante inhoud krijgen op basis van de gelijkenis van vectorrepresentaties, waardoor de gebruikersbetrokkenheid wordt verbeterd.

Conclusie

Naarmate de vraag naar een efficiënte weergave van gegevens groeit, onderscheidt Qdrant zich als een open source-zoekmachine voor vectorgelijkenis boordevol functies, geschreven in de robuuste en op veiligheid gerichte taal Rust. Qdrant bevat alle populaire afstandsstatistieken en biedt een robuuste manier om onze vectorzoekopdracht te filteren. Met zijn rijke functies, cloud-native architectuur en robuuste terminologie opent Qdrant deuren naar een nieuw tijdperk in zoektechnologie voor vectorgelijkenis. Ook al is het nieuw op dit gebied, het biedt clientbibliotheken voor veel programmeertalen en biedt een cloud die efficiënt meegroeit met de omvang.

Key Takeaways

Enkele van de belangrijkste afhaalrestaurants zijn:

  • Qdrant is vervaardigd in Rust en garandeert zowel snelheid als betrouwbaarheid, zelfs onder zware belasting, waardoor het de beste keuze is voor krachtige vectorwinkels.
  • Wat Qdrant onderscheidt is de ondersteuning voor client-API's, gericht op ontwikkelaars in Python, TypeScript/JavaScript, Rust en Go.
  • Qdrant maakt gebruik van het HSNW-algoritme en geeft verschillende afstandsstatistieken, waaronder Dot, Cosine en Euclidische, waardoor ontwikkelaars de statistiek kunnen kiezen die aansluit bij hun specifieke gebruiksscenario's.
  • Qdrant gaat naadloos over naar de cloud met een schaalbare cloudservice, die een free-tier optie voor verkenning biedt. De cloud-native architectuur zorgt voor optimale prestaties, ongeacht het datavolume.

Veelgestelde Vragen / FAQ

Vraag 1: Wat is Qdrant en waarin verschilt het van andere vectordatabases?

A: Qdrant is een vectorgelijkeniszoekmachine en vectorwinkel geschreven in Rust. Het valt op door zijn snelheid, betrouwbaarheid en rijke clientondersteuning en biedt API's voor Python, TypeScript/JavaScript, Rust en Go.

Vraag 2: Hoe gaat Qdrant om met afstandsstatistieken bij vectorzoekopdrachten?

A: Qdrant gebruikt het HSNW-algoritme en geeft verschillende afstandsmetrieken zoals Dot, Cosinus en Euclidisch. Ontwikkelaars kunnen bij het maken van collecties de statistiek kiezen die aansluit bij hun specifieke gebruiksscenario's.

V3: Wat zijn de belangrijkste componenten en terminologieën in de Qdrant Vector Database?

A: Belangrijke componenten zijn onder meer verzamelingen, afstandsstatistieken, punten (vectoren, optionele ID's en payloads) en opslagopties (in het geheugen en Memmap).

Vraag 4: Kan Qdrant worden geïntegreerd met clouddiensten en welke voordelen biedt het?

A: Ja, Qdrant integreert naadloos met clouddiensten en biedt zo een schaalbare cloudoplossing. De cloud-native architectuur zorgt voor optimale prestaties, waardoor deze kan worden aangepast aan variërende datavolumes en computerbehoeften.

Vraag 5: Hoe ondersteunt Qdrant filteren bij vectorzoekopdrachten?

A: Qdrant maakt filteren op payload-informatie mogelijk. Gebruikers kunnen filters definiëren met behulp van de Qdrant-bibliotheek, door voorwaarden op te geven op basis van payload-sleutels en -waarden om de zoekresultaten te verfijnen.

De in dit artikel getoonde media zijn geen eigendom van Analytics Vidhya en worden naar goeddunken van de auteur gebruikt.

spot_img

Laatste intelligentie

spot_img