Pourquoi votre prochain projet d'IA n'a pas besoin d'une base de données vectorielle distincte
Résumé
- HCL Informix VectorBlade permet d'effectuer des recherches vectorielles intégrées sans avoir besoin d'un service de base de données vectorielle distinct.
- Les équipes peuvent utiliser la recherche sémantique en complément des données métier existantes, tout en réduisant le nombre de pipelines supplémentaires et les tâches de synchronisation.
- Ce tutoriel explique comment créer des représentations vectorielles, synchroniser des données vectorielles et effectuer des recherches par voisins les plus proches directement via Informix.
- La recherche vectorielle intégrée permet de simplifier la sécurité, le filtrage, les opérations et l'architecture des applications pour les cas d'utilisation courants de l'IA en entreprise.
- L'idée principale est d'intégrer les capacités de l'IA à la base de données et aux données auxquelles vous faites déjà confiance, plutôt que de transférer ces données ailleurs.
Votre stratégie en matière d'IA n'a pas besoin d'une nouvelle base de données. Elle a besoin de celle à laquelle vous faites déjà confiance pour aller plus loin. Découvrez la dernière version d'HCL Informix®, la base de données d'entreprise désormais compatible avec l'IA.
Imaginons que votre équipe souhaite ajouter un chatbot « support » capable de trouver automatiquement des tickets antérieurs similaires.
Au bout de quelques semaines, vous vous heurtez au même obstacle que d’habitude. Pour effectuer des recherches par sens plutôt que par mots exacts, vous avez besoin d’une base de données vectorielle. Cela implique de faire appel à un nouveau fournisseur, de mettre en place un nouveau pipeline pour y transférer vos données et de procéder à un nouvel audit de sécurité avant que ces données puissent entrer en contact avec les données réelles des clients.
La création du chatbot n'est pas devenue plus compliquée. C'est tout ce qui l'entoure qui l'est devenu.
Cet article explique pourquoi vous n’avez probablement pas besoin de ce système supplémentaire et présente le code SQL permettant d’effectuer une recherche sémantique dans la base de données que vous utilisez déjà. Vous découvrirez également comment la recherche vectorielle peut être utilisée en complément de vos données métier existantes, sans que les équipes applicatives aient à déployer et à gérer de manière indépendante un service de base de données vectorielle distinct.
La manière la plus rapide d'intégrer l'IA ne passe pas par une nouvelle base de données
Le moyen le plus rapide d'accéder à l'IA pourrait bien être d'apprendre à votre base de données une nouvelle astuce.
Imaginons que vous gériez au quotidien une base de données HCL Informix de production pour les processus métier liés aux commandes, à la facturation et aux réclamations. Une équipe produit souhaite disposer d’un chatbot doté d’une fonctionnalité de recherche basée sur l’IA, et ce, dans les plus brefs délais. Cela ne vous pose pas de problème. Ce qui vous inquiète, c’est la charge de travail supplémentaire qu’implique la mise en place d’une toute nouvelle base de données : un système de plus à mettre à jour, un fournisseur de plus dont la sécurité doit être validée, et un pipeline de plus susceptible de tomber en panne sans crier gare.
Peut-être avez-vous déjà jeté un œil à Pinecone, Weaviate ou pgvector. Voici comment vérifier si vous avez réellement besoin d'ajouter une nouvelle base de données :
Notions de base : qu'est-ce qu'un « vecteur » et pourquoi est-il indispensable pour la recherche ?
Un vecteur est une liste de nombres qui représente la signification d'un passage de texte. Deux phrases qui ont la même signification se traduisent par deux listes de nombres très proches l'une de l'autre, même si elles ne partagent pas un seul mot.
« Comment réinitialiser mon mot de passe ? » et « J'ai oublié mes identifiants de connexion » signifient la même chose ; leurs vecteurs sont donc très proches les uns des autres. Effectuer une recherche en fonction de cette proximité plutôt qu'en recherchant des mots exacts, c'est ce que l'on appelle une « recherche vectorielle ». C'est l'astuce qui se cache derrière tous les chatbots qui semblent « comprendre » ce que vous leur demandez.
Pourquoi une base de données vectorielle distincte coûte plus cher que le coût initial
La configuration habituelle semble simple, mais les coûts s'accumulent rapidement :
Mettez en place une base de données vectorielle distincte
Financez-la et exploitez-la comme un système autonome
Créez un pipeline qui y copie vos données et assure la synchronisation entre les deux systèmes
Prévoyez pour celle-ci un audit de sécurité, des sauvegardes et un plan d'reprise après sinistre
C'est dans ce troisième point que se cache le véritable coût. Une étude de 2026 portant sur les pipelines de données d'entreprise a révélé que les grandes entreprises en exploitent en moyenne plusieurs centaines et que ces pipelines tombent en panne plusieurs fois par mois, chaque réparation prenant plusieurs heures. Cela n'apparaît sur aucune page de tarification des bases de données vectorielles. On s'en rend compte plus tard, lors de votre tour de garde.
HCL Informix fait l'impasse sur la majeure partie de cette liste. La recherche vectorielle est intégrée via HCL Informix VectorBlade ; les équipes chargées des applications n'ont donc pas besoin de déployer ni de gérer un service de base de données vectorielle distinct, avec son propre cycle de vie opérationnel. La synchronisation des données vectorielles avec vos données Informix peut être lancée par un appel de procédure stockée depuis la base de données elle-même, sans avoir à recourir à un pipeline de synchronisation distinct côté application.
Pourquoi la recherche vectorielle intégrée simplifie l'architecture
Avec VectorBlade, vous pouvez utiliser la recherche vectorielle en combinaison avec des attributs métier tels que le niveau de fidélité du client, la région ou d'autres métadonnées associées à la recherche vectorielle workflow:
« Trouvez des billets comme celui-ci, mais uniquement proposés par des clients Platinum de la région EMEA. »
Une base de données vectorielle gérée séparément oblige souvent les applications à copier et à synchroniser l'métadonnées s nécessaires au filtrage. Avec HCL Informix et VectorBlade, la recherche vectorielle est intégrée à l'workflow Informix aux côtés des données métier déjà gérées par vos applications, ce qui réduit le besoin d'une intégration supplémentaire côté application et d'une logique de synchronisation.
Commençons par une simple cas d'usage.
Grâce à la solution VectorBlade, nous allons créer un tableau de vecteurs géré par VectorBlade qui permettra de stocker des vecteurs et d'effectuer des recherches du « plus proche voisin » sur ceux-ci :
- Cette table vectorielle gérée par VectorBlade comporte trois colonnes des types suivants : bigint, embedding, lvarchar.
- La colonne « bigint » stocke des identifiants de vecteurs. Ceux-ci doivent être des nombres uniques.
- La colonne d'intégration peut stocker des vecteurs de n'importe quel nombre de dimensions, mais ce nombre doit être spécifié lors de la création de la table.
- La colonne « lvarchar » sert à stocker des métadonnées s textuelles. Ces métadonnées s peuvent être de nature très variée et peuvent s’avérer utiles pour le filtrage.
En supposant que votre clé OpenAI soit correctement configurée et que vous parveniez à exécuter la routine lvector_embed(), l'exemple suivant devrait vous intéresser :
Exemple :
-- Create a new traditional table
database examples;
create table ifx_sample_tab3 (
ident bigint,
embedding_data lvector_embedding,
text_data lvarchar,
metadata lvarchar,
primary key (ident)
);
-- Generate some real embeddings and insert them into our table
insert into ifx_sample_tab3 values (
1,
lvector_embed('This text is about squirrels'),
'This text is about squirrels',
'This metadata will not be used in this example'
);
insert into ifx_sample_tab3 values (
2,
lvector_embed('This text is about car racing'),
'This text is about car racing',
'This metadata will not be used in this example'
);
insert into ifx_sample_tab3 values (
3,
lvector_embed('This text is about architecture'),
'This text is about architecture',
'This metadata will not be used in this example'
);
insert into ifx_sample_tab3 values (
4,
lvector_embed('This text is about wrestling'),
'This text is about wrestling',
'This metadata will not be used in this example'
);
insert into ifx_sample_tab3 values (
5,
lvector_embed('This text is about sound'),
'This text is about sound',
'This metadata will not be used in this example'
);
Imaginons que nous souhaitions trouver le texte le plus pertinent par rapport à la question « Parlez-moi de la conception des bâtiments ». Nous commençons par créer un tableau de vecteurs géré par VectorBlade, que nous pourrons utiliser pour effectuer cette recherche. Dans cet exemple, les vecteurs comportent 1 536 dimensions, ce qui correspond au modèle d’intégration utilisé pour l’exemple :
EXECUTE PROCEDURE lvector_create_table('sample_tab3', 1536);
Nous allons maintenant synchroniser cette table vectorielle gérée par VectorBlade avec notre table classique :
EXECUTE PROCEDURE lvector_bulk_sync('ifx_sample_tab3', 'sample_tab3', 'ident', 'embedding_data');
Nous pouvons désormais effectuer une véritable recherche vectorielle :
Recherche 1 :
SELECT text_data FROM ifx_sample_tab3 WHERE ident IN (SELECT * FROM TABLE(lvector_id_search('sample_tab3', lvector_embed('Tell me about building design'), 1)));
Vous devriez constater que les résultats de cette recherche vectorielle sont les suivants :
text_data Ce texte porte sur l'architecture
Recherche 2 :
SELECT text_data FROM ifx_sample_tab3 WHERE ident IN (SELECT * FROM TABLE(lvector_id_search('sample_tab3', lvector_embed('Tell me about cute rodents'), 1)));
Résultats attendus :
text_data Ce texte parle des écureuils
Recherche n° 3 :
SELECT text_data FROM ifx_sample_tab3 WHERE ident IN (SELECT * FROM TABLE(lvector_id_search('sample_tab3', lvector_embed('Tell me about sports'), 2)));
Résultats attendus :
text_data Ce texte porte sur la course automobile
text_data Ce texte porte sur la lutte
L'équipe chargée de l'application n'a pas à déployer de service de base de données vectorielle distinct. Aucune « requête » supplémentaire n'est nécessaire côté application pour faire le lien entre deux systèmes gérés séparément. La recherche vectorielle reste intégrée à l'workflow d'Informix.
Comment vérifier que tout fonctionne bien
Avant de considérer que c'est terminé, vérifiez ces quatre points :
- Les résultats sont-ils cohérents ? Testez 20 vraies questions avec la fonction `lvector_search()` et vérifiez si les premières réponses semblent correctes à un utilisateur. Si moins de huit réponses sur dix semblent correctes, modifiez la configuration avant de la mettre en production.
- Le filtre fonctionne-t-il réellement ? Lancez l'requête e et vérifiez que chaque résultat correspond au filtre. S'il renvoie un résultat qui ne correspond pas au filtre, il s'agit d'un bug, et non d'un comportement inhabituel.
- Est-ce suffisamment rapide en conditions réelles ? Testez-le en effectuant plusieurs recherches simultanément, et pas seulement une seule. S'il est nettement plus lent que vos requêtes habituelles, il s'agit d'un problème de dimensionnement, et non d'une raison d'ajouter une deuxième base de données.
- Est-ce que cela respecte les règles d'accès aux contenus ? Assurez-vous qu'une personne qui ne peut normalement pas consulter une enregistrement ne puisse pas non plus la trouver via la recherche.
Si ces quatre points sont vérifiés, vous savez que ça fonctionne, et ce n’est pas seulement parce que la démo a marché.
Vous vous demandez peut-être encore : « Mais une base de données vectorielle dédiée n'est-elle pas préférable ? » Voici la réalité :
À une échelle gigantesque, de l'ordre de plusieurs milliards d'éléments, comme dans le cas d'une recherche publique sur Internet, une base de données vectorielle spécialement conçue à cet effet peut s'avérer plus rapide. C'est un fait, et pas seulement un argument marketing.
Mais la plupart des entreprises ne procèdent pas ainsi. Elles effectuent des recherches dans leurs propres données, qui comptent de dizaines de milliers à quelques millions d'enregistrements, et pour lesquelles la précision prime sur le gain de quelques millisecondes. Dans ce cas bien plus courant, se passer de ce système supplémentaire n’est pas un compromis. C’est plus simple, et il y a moins de points de défaillance potentiels.
Une base de données, cinq types de données
La recherche vectorielle est la dernière nouveauté, mais pas la première. HCL Informix gère depuis des années plusieurs types de données au sein d'une même plateforme :
| Type de données | À quoi ça sert ? |
| Relationnel | Transactions commerciales quotidiennes |
| JSON | Données flexibles, de type document |
| Séries chronologiques | Données issues des capteurs et de l'IoT |
| Spatial | Cartes et données de localisation |
| Vector | pilotée par l’IA recherche sémantique |
Les points clés à retenir
La plupart des fonctionnalités d'IA nécessitent d'effectuer des recherches dans les données dont vous disposez déjà, ce qui n'implique pas forcément de déployer et de gérer un service de base de données vectorielle distinct.
VectorBlade vous permet d'utiliser la recherche sémantique en parallèle des données métier existantes, tout en réduisant le recours à des copies de données distinctes au niveau des applications, aux pipelines de synchronisation et à la logique d'intégration.
Testez la base de données alimentée par l'IA comme vous le feriez pour n'importe quel autre outil : fournit-elle des réponses pertinentes, le filtre fonctionne-t-il correctement, est-elle suffisamment rapide et respecte-t-elle les règles d'accès ?
Vous n'avez pas besoin d'ajouter ni de gérer un autre service de base de données uniquement pour développer des fonctionnalités de recherche basées sur l'IA. Grâce à HCL Informix et VectorBlade, vous pouvez enrichir l'environnement de base de données que vous utilisez déjà en y intégrant des capacités de recherche vectorielle.
Intégrez l’IA aux données auxquelles vous faites déjà confiance — et non l’inverse. Optez pour HCL Informix® 15 avec VectorBlade et avantage pour bénéficier de la recherche vectorielle intégrée, des capacités d’ requête s sémantiques et de l’ support pour les workflows RAG, le tout au sein de l’environnement de base de données que vous utilisez déjà. HCL Informix 15
Informix est une marque déposée d'IBM Corporation dans au moins une juridiction et est utilisée sous licence.