Les embeddings de texte
Apres avoir decoupe un document en segments, l’etape suivante est de trouver lesquels sont pertinents pour une question donnee. C’est un probleme de recherche resolu par la recherche semantique via les embeddings.
Qu’est-ce qu’un embedding ?
Un embedding est une representation numerique du sens contenu dans un texte : une longue liste de nombres (entre -1 et +1) generee par un modele d’embedding. Chaque nombre represente un “score” pour une qualite du texte, bien que ces qualites ne soient pas explicitement nommees.
Recherche semantique
Contrairement a la recherche par mots-cles, la recherche semantique comprend le sens des textes. Elle trouve du contenu conceptuellement lie meme quand les mots exacts ne correspondent pas.
Embeddings sur Vertex AI
Claude ne genere pas directement d’embeddings. Sur Vertex AI, on utilise le modele text-embedding-005.
Implementation
from google import genai
client = genai.Client(
project="VOTRE_PROJECT_ID",
location="global",
vertexai=True
)
def generate_embedding(text):
response = client.models.embed_content(
model="text-embedding-005",
contents=text
)
if not response.embeddings:
return []
return [e.values for e in response.embeddings]
Cette fonction retourne une liste de nombres representant le sens semantique du texte. Ces embeddings constituent la base de la recherche semantique dans votre systeme RAG.
La prochaine etape est de comprendre comment utiliser ces embeddings pour trouver les segments les plus pertinents via la similarite cosinus.