00:02Salut, c'est Quentin
00:05Dans cette vidéo, je vais vous montrer comment créer un système de RAG sur n8n en utilisant Qdrant
00:07Qdrant, c'est une base de données vectorielle, ok? Ça va nous permettre, du coup, d'interagir avec cette base de données et, par exemple, stocker des data, tel que des PDF
00:14Alors, vous allez me dire oui, mais Quentin, il y a énormément d'applications qui permettent déjà de le faire
00:20Cependant, vous ne serez pas en capacité de connecter, bah, toutes ces applications qui permettent de faire exactement la même chose directement dans vos autres workflow, dans vos autres agents IA, de les customiser
00:29Et que ça soit scalable, parce qu'il faut savoir que n8n et Qdrant sont scalables
00:35Petit aparté, si tu as un projet à réaliser, je t'incite à prendre un rendez-vous avec moi directement dans la description
00:45Donc, la première étape, c'est d'installer n8n, qui est donc le logiciel d'automatisation qu'on va utiliser pour réaliser ce projet
00:51Ok, une fois que vous l'avez installé, sachant que vous pouvez l'installer aussi directement sur votre ordinateur via Docker, vous pouvez, sinon, utiliser la version Cloud classique, ou vous pouvez le mettre sur un Cloud tel que Digital Ocean pour payer moins cher
01:05Donc, une fois que vous l'avez téléchargé, vous aurez accès à votre dashboard, ok ? Vous pouvez créer un nouveau workflow
01:11Alors, moi effectivement, j'ai déjà créé le workflow que je vais vous présenter
01:14Donc, on va tester le workflow pour voir comment la data passe à l'intérieur
01:19Donc, j'appuie sur "test workflow", ok ? Vous voyez que la data passe sur le côté gauche
01:27Alors, qu'est-ce qui s'est passé exactement ? Donc, premièrement, on a un trigger, c'est-à-dire qu'on va lancer le workflow sur "when clicking test workflow button"
01:35Donc, à chaque fois qu'on va cliquer, ça va lancer le workflow, on pourrait très bien mettre Un autre trigger, que ça soit un chat, que ça soit un webhook, que ça soit un autre agent, et cetera
01:45Une fois que c'est fait, on va mettre un nœud qui s'appelle "set Google Drive file URL", donc on va récupérer une file
01:53Cette file, c'est effectivement le document qu'on aimerait télécharger directement dans notre base de données vectorielle pour pouvoir, par la suite, interagir avec elle
02:01Donc vous pouvez effectivement mettre une variable, ou vous pouvez mettre plusieurs files si vous voulez télécharger beaucoup de PDF différents
02:08Une fois que c'est fait, on va download, donc on va télécharger la file en question, ok
02:14Donc, la file en question, c'est, comme vous le voyez juste ici, Bitcoin: peer to peer electronic cash system
02:20Ok, une fois que c'est fait, on va créer un autre nœud qui va nous permettre d'extraire le PDF, extract from PDF
02:28Ok, ce qui va nous permettre de télécharger ce PDF et de le mettre dans notre base de données vectorielle Qdrant
02:35Donc, on va prendre à gauche le PDF et on va le mettre directement dans notre base de données
02:40Je vais vous montrer effectivement comment connecter vos CRMs, que ça soit Google Drive ou que ça soit Qdrant
02:45Ensuite, on va le connecter à un modèle, bah, IA, duming personnellement, je
02:51choisis open, je vais vous montrer comment chercher cet API spécifiquement, ok? Comme vous le voyez juste ici, j'ai choisi le texte basing 3 small, qui est donc le modèle qui va nous permettre de réaliser de l'UM basing
03:02Ensuite, on va le connecter à un nœud default data loader, ok? On va connecter quadrant, un default data loader et enfin un nœud qui s'appelle récursive caractère text splitter avec un chunk size 2 1000
03:18Voyons la partie credenti, c'est comment est-ce qu'on va récupérer les identifiants externes pour connecter à la fois Google Drive, quadrant et GPT? Donc pour Google Drive, comme vous voyez vous Vous pouvez cliquer sur le nœud, OK, et ensuite "credentials to connect with"
03:31Donc, vous pouvez connecter votre compte
03:33Alors, moi, j'ai déjà connecté mon compte, mais si vous n'avez pas encore connecté votre compte, ce que vous devez faire, c'est que vous devez aller dans Google Cloud, OK
03:43Ensuite, une fois que vous êtes dans Google Cloud, vous aurez accès, effectivement, à vos identifiants, à un écran de consentement, et on a trois choses à faire
03:51Premier élément, on doit aller dans notre écran de consentement, OK
03:54Si vous n'avez jamais réalisé l'opération, vous allez devoir remplir tous les éléments à l'intérieur de cet écran
04:01OK, vous devez remplir tous ces éléments, OK? Ensuite, vous allez dans Google Drive API et vous devez activer l'API de Google Drive, OK? Donc vous devez cliquer sur Google Drive API et l'activer
04:16Une fois que c'est fait, le dernier élément qu'on doit réaliser, bah, c'est de récupérer les "CR ch"
04:20Pour récupérer les "qu ch", on va dans "identifiant", OK? Donc vous allez dans "identifiant", vous créez des identifiants et après vous les connectez directement à l'intérieur de ce nœud
04:30Le reste est plutôt simple
04:32Donc ça, c'était pour la partie sur Google Drive
04:34Ensuite, la partie sur GPT editing, bon ben, c'est très simple, vous allez sur Google, vous tapez OpenAI, OpenAI, OK, et vous allez récupérer effectivement votre API
04:49Vous allez créer une API, vous allez la récupérer
04:53Donc si vous n'avez pas de compte OpenAI, il va falloir que vous en créez un
04:57Une fois que vous avez créé votre compte, vous allez dans "Your profile", OK
05:02Vous aurez accès à gauche aux API key
05:04Vous allez pouvoir créer une API
05:06Vous voyez, effectivement, moi j'ai créé plusieurs API
05:08Vous faites "Create a new secret key" et vous prenez cette clé, OK, que vous connectez aussi directement dans n8n
05:16Une fois que c'est fait, on va connecter Qdrant
05:18Donc, pour connecter Qdrant, il va falloir créer un compte
05:25Quadrant, alors pourquoi on va utiliser une base de données dites vecteur? C'est parce que dans le contexte de la, on a besoin de vectoriser nos données pour pouvoir aller les chercher plus rapidement et aller les insérer dans nos LLM
05:36Donc, comme vous voyez, high performance vector search at scale, ce qui est intéressant avec Quadrant, c'est que vous pouvez à la fois l'installer en local et vous pouvez aussi le mettre dans le Cloud
05:45Donc vous avez les deux possibilités, sachant que la partie dans le Cloud, si vous faites des petits projets, il n'y a même pas besoin de le payer une fois que vous êtes créé un compte sur
05:55Qdrant, on va créer un ce qu'on appelle un cluster
05:57Vous allez dans "create", OK, et ensuite vous allez tout simplement créer le cluster en question, OK, sauf que moi j'ai déjà créé un cluster, donc on va aller dans "details", OK
06:10Vous voyez l'endpoint de mon cluster, vous avez l'API key que vous avez donc connectée effectivement sur votre workflow n8n, OK, et vous avez aussi "Access database"
06:25Donc on va cliquer sur "Open dashboard" et quand vous allez cliquer dans ce dashboard, vous aurez accès aux configurations pour votre base de données
06:32Donc on va aller dans la console et dans la console, on va créer une base de
06:37données dans laquelle on va stocker nos PDF pour créer la base de données
06:39Il faut remplir ce petit code, "put collection"
06:44Là, vous mettez le nom de votre base de données
06:46Moi, je l'ai appelé "rag test" pour, effectivement, pour la vidéo
06:50Ensuite, vous avez "vecteur", la taille et la distance
06:53Bon, vous avez différents types de distance, vous avez "dot", vous avez "cosine", et en général, la size conseillée, c'est 1536
07:00Une fois que vous avez lancé ce code, ça va tout simplement créer la collection
07:05Qu'est-ce qu'on appelle une collection ? C'est là où vous allez pouvoir stocker vos données
07:08Je vais vous montrer lorsqu'on va dans collection, vous voyez que j'ai deux bases de données, j'ai une base de données qui s'appelle "M Journey" et celle qui s'appelle "R test"
07:17Je vous ai montré juste avant comment effectivement vous pouvez la créer
07:21Une fois que c'est fait, on peut cliquer dessus et vous avez accès à des données intéressantes
07:26Vous avez le contenu, ça c'est effectivement lorsque j'ai fait des tests précédents, qui met l'intérieur des documents que je lui ai donné, donc les documents sur le Bitcoin, ok
07:38Ensuite, vous avez aussi "info search quality", ce qui est intéressant, vous avez "visualize", ce qui est incroyable avec les bases de données vectorielles, c'est que vous avez aussi un aspect graphe, c'est-à-dire que vous pouvez visualiser où se trouvent les données
07:51Voyez la limite du nombre de données qu'on peut mettre et après vous voyez physiquement où se trouvent les différents points
07:59Donc, lorsque vous avez des données qui se ressemblent, par exemple, vous aurez deux images similaires, elles seront forcément à côté et si on va de l'autre côté, logiquement, ça ne se ressemble absolument pas, comme vous voyez ce point juste ici et ce point par exemple ici
08:14Par contre, si on met deux points juste à côté, par exemple celui-ci et celui-ci
08:15On voit que ça ressemble étrangement, donc c'est ce qui est vachement intéressant avec les bases de données vectorielles notamment
08:25Donc, une fois que vous avez connecté votre base de données à l'intérieur de n8n, comme je vous ai montré où était l'API, on va pouvoir discuter avec cette base de données, ok? Pour discuter avec cette base de données, on aura besoin d'un nœud, d'un chat, ok? Donc on va pouvoir discuter avec lui
08:40Donc, on va créer un nœud qui s'appelle chat, comme vous pouvez le voir juste ici en haut à droite, chat trigger, ok? Ensuite, on va mettre un nœud question and answer chain, on va mettre l'input du chat
08:50Qu'on a écrit juste avant, on a un modèle pour interpréter effectivement ce chat
08:56Donc moi, j'utilise Open AI, mais vous pouvez utiliser, bah, d'autres modèles
09:01Si vous voulez utiliser d'autres modèles, il n'y a absolument pas de souci de ce côté
09:05Ensuite, on va retrieve, donc RET, on va récupérer la data directement à l'intérieur de l'endroit où on a stocké effectivement, bah, la donnée, donc à nouveau dans Qdrant
09:13Donc on prend un nœud Vector Store Retriever, on met une limite, moi j'ai mis une limite de 4
09:20Ensuite, vous connectez Qdrant, ok, donc là j'ai dû choisir la collection que j'ai créé, RAG test, que je vous ai montré précédemment, et ensuite on va récupérer un modèle de Bing comme je vous ai montré, et qu'on va connecter directement au quadrant vector
09:35Ensuite, on va discuter effectivement avec le chat, donc par exemple, je peux lui dire "peux-tu me donner des précisions sur le mode de paiement relatif au Bitcoin?" Ok, il va récupérer le PDF qu'on lui a donné précédemment pour pouvoir discuter avec lui, comme vous le voyez juste en haut à droite
09:54Ok, il va me répondre "le Bitcoin est un système de paiement électronique de pair à pair qui permet des paiements directement d'une partie à une autre sans passer par une..." institution financière
10:02Donc, pour vérifier comment il a fonctionné, on peut aller dans "exécution" en haut à droite
10:06OK, et quand vous allez dans "exécution", vous pouvez voir le flow du workflow
10:15Donc, vous voyez bien que le dernier flow, ce qu'il a fait, c'est qu'il a pris le chat trigger, après il est allé dans question and answer chain, donc le Bitcoin est un système de paiement électronique, et cetera
10:24OK, il a récupéré dans Qdrant, donc on devrait voir effectivement "page content"
10:29Donc, voyez le contenu qu'il a récupéré, metadata source blop line, OK, qu'il a récupéré dans le PDF qu'on lui a fourni juste avant cette vidéo
10:42J'espère qu'elle vous a plu
10:42Si vous voulez effectivement que je vous présente d'autres workflows d'automatisation et d'autres agents, directement sur n8n ou utiliser d'autres technologies, je vous laisse vous abonner à ma chaîne, ça m'aide toujours grandement.