Qdrant

Qdrant est un moteur de recherche de similarité vectorielle conçu pour accélérer les flux de travail de l'IA et de l'apprentissage automatique. Il est particulièrement puissant lorsqu'il est combiné à une infrastructure de serveurs GPU dédiés comme ceux proposés par Trooper.AI, permettant le prototypage et le déploiement rapides de solutions d'IA complexes.

Dashboard of Qdrant
Tableau de bord de Qdrant

Qdrant excelle dans la recherche des vecteurs les plus similaires à un vecteur de requête donné, ce qui le rend idéal pour des applications telles que la recherche sémantique, les systèmes de recommandation et la récupération d'images/vidéos.

Pourquoi Qdrant avec des serveurs GPU ?

Les systèmes de bases de données traditionnels peinent à gérer la haute dimensionnalité et les calculs de similarité complexes inhérents aux intégrations vectorielles. Qdrant, optimisé pour les données vectorielles, combiné à la puissance de traitement parallèle des GPU, offre des gains de performance significatifs. Un serveur GPU Trooper.AI fournit la puissance nécessaire pour gérer des ensembles de données vectorielles à grande échelle et fournir des résultats de recherche à faible latence.

L’accélération par GPU est activée par défaut dans notre modèle préconfiguré de Qdrant, garantissant des performances optimales pour vos recherches.

Cas d'utilisation

Voici quelques cas d'utilisation spécifiques où Qdrant, propulsé par les serveurs GPU Trooper.AI, excelle :

  • Recherche sémantique : Contrairement à l'appariement par mots-clés, Qdrant permet de rechercher des documents ou du contenu en fonction de leur sens. Les embeddings capturent l'essence sémantique d'un texte et Qdrant trouve les résultats les plus similaires sur le plan sémantique. Par exemple, une recherche pour « façons d’améliorer la précision d’un modèle » retournera des résultats abordant la régularisation, l’ajustement des hyperparamètres et l’augmentation des données, même si ces termes précis ne sont pas présents.
  • Systèmes de recommandation : Représenter les utilisateurs et les articles sous forme de vecteurs. Qdrant peut rapidement identifier des éléments similaires à ceux avec lesquels un utilisateur a déjà interagi, offrant ainsi des recommandations personnalisées. Cela s'applique au commerce électronique (e-commerce), au streaming de contenu (content streaming) et bien plus encore.
  • Récupération d'images et de vidéos : Extraire des embeddings à partir d’images et de vidéos en utilisant des modèles comme CLIP. Qdrant permet de rechercher du contenu visuellement similaire. Imaginons une recherche pour « un chat qui joue avec une balle » et la récupération d’images et de vidéos pertinentes, même si elles ne comportent pas exactement ces balises.

API

Voici un exemple de flux de travail API typique avec Qdrant, suivi d'un exemple Python pour interroger des vecteurs similaires :

Flux de travail API standard avec Qdrant :

  1. Authentification : La plupart des déploiements de Qdrant nécessitent une clé API pour l’authentification. Cette clé doit être incluse dans l’en-tête Authorisation de vos requêtes.
  2. Sélection de l’endpoint : Qdrant propose divers endpoints pour différentes opérations comme la recherche, l’ajout (upsert) de vecteurs et la gestion des collections.
  3. Formatage de la requête : Les données sont généralement envoyées et reçues au format JSON.
  4. Gestion des réponses : L'API renvoie des réponses au format JSON contenant les résultats de votre demande ou des messages d'erreur si un problème survient.

Voici un exemple d’appel Python à Qdrant pour rechercher des vecteurs similaires :

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}")

Cet exemple montre comment interroger Qdrant pour trouver des vecteurs similaires. N’oubliez pas de remplacer "https://SECURE-TROOPER-APP-URL", "my_collection", "VOTRE_CLEF_API_QDRANT" et le vecteur d’exemple par votre URL réelle de l’endpoint Qdrant, nom de la collection, clé API et vecteur de requête. Consultez la [documentation officielle de l'API Qdrant](https://qdrant.tech/documentation/) pour plus d’informations sur les autres points d’accès et fonctionnalités.

Tableau de bord Qdrant

Dashboard Startscreen
Écran d'accueil du tableau de bord

Qdrant fournit un tableau de bord web convivial pour gérer vos vecteurs et vos collections. Le tableau de bord vous permet de :

  • Visualiser les données vectorielles : Explorer vos vecteurs dans un espace à haute dimension en utilisant des nuages de points et d'autres types de visualisations.
  • Gérer les collections : Créer, modifier et supprimer des collections pour organiser vos données vectorielles.
  • Recherche et Filtres : Effectuez des recherches rapides et appliquez des filtres pour trouver des vecteurs spécifiques.
  • Surveiller les performances : Suivre des métriques clés comme la latence des requêtes et l'utilisation des ressources.
  • Examiner les vecteurs : Afficher des informations détaillées sur les vecteurs individuels, y compris leurs embeddings et leurs charges utiles (payloads).

Comment accéder au tableau de bord

Vous pouvez accéder au tableau de bord Qdrant via l'interface web de votre déploiement Qdrant.

Ajouter /dashboard à votre URL API pour y accéder.

Consultez la documentation de Qdrant pour obtenir des instructions détaillées sur l'accès et l'utilisation du tableau de bord : https://qdrant.tech/documentation/. L'utilisation du tableau de bord en combinaison avec un serveur GPU Trooper.AI garantit une expérience fluide et réactive lors du travail avec des jeux de données vectoriels à grande échelle.