Recherche sémantique à grande échelle avec ClickHouse : un cas d’usage réel sur 28 millions de posts Hacker News
Le dataset Hacker News, fourni par ClickHouse, contient 28,74 millions de publications textuelles accompagnées de leurs vecteurs d’encodage (embeddings) générés à l’aide du modèle SentenceTransformers all-MiniLM-L6-v2. Chaque vecteur a une dimension de 384, ce qui permet de capturer la sémantique des textes. Ce jeu de données, disponible sous forme d’un fichier Parquet dans un bucket S3, sert de base pour explorer les enjeux de conception, de dimensionnement et de performance d’une application de recherche vectorielle à grande échelle sur des données textuelles générées par les utilisateurs. Pour l’exploiter, il est d’abord recommandé d’estimer les besoins en stockage et en mémoire. La création d’une table ClickHouse est réalisée via une instruction CREATE TABLE structurée pour stocker les champs clés : identifiants, texte, vecteur, métadonnées, type d’élément (story, comment, etc.), auteur, date, score, et autres attributs. L’indexation par id via l’engine MergeTree optimise les requêtes. Les requêtes de recherche sémantique s’appuient sur la fonction cosineDistance() pour mesurer la similarité entre le vecteur de requête et ceux des documents. Un script Python montre comment générer un embedding à partir d’un texte d’entrée en utilisant le modèle all-MiniLM-L6-v2, puis interroger ClickHouse pour récupérer les 100 documents les plus proches sémantiquement. Ce processus illustre la recherche vectorielle en temps réel sur un volume massif de données. Une application de synthèse automatisée est ensuite présentée, combinant recherche vectorielle et intelligence artificielle générative. L’utilisateur entre un sujet, le système génère un embedding, interroge la base pour extraire les publications pertinentes, puis utilise l’API OpenAI gpt-3.5-turbo via LangChain pour produire un résumé concis. Ce pipeline démontre un cas d’usage concret d’IA générative pour analyser des conversations utilisateur, des retours clients, des documents techniques ou juridiques, des transcriptions de réunions, etc. L’application intègre des mécanismes de découpage de texte (via tiktoken) et de gestion dynamique du contexte selon la longueur des résultats, en passant de la chaîne stuff à map_reduce si nécessaire. Elle nécessite une clé API OpenAI, configurée via une variable d’environnement. Ce type d’architecture s’inscrit dans des usages enterprise prometteurs : analyse de sentiment, automatisation du support technique, extraction d’informations dans des archives complexes, ou traitement de données sensibles. En résumé, ce dataset et ses exemples illustrent la faisabilité et l’efficacité d’une architecture hybride recherche vectorielle + IA générative pour des applications réelles à grande échelle. Les entreprises peuvent tirer parti de cette combinaison pour transformer leurs données non structurées en connaissances exploitables, tout en bénéficiant de la puissance de calcul de ClickHouse pour les requêtes rapides et scalables.
