Embeddings : c'est quoi exactement, et comment faire une recherche sémantique ?

posée 4 months ago225 vuesfr

0

On me dit que la recherche par mots-clés ne trouve pas « voiture » quand on cherche « automobile », mais que les embeddings règlent ça. Comment ça marche concrètement ?

Diagnostic IA

Généré par IA. Ce n'est pas une réponse — la communauté ci-dessous le confirme ou le corrige. Vérifiez toujours avant de vous y fier.

1 réponse

3
✓
✓ Réponse acceptée

Un embedding est un vecteur de nombres (par ex. 1 024 dimensions) produit par un modèle, tel que des textes de sens proche ont des vecteurs proches. « voiture » et « automobile » se retrouvent voisins, même sans mot en commun. Et avec un modèle multilingue, « how to center a div » est proche de « kijan pou m santre yon div » !

Mise en œuvre avec PostgreSQL + pgvector :

CREATE EXTENSION vector;
ALTER TABLE documents ADD COLUMN embedding vector(1024);
CREATE INDEX ON documents USING hnsw (embedding vector_cosine_ops);

-- recherche : les 10 plus proches de la requête
SELECT id, titre
FROM documents
ORDER BY embedding <=> $1   -- $1 = embedding de la question
LIMIT 10;

1. À l'écriture : calcule l'embedding du document (API d'un fournisseur comme Voyage AI, ou un modèle open source) et stocke-le. 2. À la recherche : calcule l'embedding de la requête, puis cherche les plus proches voisins.

En pratique, la recherche hybride (plein texte + vecteurs, fusionnés) donne les meilleurs résultats : les mots-clés restent imbattables pour les noms exacts et les codes d'erreur.

Connectez-vous pour dire si ça a marché.

answered 4 months ago

Sign in and verify your email to post an answer.