Qdrant

Qdrant è un motore di ricerca per similitudine vettoriale progettato per accelerare i flussi di lavoro di intelligenza artificiale e machine learning. Risulta particolarmente potente quando combinato con infrastrutture dedicate di server GPU come quelle offerte da Trooper.AI, consentendo la prototipazione rapida e il deployment di soluzioni AI complesse.

Dashboard of Qdrant
Pannello di controllo di Qdrant

Qdrant si distingue nella ricerca dei vettori più simili a un dato vettore di query, rendendolo ideale per applicazioni come la ricerca semantica, i sistemi di raccomandazione e il recupero di immagini/video.

Perché Qdrant con GPU Servers?

I sistemi di database tradizionali faticano ad affrontare l'elevata dimensionalità e i complessi calcoli di similarità intrinseci negli embedding vettoriali. Qdrant, ottimizzato per i dati vettoriali, combinato con il potere di elaborazione parallela delle GPU, garantisce significativi guadagni di prestazioni. Un Trooper.AI GPU server offre la potenza necessaria per gestire dataset vettoriali su larga scala e fornire risultati di ricerca a bassa latenza.

L'accelerazione GPU è abilitata per impostazione predefinita all'interno del nostro template pre-configurato di Qdrant, garantendo prestazioni ottimali per le sue ricerche.

Casi d’uso

Ecco alcuni casi d’uso specifici in cui Qdrant, alimentato da Trooper.AI GPU servers, eccelle:

  • Ricerca semantica: Invece di corrispondenza per parole chiave, Qdrant consente di cercare documenti o contenuti basandosi sul loro significato. Gli Embeddings catturano l’essenza semantica del testo e Qdrant trova i risultati più simili dal punto di vista semantico. Ad esempio, cercando «modi per migliorare l’accuratezza del modello» verranno restituiti risultati che trattano regolarizzazione, tuning degli iperparametri e data augmentation, anche se quelle esatte parole chiave non sono presenti.
  • Sistemi di Raccomandazione: Rappresentare utenti e articoli come vettori. Qdrant può identificare rapidamente articoli simili a quelli con cui un utente ha interagito in precedenza, fornendo raccomandazioni personalizzate. Questo è applicabile all'e-commerce, allo streaming di contenuti e molto altro.
  • Ricerca di Immagini e Video: Estrarre embedding da immagini e video utilizzando modelli come CLIP. Qdrant consente di cercare contenuti visivamente simili. Immaginare di cercare «un gatto che gioca con una palla» e recuperare immagini e video rilevanti, anche se non hanno esattamente quegli stessi tag.

API

Ecco un esempio di un tipico flusso di lavoro con l'API di Qdrant, seguito da un esempio in Python per interrogare vettori simili:

Flusso API standard con Qdrant:

  1. Autenticazione: La maggior parte delle implementazioni di Qdrant richiede una chiave API per l’autenticazione. Questa chiave deve essere inclusa nell’header Authorization delle Sue richieste.
  2. Selezione dell'Endpoint: Qdrant espone vari endpoint per operazioni diverse come la ricerca, l'inserimento (aggiunta) di vettori e la gestione delle collezioni.
  3. Formattazione della richiesta: I dati vengono solitamente inviati e ricevuti in formato JSON.
  4. Gestione delle risposte: L'API restituisce risposte in formato JSON contenenti i risultati della sua richiesta, oppure messaggi di errore se qualcosa va storto.

Ecco un esempio di chiamata in Python a Qdrant per cercare vettori simili:

python
import requests
import json
import numpy as np

# Qdrant API endpoint and collection name
QDRANT_API_URL = "https://SECURE-TROOPER-APP-URL"  # Replace with your Qdrant endpoint
QDRANT_COLLECTION_NAME = "my_collection"

# Your API Key
API_KEY = "YOUR_QDRANT_API_KEY" # Replace with your Qdrant API key

# Payload for the search request
payload = {
    "vectors": (np.random.rand(128).tolist()),  # Replace with your query vector
    "limit": 10  # Number of results to return
}

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

try:
    response = requests.post(f"{QDRANT_API_URL}/collections/{QDRANT_COLLECTION_NAME}/search",
                             headers=headers,
                             data=json.dumps(payload))

    response.raise_for_status()  # Raise HTTPError for bad responses (4xx or 5xx)

    results = response.json()
    print(json.dumps(results, indent=2))

except requests.exceptions.RequestException as e:
    print(f"Error: {e}")
    print(f"Response text: {response.text}")
except Exception as e:
    print(f"An unexpected error occurred: {e}")

Questo esempio dimostra come interrogare Qdrant per trovare vettori simili. Ricorda di sostituire "https://SECURE-TROOPER-APP-URL", "my_collection", "YOUR_QDRANT_API_KEY" e il vettore di esempio con il suo endpoint Qdrant effettivo, nome della raccolta, chiave API e vettore di query. Fare riferimento alla documentazione dell'API di Qdrant per ulteriori endpoint e funzionalità: https://qdrant.tech/documentation/ .

Cruscotto Qdrant

Dashboard Startscreen
Pannello di controllo - Schermata iniziale

Qdrant offre un web dashboard intuitivo per la gestione dei suoi vectors e collections. Il dashboard consente a Lei di:

  • Visualizzare Dati Vettoriali: Esplori i Suoi vettori in uno spazio ad alta dimensionalità utilizzando grafici di dispersione e altre visualizzazioni.
  • Gestisca le Collezioni: Creare, modificare e eliminare collezioni per organizzare i suoi dati vettoriali.
  • Ricerca e Filtro: Eseguire ricerche rapide e applicare filtri per trovare vettori specifici.
  • Monitorare le Prestazioni: Monitorare metriche chiave come latenza delle query e utilizzo delle risorse.
  • Ispezioni vettori: Visualizzi informazioni dettagliate su singoli vettori, inclusi i loro embedding e payload.

Come accedere al dashboard

Può accedere al Qdrant dashboard tramite l’web interface del Suo deployment di Qdrant.

Aggiunga /dashboard al Suo URL dell'API per accedervi.

Si prega di fare riferimento alla documentazione di Qdrant per istruzioni dettagliate su come accedere e utilizzare la dashboard: https://qdrant.tech/documentation/ . L'utilizzo della dashboard in combinazione con un server GPU Trooper.AI garantisce un'esperienza fluida e reattiva nel lavorare con dataset di vettori su larga scala.