Embeddings : c'est quoi exactement, et comment faire une recherche sémantique ?
poze 4 months ago220 gadefr
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 ?
Dyagnostik IA
Se IA ki fè l. Se pa yon repons — kominote a anba a konfime oswa korije l. Toujou verifye anvan ou fye l.
1 Repons
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.
Konekte pou di lòt moun si li te mache.
Sign in and verify your email to post an answer.