Que sont les intégrations RAG ?

Les intégrations traduisent le texte en vecteurs numériques pour tracer la signification sémantique. Cela permet aux systèmes RAG de trouver des concepts sémantiquement similaires même lorsque les mots sont différents.
Dans notre précédent article sur Génération augmentée par récupération (RAG)nous avons exploré comment RAG résout un problème critique avec des LLM standards.
Les LLM ne peuvent travailler qu’avec les informations de leurs données de formation, mais les organisations ont besoin d’assistants IA capables de répondre aux questions sur leur documentation interne. RAG résout ce problème en récupérant les documents pertinents d’une base de connaissances et en les utilisant pour augmenter la réponse du LLM.
Dans l’article précédent, nous avons mentionné que les systèmes de récupération s’appuient sur intégrations pour trouver un contenu sémantiquement similaire. Mais que sont exactement les intégrations et comment permettent-elles aux systèmes de comprendre que « authentification » et « sécurité de connexion » sont des concepts liés même s’ils utilisent des mots complètement différents ?
Dans cet article, nous expliquerons comment fonctionnent les intégrations, pourquoi elles sont essentielles pour des systèmes comme RAG et comment elles permettent aux modèles d’IA de « comprendre » la signification au sens mathématique.
Intégrations
À la base, un intégration est une manière de représenter le texte sous la forme d’une liste de nombres, en particulier d’un vecteur de nombres à virgule flottante.
Pensez-y comme à un système de coordonnées pour le langage. Tout comme une coordonnée GPS (42.3601, -71.0589) identifie un emplacement spécifique sur une carte, un vecteur d’intégration comme [-0.0069, -0.0053, ...] identifie un morceau de texte dans un « espace de signification » de grande dimension.
Les textes ayant des significations similaires produisent des vecteurs mathématiquement proches les uns des autres, tandis que les textes ayant des significations différentes produisent des vecteurs éloignés les uns des autres.
Comment les intégrations capturent le sens
Les systèmes de recherche traditionnels basés sur des mots clés ont du mal à gérer les relations sémantiques. Si vous recherchez « authentification », ils ne trouveront pas de documents sur la « sécurité de connexion », à moins que ceux-ci ne soient mots exacts apparaître. Les intégrations résolvent ce problème en capturant le sens sous-jacent plutôt qu’en faisant simplement correspondre les mots.
Ceci est rendu possible grâce à l’intégration de modèles (par exemple, OpenAI, Gémeaux, Nvidiaetc.), qui sont des réseaux de neurones spécialisés entraînés à mapper du texte, du code ou même des images dans un espace vectoriel partagé où le sens détermine la proximité. Ces modèles donnent aux systèmes d’IA la capacité de reconnaître que la « sécurité de connexion », la « vérification de l’utilisateur » et « l’authentification » décrivent toutes des idées similaires, même si la formulation diffère.
Lorsqu’un modèle d’intégration traite du texte, il analyse le contexte dans lequel les mots apparaissent, leurs relations avec d’autres mots et la structure sémantique globale du texte. Le modèle a été formé sur de grandes quantités de données textuelles, apprenant des modèles sur la façon dont les concepts sont liés les uns aux autres. En conséquence, il peut produire des représentations numériques qui reflètent ces relations apprises.
Par exemple, considérons ces trois phrases :
- « L’utilisateur doit s’authentifier avant d’accéder au système. »
- « La sécurité de la connexion nécessite une vérification multifactorielle. »
- « Les prévisions météorologiques annoncent de la pluie demain. »
Un modèle d’intégration produirait des vecteurs pour chaque phrase. Les deux premiers vecteurs seraient mathématiquement similaires (rapprochés) car ils concernent l’authentification et la sécurité, même s’ils ne partagent aucun mot commun. Le troisième vecteur serait loin des deux autres car il traite d’un tout autre sujet.
La distance entre deux vecteurs d’intégration mesure leur relation. De petites distances suggèrent une forte parenté, tandis que de grandes distances suggèrent une faible parenté.
Les systèmes RAG utilisent généralement similarité cosinus pour mesurer cette distance. La similarité cosinus compare l’angle entre les vecteurs plutôt que leur distance absolue, renvoyant une valeur entre -1 et 1 où les valeurs sont proches de 1 indiquent une grande similarité. C’est pourquoi les intégrations sont si puissantes pour la recherche sémantique : elles peuvent trouver du contenu pertinent en fonction de leur signification, et pas seulement de la correspondance de mots clés.
Obtenir des intégrations à partir d’une API
La plupart des équipes ne créent pas leurs propres modèles d’intégration à partir de zéro. Au lieu de cela, ils utilisent les services d’intégration fournis par des sociétés comme OpenAIqui proposent des modèles pré-entraînés qui ont appris des relations sémantiques à partir d’ensembles de données massifs.
L’obtention d’une intégration peut être simple. Lorsque vous travaillez avec des API, vous envoyez votre texte au point de terminaison d’intégration avec le nom du modèle, et vous recevez un vecteur de nombres en retour. Voici comment procéder en JavaScript en utilisant L’API d’OpenAI:
import OpenAI from "openai";
const openai = new OpenAI();
const embedding = await openai.embeddings.create({
model: "text-embedding-3-small",
input: "Our API rate-limiting policy enforces 1000 requests per minute for standard tier clients.",
encoding_format: "float",
});
console.log(embedding.data[0].embedding);
La réponse contient le vecteur d’intégration ainsi que les métadonnées :
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [
0.0191497802734375,
-0.010498046875,
-0.019439697265625,
-0.01496124267578125,
...
]
}
],
"model": "text-embedding-3-small",
"usage": {
"prompt_tokens": 5,
"total_tokens": 5
}
}
Cette longue liste de nombres est le vecteur d’intégration (nous n’en montrons qu’un petit sous-ensemble dans l’exemple de réponse ci-dessus). Pour OpenAI text-embedding-3-small modèle, le vecteur a 1536 dimensions par défaut (ce qui signifie que c’est une liste de 1536 nombres). Chaque dimension capture un aspect spécifique de la signification du texte et forme ensemble une représentation sémantique complète.
Une fois que vous aurez intégré les vecteurs, vous aurez besoin d’un moyen de les stocker et de les rechercher efficacement. C’est là bases de données vectorielles Entrez.
Bases de données vectorielles
Une base de données vectorielles est une base de données spécialisée conçue pour stocker et interroger efficacement des vecteurs de grande dimension. Contrairement aux bases de données traditionnelles qui recherchent des correspondances exactes ou des mots-clés simples, les bases de données vectorielles excellent dans la recherche de vecteurs similaires à l’aide de mesures de distance, telles que la similarité cosinus.
Lorsque vous construisez un système RAG, vous allez généralement :
- Indexez vos documents: convertissez chaque document (ou morceau) en une intégration et stockez-le dans la base de données vectorielle avec le texte original et toutes les métadonnées.
- Requête pour un contenu similaire: lorsqu’un utilisateur pose une question, convertissez la question en intégration, puis recherchez dans la base de données vectorielles les intégrations de documents les plus similaires.
- Récupérer les originaux: Utilisez les scores de similarité pour classer les résultats et récupérer le texte original des documents les plus pertinents.
Le principal avantage des bases de données vectorielles réside dans leur capacité à effectuer des recherches rapides de similarité sur des millions de vecteurs. Ils utilisent des techniques telles que voisin le plus proche approximatif (ANN) algorithmes pour rendre ces recherches efficaces, même à grande échelle.
Progress Agentic RAG
Construire un système RAG à partir de zéro nécessite la mise en place de modèles d’intégration, de bases de données vectorielles, de pipelines d’indexation et d’une logique de récupération, tout cela peut prendre beaucoup de temps et d’efforts d’ingénierie. Progress Agentic RAG rationalise ce processus avec une approche SaaS sans code, vous offrant un accès immédiat aux fonctionnalités RAG.
Indexez vos fichiers et documents, et la plateforme s’occupe du reste, convertissant automatiquement votre contenu en intégrations et le rendant consultable.
Une fonctionnalité particulièrement intéressante de Progress Agentic RAG est la possibilité d’utiliser plusieurs modèles d’intégration simultanément. Vous pouvez même ajouter différents modèles d’intégration à votre base de connaissances via l’API, et chaque nouvelle ressource que vous ajoutez sera traitée avec tous vos modèles configurés. Cela vous permet de tester et de comparer les performances de différents modèles sur vos données réelles sans vous engager dès le départ sur un seul choix.

Progress Agentic RAG est alimenté par NucliaDBqui va au-delà des bases de données vectorielles traditionnelles en unifiant la recherche sémantique, la recherche par mots clés, la recherche de métadonnées et la traversée des graphes de connaissances. Cela fournit un contexte plus riche et une meilleure traçabilité que les bases de données vectorielles standard, ce qui le rend plus adapté aux systèmes RAG qui nécessitent de fournir des réponses précises et vérifiables.
Conclure
Les intégrations transforment le texte en représentations numériques qui capturent la signification sémantique. Ils constituent la base qui rend possible la recherche sémantique, permettant aux systèmes RAG de récupérer efficacement le contexte pertinent à partir de vastes bases de connaissances. Pour plus de détails, assurez-vous de consulter les ressources suivantes :
Source link
