{"id":468,"date":"2023-11-24T11:58:35","date_gmt":"2023-11-24T10:58:35","guid":{"rendered":"https:\/\/ai.rebootconseil.com\/?p=468"},"modified":"2024-02-28T13:56:23","modified_gmt":"2024-02-28T12:56:23","slug":"tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt","status":"publish","type":"post","link":"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/","title":{"rendered":"Cr\u00e9er un assistant textuel qui utilise votre base de connaissance avec ChatGPT"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Quand on d\u00e9couvre ChatGPT, une des premi\u00e8res choses que les personnes font, moi y compris, est de lui poser des questions. Comme le mod\u00e8le est entrain\u00e9 sur des donn\u00e9es fixes, il r\u00e9pond souvent avec des r\u00e9ponses incompl\u00e8tes, qui ne prennent pas en compte l&rsquo;actualit\u00e9. Cependant, ses r\u00e9ponses sont souvent compl\u00e8tes et bien formul\u00e9es. Il pourrait r\u00e9pondre \u00e0 bien plus de questions, de mani\u00e8re plus pr\u00e9cise surtout si on lui fournit les connaissances n\u00e9cessaires pour y r\u00e9pondre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Et c&rsquo;est exactement ce que je souhaite vous partager aujourd&rsquo;hui, comment cr\u00e9er votre assistant textuel, qui utilise une base de connaissances existante, pour vous r\u00e9pondre.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Petit point sur la protection des donn\u00e9es<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pour ce petit tutoriel, je vais utiliser l&rsquo;API d&rsquo;OpenAI. OpenAI, actuellement n&rsquo;utilise pas les donn\u00e9es qu&rsquo;elle re\u00e7oit de leur API pour entrainer leur mod\u00e8le (<a href=\"https:\/\/help.openai.com\/en\/articles\/5722486-how-your-data-is-used-to-improve-model-performance\">voir cet article<\/a>). Mais, parce que les conditions d&rsquo;utilisation d&rsquo;un service peuvent changer, je vous d\u00e9conseille d&rsquo;envoyer des donn\u00e9es trop sensibles via l&rsquo;API d&rsquo;OpenAI, ou de n&rsquo;importe quel autre LLM qui n&rsquo;est pas h\u00e9berg\u00e9 chez vous.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ce point \u00e9tant \u00e9cart\u00e9, passons au d\u00e9but de ce tutoriel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"anchor-pourquoi-ce-besoin-d-aide-\">Comment s&rsquo;y prendre<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dans cet article, je veux vous montrer une mani\u00e8re simple et rapide pour faire cet assistant, et pour \u00e7a on va avoir besoin de 2 composants principaux : <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un m\u00e9canisme pour r\u00e9cup\u00e9rer les \u00e9l\u00e9ments de la base de connaissance<\/li>\n\n\n\n<li>L&rsquo;appel \u00e0 l&rsquo;API de ChatGPT avec les bons prompts<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">R\u00e9cup\u00e9rer les \u00e9l\u00e9ments de la base de connaissances<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pour ce projet, il vous faut un moyen de r\u00e9cup\u00e9rer les \u00e9l\u00e9ments de la base de connaissance sous un format texte. Le but de ce m\u00e9canisme est d&rsquo;\u00e0 partir de la phrase que l&rsquo;utilisateur va envoyer \u00e0 votre assistant, d\u00e9terminer quels \u00e9l\u00e9ments de votre base de connaissances peuvent y r\u00e9pondre, et les rassembler.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comme les mod\u00e8les de ChatGPT limite le nombre de tokens que vous pouvez envoyer, et donc le nombre de caract\u00e8res (1 token \u00e9quivaut \u00e0 1 syllabe environ), il faut ne r\u00e9cup\u00e9rer que que les \u00e9l\u00e9ments utiles pour r\u00e9pondre \u00e0 la requ\u00eate de l&rsquo;utilisateur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il vous faudra donc un service qui va chercher dans vos diverses sources de donn\u00e9es pour les informations. Vous pouvez par exemple avoir une base d&rsquo;indexation comme ElasticSearch, Apache Solr, Lucene, ou autre solution \u00e0 requ\u00eater pour r\u00e9cup\u00e9rer les informations. Vous pouvez aussi utiliser des services cloud comme Azure Cognitive Search ou AWS CloudSearch.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/ai.reboot-conseil.com\/wp-content\/uploads\/2023\/11\/azure.microsoft.png\" alt=\"\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/ai.reboot-conseil.com\/wp-content\/uploads\/2023\/11\/Capture-decran-2023-11-24-111916.png\" alt=\"\" style=\"width:226px;height:auto\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/ai.reboot-conseil.com\/wp-content\/uploads\/2023\/11\/AwsCloudSearch.png\" alt=\"\" style=\"width:102px;height:auto\"\/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"anchor-l-aide-des-valar\">Appel \u00e0 OpenAI<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Maintenant que vous avez r\u00e9cup\u00e9rer les donn\u00e9es, il faut les transmettre \u00e0 ChatGPT avec la demande de l&rsquo;utilisateur.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"anchor-utilisation-de-l-api-openai\">Utilisation de l&rsquo;API OpenAI<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">OpenAI, pour communiquer avec ChatGPT, fourni des <a href=\"https:\/\/platform.openai.com\/docs\/libraries\/libraries\">librairies en Python et JavaScript<\/a> . Il en existe dans d&rsquo;autres langages, d\u00e9velopp\u00e9s par la communaut\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette librairie est tr\u00e8s simple d&rsquo;utilisation, il suffit de l&rsquo;installer, d&rsquo;avoir une cl\u00e9 API qu&rsquo;on g\u00e9n\u00e8re depuis son compte OpenAI et on est parti.<br>Voici un exemple d&rsquo;int\u00e9gration en TypeScript: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>async getAnswer(question: string, postsContents: string&#91;]): Promise&lt;string&gt; \n{ \n  const posts = postsContents.join(\"\\n\"); \n  const response = await this.openAi.chat.completions.create({ \n    model: \"gpt-3.5-turbo-16k\", \n    messages: &#91;{\n      role: \"system\",\n      content: \"Tu vas recevoir un texte en markdown pr\u00e9c\u00e9d\u00e9 de   'Texte:'\"\n    }, {\n      role: \"system\",\n      content: \"Tu vas recevoir une question pr\u00e9c\u00e9d\u00e9e de 'Question:'\"\n    }, {\n      role: \"system\",\n      content: \"R\u00e9sume le texte que je vais te donner\"\n    }, {\n      role: \"system\",\n      content: \"Tu r\u00e9pondras \u00e0 la question en utilisant le texte que je t'ai donn\u00e9\"\n    }, {\n      role: \"system\",\n      content: \"Ta r\u00e9ponse n'incluera pas la question \u00e0 laquelle tu r\u00e9ponds\"\n    }, {\n      role: \"user\",\n      content: `Texte: ${posts}\\n\\nQuestion: ${question}`\n    }]\n  });\n  return response.choices&#91;0].message.content || '';\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Comme vous pouvez le voir, l&rsquo;API est tr\u00e8s simple d&rsquo;utilisation, la r\u00e9ponse renvoy\u00e9e par OpenAI est un peu complexe, mais la documentation permet de s&rsquo;y retrouver tr\u00e8s facilement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pouvez adapter les prompts syst\u00e8mes \u00e0 votre besoin pour formater la r\u00e9ponse de ChatGPT et varier les r\u00e9ponses. Vous pouvez m\u00eame laisser l&rsquo;utilisateur en ajouter. Dans cet exemple, qui est volontairement simple, j&rsquo;ai laiss\u00e9 certains param\u00e8tres par d\u00e9faut, comme le nombre de tokens en sortie, la temp\u00e9rature, etc&#8230; Je vous laisse fouiller <a href=\"https:\/\/platform.openai.com\/docs\/api-reference\/chat\/create\">la documentation du SDK d&rsquo;OpenAI<\/a> pour adapter votre assistant \u00e0 vos besoins.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"anchor-conclusion\">Conclusion et prochaines \u00e9tapes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Int\u00e9grer ChatGPT \u00e0 une application est tr\u00e8s simple gr\u00e2ce au SDK qui est simple d&rsquo;utilisation et surtout tr\u00e8s rapide \u00e0 int\u00e9grer pour un d\u00e9veloppeur confirm\u00e9. On a juste besoin d&rsquo;une cl\u00e9 API et on peut faire ce que l&rsquo;on souhaite. Les prix sont abordables, surtout si on continue \u00e0 utiliser GPT 3.5 qui reste tr\u00e8s performant et abordable \u00e0 $0.002 pour 1000 tokens (environ 300-400 mots). Vous pouvez aussi utiliser GPT 4, qui donne encore de meilleurs r\u00e9ponses, mais qui est 10 fois plus cher.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je vous invite \u00e0 vous renseigner sur <a href=\"https:\/\/openai.com\/pricing\">la tarification des mod\u00e8les<\/a>, si vous voulez plus de d\u00e9tails.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Am\u00e9liorations possibles<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pour aller plus loin, et vous donner des pistes pour continuer, il y a aussi possibilit\u00e9 d&rsquo;utiliser des <a href=\"https:\/\/platform.openai.com\/docs\/guides\/embeddings\/what-are-embeddings\">embeddings<\/a> qui permettent de simplifier la recherche dans vos documents en les transformant.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quand on d\u00e9couvre ChatGPT, une des premi\u00e8res choses que les personnes font, moi y compris, est de lui poser des questions. Comme le mod\u00e8le est entrain\u00e9 sur des donn\u00e9es fixes, il r\u00e9pond souvent avec des r\u00e9ponses incompl\u00e8tes, qui ne prennent pas en compte l&rsquo;actualit\u00e9. Cependant, ses r\u00e9ponses sont souvent compl\u00e8tes et bien formul\u00e9es. Il pourrait r\u00e9pondre \u00e0 bien plus de questions, de mani\u00e8re plus pr\u00e9cise surtout si on lui fournit les connaissances n\u00e9cessaires pour y r\u00e9pondre. Et c&rsquo;est exactement ce que je souhaite vous partager aujourd&rsquo;hui, comment cr\u00e9er votre assistant textuel, qui utilise une base de connaissances existante, pour vous r\u00e9pondre. Petit point sur la protection des donn\u00e9es Pour ce petit tutoriel, je vais utiliser l&rsquo;API d&rsquo;OpenAI. OpenAI, actuellement n&rsquo;utilise pas les donn\u00e9es qu&rsquo;elle re\u00e7oit de leur API pour entrainer leur mod\u00e8le (voir cet article). Mais, parce que les conditions d&rsquo;utilisation d&rsquo;un service peuvent changer, je vous d\u00e9conseille d&rsquo;envoyer des donn\u00e9es trop sensibles via l&rsquo;API d&rsquo;OpenAI, ou de n&rsquo;importe quel autre LLM qui n&rsquo;est pas h\u00e9berg\u00e9 chez vous. Ce point \u00e9tant \u00e9cart\u00e9, passons au d\u00e9but de ce tutoriel. Comment s&rsquo;y prendre Dans cet article, je veux vous montrer une mani\u00e8re simple et rapide pour faire cet assistant, et pour \u00e7a on va avoir besoin de 2 composants principaux : R\u00e9cup\u00e9rer les \u00e9l\u00e9ments de la base de connaissances Pour ce projet, il vous faut un moyen de r\u00e9cup\u00e9rer les \u00e9l\u00e9ments de la base de connaissance sous un format texte. Le but de ce m\u00e9canisme est d&rsquo;\u00e0 partir de la phrase que l&rsquo;utilisateur va envoyer \u00e0 votre assistant, d\u00e9terminer quels \u00e9l\u00e9ments de votre base de connaissances peuvent y r\u00e9pondre, et les rassembler. Comme les mod\u00e8les de ChatGPT limite le nombre de tokens que vous pouvez envoyer, et donc le nombre de caract\u00e8res (1 token \u00e9quivaut \u00e0 1 syllabe environ), il faut ne r\u00e9cup\u00e9rer que que les \u00e9l\u00e9ments utiles pour r\u00e9pondre \u00e0 la requ\u00eate de l&rsquo;utilisateur. Il vous faudra donc un service qui va chercher dans vos diverses sources de donn\u00e9es pour les informations. Vous pouvez par exemple avoir une base d&rsquo;indexation comme ElasticSearch, Apache Solr, Lucene, ou autre solution \u00e0 requ\u00eater pour r\u00e9cup\u00e9rer les informations. Vous pouvez aussi utiliser des services cloud comme Azure Cognitive Search ou AWS CloudSearch. Appel \u00e0 OpenAI Maintenant que vous avez r\u00e9cup\u00e9rer les donn\u00e9es, il faut les transmettre \u00e0 ChatGPT avec la demande de l&rsquo;utilisateur. Utilisation de l&rsquo;API OpenAI OpenAI, pour communiquer avec ChatGPT, fourni des librairies en Python et JavaScript . Il en existe dans d&rsquo;autres langages, d\u00e9velopp\u00e9s par la communaut\u00e9. Cette librairie est tr\u00e8s simple d&rsquo;utilisation, il suffit de l&rsquo;installer, d&rsquo;avoir une cl\u00e9 API qu&rsquo;on g\u00e9n\u00e8re depuis son compte OpenAI et on est parti.Voici un exemple d&rsquo;int\u00e9gration en TypeScript: Comme vous pouvez le voir, l&rsquo;API est tr\u00e8s simple d&rsquo;utilisation, la r\u00e9ponse renvoy\u00e9e par OpenAI est un peu complexe, mais la documentation permet de s&rsquo;y retrouver tr\u00e8s facilement. Vous pouvez adapter les prompts syst\u00e8mes \u00e0 votre besoin pour formater la r\u00e9ponse de ChatGPT et varier les r\u00e9ponses. Vous pouvez m\u00eame laisser l&rsquo;utilisateur en ajouter. Dans cet exemple, qui est volontairement simple, j&rsquo;ai laiss\u00e9 certains param\u00e8tres par d\u00e9faut, comme le nombre de tokens en sortie, la temp\u00e9rature, etc&#8230; Je vous laisse fouiller la documentation du SDK d&rsquo;OpenAI pour adapter votre assistant \u00e0 vos besoins. Conclusion et prochaines \u00e9tapes Int\u00e9grer ChatGPT \u00e0 une application est tr\u00e8s simple gr\u00e2ce au SDK qui est simple d&rsquo;utilisation et surtout tr\u00e8s rapide \u00e0 int\u00e9grer pour un d\u00e9veloppeur confirm\u00e9. On a juste besoin d&rsquo;une cl\u00e9 API et on peut faire ce que l&rsquo;on souhaite. Les prix sont abordables, surtout si on continue \u00e0 utiliser GPT 3.5 qui reste tr\u00e8s performant et abordable \u00e0 $0.002 pour 1000 tokens (environ 300-400 mots). Vous pouvez aussi utiliser GPT 4, qui donne encore de meilleurs r\u00e9ponses, mais qui est 10 fois plus cher. Je vous invite \u00e0 vous renseigner sur la tarification des mod\u00e8les, si vous voulez plus de d\u00e9tails. Am\u00e9liorations possibles Pour aller plus loin, et vous donner des pistes pour continuer, il y a aussi possibilit\u00e9 d&rsquo;utiliser des embeddings qui permettent de simplifier la recherche dans vos documents en les transformant.<\/p>\n","protected":false},"author":4,"featured_media":473,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,40],"tags":[43,42,44,45],"class_list":["post-468","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-llm","category-tutoriels","tag-assistant","tag-chat-gpt","tag-connaissance","tag-nodejs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cr\u00e9er un assistant textuel qui utilise votre base de connaissance avec ChatGPT -<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cr\u00e9er un assistant textuel qui utilise votre base de connaissance avec ChatGPT -\" \/>\n<meta property=\"og:description\" content=\"Quand on d\u00e9couvre ChatGPT, une des premi\u00e8res choses que les personnes font, moi y compris, est de lui poser des questions. Comme le mod\u00e8le est entrain\u00e9 sur des donn\u00e9es fixes, il r\u00e9pond souvent avec des r\u00e9ponses incompl\u00e8tes, qui ne prennent pas en compte l&rsquo;actualit\u00e9. Cependant, ses r\u00e9ponses sont souvent compl\u00e8tes et bien formul\u00e9es. Il pourrait r\u00e9pondre \u00e0 bien plus de questions, de mani\u00e8re plus pr\u00e9cise surtout si on lui fournit les connaissances n\u00e9cessaires pour y r\u00e9pondre. Et c&rsquo;est exactement ce que je souhaite vous partager aujourd&rsquo;hui, comment cr\u00e9er votre assistant textuel, qui utilise une base de connaissances existante, pour vous r\u00e9pondre. Petit point sur la protection des donn\u00e9es Pour ce petit tutoriel, je vais utiliser l&rsquo;API d&rsquo;OpenAI. OpenAI, actuellement n&rsquo;utilise pas les donn\u00e9es qu&rsquo;elle re\u00e7oit de leur API pour entrainer leur mod\u00e8le (voir cet article). Mais, parce que les conditions d&rsquo;utilisation d&rsquo;un service peuvent changer, je vous d\u00e9conseille d&rsquo;envoyer des donn\u00e9es trop sensibles via l&rsquo;API d&rsquo;OpenAI, ou de n&rsquo;importe quel autre LLM qui n&rsquo;est pas h\u00e9berg\u00e9 chez vous. Ce point \u00e9tant \u00e9cart\u00e9, passons au d\u00e9but de ce tutoriel. Comment s&rsquo;y prendre Dans cet article, je veux vous montrer une mani\u00e8re simple et rapide pour faire cet assistant, et pour \u00e7a on va avoir besoin de 2 composants principaux : R\u00e9cup\u00e9rer les \u00e9l\u00e9ments de la base de connaissances Pour ce projet, il vous faut un moyen de r\u00e9cup\u00e9rer les \u00e9l\u00e9ments de la base de connaissance sous un format texte. Le but de ce m\u00e9canisme est d&rsquo;\u00e0 partir de la phrase que l&rsquo;utilisateur va envoyer \u00e0 votre assistant, d\u00e9terminer quels \u00e9l\u00e9ments de votre base de connaissances peuvent y r\u00e9pondre, et les rassembler. Comme les mod\u00e8les de ChatGPT limite le nombre de tokens que vous pouvez envoyer, et donc le nombre de caract\u00e8res (1 token \u00e9quivaut \u00e0 1 syllabe environ), il faut ne r\u00e9cup\u00e9rer que que les \u00e9l\u00e9ments utiles pour r\u00e9pondre \u00e0 la requ\u00eate de l&rsquo;utilisateur. Il vous faudra donc un service qui va chercher dans vos diverses sources de donn\u00e9es pour les informations. Vous pouvez par exemple avoir une base d&rsquo;indexation comme ElasticSearch, Apache Solr, Lucene, ou autre solution \u00e0 requ\u00eater pour r\u00e9cup\u00e9rer les informations. Vous pouvez aussi utiliser des services cloud comme Azure Cognitive Search ou AWS CloudSearch. Appel \u00e0 OpenAI Maintenant que vous avez r\u00e9cup\u00e9rer les donn\u00e9es, il faut les transmettre \u00e0 ChatGPT avec la demande de l&rsquo;utilisateur. Utilisation de l&rsquo;API OpenAI OpenAI, pour communiquer avec ChatGPT, fourni des librairies en Python et JavaScript . Il en existe dans d&rsquo;autres langages, d\u00e9velopp\u00e9s par la communaut\u00e9. Cette librairie est tr\u00e8s simple d&rsquo;utilisation, il suffit de l&rsquo;installer, d&rsquo;avoir une cl\u00e9 API qu&rsquo;on g\u00e9n\u00e8re depuis son compte OpenAI et on est parti.Voici un exemple d&rsquo;int\u00e9gration en TypeScript: Comme vous pouvez le voir, l&rsquo;API est tr\u00e8s simple d&rsquo;utilisation, la r\u00e9ponse renvoy\u00e9e par OpenAI est un peu complexe, mais la documentation permet de s&rsquo;y retrouver tr\u00e8s facilement. Vous pouvez adapter les prompts syst\u00e8mes \u00e0 votre besoin pour formater la r\u00e9ponse de ChatGPT et varier les r\u00e9ponses. Vous pouvez m\u00eame laisser l&rsquo;utilisateur en ajouter. Dans cet exemple, qui est volontairement simple, j&rsquo;ai laiss\u00e9 certains param\u00e8tres par d\u00e9faut, comme le nombre de tokens en sortie, la temp\u00e9rature, etc&#8230; Je vous laisse fouiller la documentation du SDK d&rsquo;OpenAI pour adapter votre assistant \u00e0 vos besoins. Conclusion et prochaines \u00e9tapes Int\u00e9grer ChatGPT \u00e0 une application est tr\u00e8s simple gr\u00e2ce au SDK qui est simple d&rsquo;utilisation et surtout tr\u00e8s rapide \u00e0 int\u00e9grer pour un d\u00e9veloppeur confirm\u00e9. On a juste besoin d&rsquo;une cl\u00e9 API et on peut faire ce que l&rsquo;on souhaite. Les prix sont abordables, surtout si on continue \u00e0 utiliser GPT 3.5 qui reste tr\u00e8s performant et abordable \u00e0 $0.002 pour 1000 tokens (environ 300-400 mots). Vous pouvez aussi utiliser GPT 4, qui donne encore de meilleurs r\u00e9ponses, mais qui est 10 fois plus cher. Je vous invite \u00e0 vous renseigner sur la tarification des mod\u00e8les, si vous voulez plus de d\u00e9tails. Am\u00e9liorations possibles Pour aller plus loin, et vous donner des pistes pour continuer, il y a aussi possibilit\u00e9 d&rsquo;utiliser des embeddings qui permettent de simplifier la recherche dans vos documents en les transformant.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-24T10:58:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-28T12:56:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/11\/1af8b0df-21d8-4b3e-b811-e66693f98b77.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Yohann Jolain\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yohann Jolain\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/\"},\"author\":{\"name\":\"Yohann Jolain\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/bacb74c31f0df7384807193ebe0a205d\"},\"headline\":\"Cr\u00e9er un assistant textuel qui utilise votre base de connaissance avec ChatGPT\",\"datePublished\":\"2023-11-24T10:58:35+00:00\",\"dateModified\":\"2024-02-28T12:56:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/\"},\"wordCount\":805,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/11\/1af8b0df-21d8-4b3e-b811-e66693f98b77.png\",\"keywords\":[\"assistant\",\"chat-gpt\",\"connaissance\",\"nodeJS\"],\"articleSection\":[\"LLM\",\"Tutoriels\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/\",\"url\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/\",\"name\":\"Cr\u00e9er un assistant textuel qui utilise votre base de connaissance avec ChatGPT -\",\"isPartOf\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/11\/1af8b0df-21d8-4b3e-b811-e66693f98b77.png\",\"datePublished\":\"2023-11-24T10:58:35+00:00\",\"dateModified\":\"2024-02-28T12:56:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#primaryimage\",\"url\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/11\/1af8b0df-21d8-4b3e-b811-e66693f98b77.png\",\"contentUrl\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/11\/1af8b0df-21d8-4b3e-b811-e66693f98b77.png\",\"width\":1024,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/beta.reboot-conseil.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cr\u00e9er un assistant textuel qui utilise votre base de connaissance avec ChatGPT\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#website\",\"url\":\"https:\/\/beta.reboot-conseil.com\/\",\"name\":\"AI Squad\",\"description\":\"Dans le doute, Reboot\",\"publisher\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/beta.reboot-conseil.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#organization\",\"name\":\"AI Squad By Reboot Conseil\",\"url\":\"https:\/\/beta.reboot-conseil.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/09\/cropped-cropped-Logo-IA-Squad-by-Reboot-Conseil-3.png\",\"contentUrl\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/09\/cropped-cropped-Logo-IA-Squad-by-Reboot-Conseil-3.png\",\"width\":500,\"height\":218,\"caption\":\"AI Squad By Reboot Conseil\"},\"image\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/bacb74c31f0df7384807193ebe0a205d\",\"name\":\"Yohann Jolain\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/771bceb60c3835e74bae64ff0a958295632caea61088783f3e9a9e648705c500?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/771bceb60c3835e74bae64ff0a958295632caea61088783f3e9a9e648705c500?s=96&d=mm&r=g\",\"caption\":\"Yohann Jolain\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cr\u00e9er un assistant textuel qui utilise votre base de connaissance avec ChatGPT -","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/","og_locale":"fr_FR","og_type":"article","og_title":"Cr\u00e9er un assistant textuel qui utilise votre base de connaissance avec ChatGPT -","og_description":"Quand on d\u00e9couvre ChatGPT, une des premi\u00e8res choses que les personnes font, moi y compris, est de lui poser des questions. Comme le mod\u00e8le est entrain\u00e9 sur des donn\u00e9es fixes, il r\u00e9pond souvent avec des r\u00e9ponses incompl\u00e8tes, qui ne prennent pas en compte l&rsquo;actualit\u00e9. Cependant, ses r\u00e9ponses sont souvent compl\u00e8tes et bien formul\u00e9es. Il pourrait r\u00e9pondre \u00e0 bien plus de questions, de mani\u00e8re plus pr\u00e9cise surtout si on lui fournit les connaissances n\u00e9cessaires pour y r\u00e9pondre. Et c&rsquo;est exactement ce que je souhaite vous partager aujourd&rsquo;hui, comment cr\u00e9er votre assistant textuel, qui utilise une base de connaissances existante, pour vous r\u00e9pondre. Petit point sur la protection des donn\u00e9es Pour ce petit tutoriel, je vais utiliser l&rsquo;API d&rsquo;OpenAI. OpenAI, actuellement n&rsquo;utilise pas les donn\u00e9es qu&rsquo;elle re\u00e7oit de leur API pour entrainer leur mod\u00e8le (voir cet article). Mais, parce que les conditions d&rsquo;utilisation d&rsquo;un service peuvent changer, je vous d\u00e9conseille d&rsquo;envoyer des donn\u00e9es trop sensibles via l&rsquo;API d&rsquo;OpenAI, ou de n&rsquo;importe quel autre LLM qui n&rsquo;est pas h\u00e9berg\u00e9 chez vous. Ce point \u00e9tant \u00e9cart\u00e9, passons au d\u00e9but de ce tutoriel. Comment s&rsquo;y prendre Dans cet article, je veux vous montrer une mani\u00e8re simple et rapide pour faire cet assistant, et pour \u00e7a on va avoir besoin de 2 composants principaux : R\u00e9cup\u00e9rer les \u00e9l\u00e9ments de la base de connaissances Pour ce projet, il vous faut un moyen de r\u00e9cup\u00e9rer les \u00e9l\u00e9ments de la base de connaissance sous un format texte. Le but de ce m\u00e9canisme est d&rsquo;\u00e0 partir de la phrase que l&rsquo;utilisateur va envoyer \u00e0 votre assistant, d\u00e9terminer quels \u00e9l\u00e9ments de votre base de connaissances peuvent y r\u00e9pondre, et les rassembler. Comme les mod\u00e8les de ChatGPT limite le nombre de tokens que vous pouvez envoyer, et donc le nombre de caract\u00e8res (1 token \u00e9quivaut \u00e0 1 syllabe environ), il faut ne r\u00e9cup\u00e9rer que que les \u00e9l\u00e9ments utiles pour r\u00e9pondre \u00e0 la requ\u00eate de l&rsquo;utilisateur. Il vous faudra donc un service qui va chercher dans vos diverses sources de donn\u00e9es pour les informations. Vous pouvez par exemple avoir une base d&rsquo;indexation comme ElasticSearch, Apache Solr, Lucene, ou autre solution \u00e0 requ\u00eater pour r\u00e9cup\u00e9rer les informations. Vous pouvez aussi utiliser des services cloud comme Azure Cognitive Search ou AWS CloudSearch. Appel \u00e0 OpenAI Maintenant que vous avez r\u00e9cup\u00e9rer les donn\u00e9es, il faut les transmettre \u00e0 ChatGPT avec la demande de l&rsquo;utilisateur. Utilisation de l&rsquo;API OpenAI OpenAI, pour communiquer avec ChatGPT, fourni des librairies en Python et JavaScript . Il en existe dans d&rsquo;autres langages, d\u00e9velopp\u00e9s par la communaut\u00e9. Cette librairie est tr\u00e8s simple d&rsquo;utilisation, il suffit de l&rsquo;installer, d&rsquo;avoir une cl\u00e9 API qu&rsquo;on g\u00e9n\u00e8re depuis son compte OpenAI et on est parti.Voici un exemple d&rsquo;int\u00e9gration en TypeScript: Comme vous pouvez le voir, l&rsquo;API est tr\u00e8s simple d&rsquo;utilisation, la r\u00e9ponse renvoy\u00e9e par OpenAI est un peu complexe, mais la documentation permet de s&rsquo;y retrouver tr\u00e8s facilement. Vous pouvez adapter les prompts syst\u00e8mes \u00e0 votre besoin pour formater la r\u00e9ponse de ChatGPT et varier les r\u00e9ponses. Vous pouvez m\u00eame laisser l&rsquo;utilisateur en ajouter. Dans cet exemple, qui est volontairement simple, j&rsquo;ai laiss\u00e9 certains param\u00e8tres par d\u00e9faut, comme le nombre de tokens en sortie, la temp\u00e9rature, etc&#8230; Je vous laisse fouiller la documentation du SDK d&rsquo;OpenAI pour adapter votre assistant \u00e0 vos besoins. Conclusion et prochaines \u00e9tapes Int\u00e9grer ChatGPT \u00e0 une application est tr\u00e8s simple gr\u00e2ce au SDK qui est simple d&rsquo;utilisation et surtout tr\u00e8s rapide \u00e0 int\u00e9grer pour un d\u00e9veloppeur confirm\u00e9. On a juste besoin d&rsquo;une cl\u00e9 API et on peut faire ce que l&rsquo;on souhaite. Les prix sont abordables, surtout si on continue \u00e0 utiliser GPT 3.5 qui reste tr\u00e8s performant et abordable \u00e0 $0.002 pour 1000 tokens (environ 300-400 mots). Vous pouvez aussi utiliser GPT 4, qui donne encore de meilleurs r\u00e9ponses, mais qui est 10 fois plus cher. Je vous invite \u00e0 vous renseigner sur la tarification des mod\u00e8les, si vous voulez plus de d\u00e9tails. Am\u00e9liorations possibles Pour aller plus loin, et vous donner des pistes pour continuer, il y a aussi possibilit\u00e9 d&rsquo;utiliser des embeddings qui permettent de simplifier la recherche dans vos documents en les transformant.","og_url":"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/","article_published_time":"2023-11-24T10:58:35+00:00","article_modified_time":"2024-02-28T12:56:23+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/11\/1af8b0df-21d8-4b3e-b811-e66693f98b77.png","type":"image\/png"}],"author":"Yohann Jolain","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Yohann Jolain","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#article","isPartOf":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/"},"author":{"name":"Yohann Jolain","@id":"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/bacb74c31f0df7384807193ebe0a205d"},"headline":"Cr\u00e9er un assistant textuel qui utilise votre base de connaissance avec ChatGPT","datePublished":"2023-11-24T10:58:35+00:00","dateModified":"2024-02-28T12:56:23+00:00","mainEntityOfPage":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/"},"wordCount":805,"commentCount":0,"publisher":{"@id":"https:\/\/beta.reboot-conseil.com\/#organization"},"image":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#primaryimage"},"thumbnailUrl":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/11\/1af8b0df-21d8-4b3e-b811-e66693f98b77.png","keywords":["assistant","chat-gpt","connaissance","nodeJS"],"articleSection":["LLM","Tutoriels"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/","url":"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/","name":"Cr\u00e9er un assistant textuel qui utilise votre base de connaissance avec ChatGPT -","isPartOf":{"@id":"https:\/\/beta.reboot-conseil.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#primaryimage"},"image":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#primaryimage"},"thumbnailUrl":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/11\/1af8b0df-21d8-4b3e-b811-e66693f98b77.png","datePublished":"2023-11-24T10:58:35+00:00","dateModified":"2024-02-28T12:56:23+00:00","breadcrumb":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#primaryimage","url":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/11\/1af8b0df-21d8-4b3e-b811-e66693f98b77.png","contentUrl":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/11\/1af8b0df-21d8-4b3e-b811-e66693f98b77.png","width":1024,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2023\/11\/24\/tutoriel-creer-un-assistant-textuel-qui-utilise-votre-base-de-connaissance-avec-chatgpt\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/beta.reboot-conseil.com\/"},{"@type":"ListItem","position":2,"name":"Cr\u00e9er un assistant textuel qui utilise votre base de connaissance avec ChatGPT"}]},{"@type":"WebSite","@id":"https:\/\/beta.reboot-conseil.com\/#website","url":"https:\/\/beta.reboot-conseil.com\/","name":"AI Squad","description":"Dans le doute, Reboot","publisher":{"@id":"https:\/\/beta.reboot-conseil.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/beta.reboot-conseil.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/beta.reboot-conseil.com\/#organization","name":"AI Squad By Reboot Conseil","url":"https:\/\/beta.reboot-conseil.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/beta.reboot-conseil.com\/#\/schema\/logo\/image\/","url":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/09\/cropped-cropped-Logo-IA-Squad-by-Reboot-Conseil-3.png","contentUrl":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/09\/cropped-cropped-Logo-IA-Squad-by-Reboot-Conseil-3.png","width":500,"height":218,"caption":"AI Squad By Reboot Conseil"},"image":{"@id":"https:\/\/beta.reboot-conseil.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/bacb74c31f0df7384807193ebe0a205d","name":"Yohann Jolain","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/771bceb60c3835e74bae64ff0a958295632caea61088783f3e9a9e648705c500?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/771bceb60c3835e74bae64ff0a958295632caea61088783f3e9a9e648705c500?s=96&d=mm&r=g","caption":"Yohann Jolain"}}]}},"_links":{"self":[{"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/posts\/468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/comments?post=468"}],"version-history":[{"count":5,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/posts\/468\/revisions"}],"predecessor-version":[{"id":835,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/posts\/468\/revisions\/835"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/media\/473"}],"wp:attachment":[{"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/media?parent=468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/categories?post=468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/tags?post=468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}