Passer au contenu principal
Oui, ClickHouse prend en charge la recherche vectorielle. Les principaux avantages de l’utilisation de ClickHouse pour la recherche vectorielle, par rapport à des bases de données vectorielles plus spécialisées, sont les suivants :
  • Utiliser les fonctionnalités de filtrage et de recherche en texte intégral de ClickHouse pour affiner votre jeu de données avant d’effectuer une recherche.
  • Effectuer des analyses sur vos jeux de données.
  • Exécuter un JOIN avec vos données existantes.
  • Pas besoin de gérer une base de données supplémentaire ni de complexifier votre infrastructure.
Voici un bref tutoriel sur l’utilisation de ClickHouse pour la recherche vectorielle.

1. Créer des embeddings

Vos données (documents, images ou données structurées) doivent être converties en embeddings. Nous vous recommandons de créer ces embeddings à l’aide de l’API OpenAI Embeddings ou de la bibliothèque Python open source SentenceTransformers. Vous pouvez considérer un embedding comme un grand tableau de nombres à virgule flottante représentant vos données. Consultez ce guide d’OpenAI pour en savoir plus sur les embeddings.

2. Stocker les embeddings

Une fois que vous avez généré des embeddings, vous devez les stocker dans ClickHouse. Chaque embedding doit être stocké dans une ligne distincte et peut inclure des métadonnées pour le filtrage, les agrégations ou l’analyse. Voici un exemple de table permettant de stocker des images avec des légendes :
Supposons que vous souhaitiez rechercher des images de chiens dans votre jeu de données. Vous pouvez utiliser une fonction de distance comme cosineDistance pour partir de l’embedding d’une image de chien et rechercher des images similaires :
Cette requête renvoie les noms _file et la légende des 10 images les plus susceptibles d’être liées à l’image de chien que vous avez fournie.

Pour en savoir plus

Pour suivre un tutoriel plus détaillé sur la recherche vectorielle avec ClickHouse, consultez :
Dernière modification le 29 juin 2026