{"id":31270,"date":"2026-08-05T11:31:59","date_gmt":"2026-08-05T09:31:59","guid":{"rendered":"https:\/\/botnation.ai\/chatbot-rag\/"},"modified":"2026-08-05T11:48:12","modified_gmt":"2026-08-05T09:48:12","slug":"chatbot-rag","status":"publish","type":"post","link":"https:\/\/botnation.ai\/fr\/chatbot-rag\/","title":{"rendered":"Chatbot RAG : comment \u00e7a marche, ce que \u00e7a co\u00fbte et o\u00f9 \u00e7a casse (2026)"},"content":{"rendered":"<p><script>(function(){var s=document.createElement(\"style\");s.appendChild(document.createTextNode(\".bn-art{ --bn-cream:#faf8f2; --bn-card:#faf6ea; --bn-sand:#ebe3cb; --bn-sand-2:#f3ecd9; --bn-sand-zebra:#f6f0df; --bn-coral:#fe716b; --bn-coral-soft:#fdeeed; --bn-coral-line:#f6c9c6; --bn-coral-txt:#bd3a34; --bn-blue:#3358f0; --bn-blue-soft:#eef1fe; --bn-blue-line:#c9d4fb; --bn-green:#427632; --bn-green-soft:#eef6ea; --bn-ink:#3d351f; --bn-text:#414b56; --bn-muted:#6d6653; --bn-border:#e6dcc2; --bn-r:16px; --bn-r-sm:11px; --bn-sp:22px; --bn-sh:0 1px 2px rgba(61,53,31,.05),0 10px 26px rgba(61,53,31,.07); --bn-sh-sm:0 1px 2px rgba(61,53,31,.05),0 4px 12px rgba(61,53,31,.05); --bn-mono:'IBM Plex Mono','SFMono-Regular',ui-monospace,'Courier New',monospace; color:var(--bn-text); font-size:18px; line-height:1.75; max-width:820px; margin:0 auto; } .bn-art *{box-sizing:border-box} .bn-art p{margin:0 0 1.15em; color:var(--bn-text)} .bn-art h2{ color:var(--bn-ink); font-weight:700; line-height:1.25; font-size:1.72em; margin:2.2em 0 .7em; letter-spacing:-.01em; } .bn-art h3{color:var(--bn-ink); font-weight:700; font-size:1.22em; margin:1.8em 0 .5em} .bn-art a{color:#3f5cd6; text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px} .bn-art a:hover{color:var(--bn-coral)} .bn-art strong{color:var(--bn-ink); font-weight:700} .bn-art ul,.bn-art ol{margin:0 0 1.3em; padding-left:1.25em} .bn-art li{margin:.4em 0} .bn-art ul li::marker{color:var(--bn-coral)} .bn-art ol li::marker{color:var(--bn-blue); font-weight:700} .bn-klabel{ display:inline-flex; align-items:center; gap:7px; font-family:var(--bn-mono); font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.12em; color:var(--bn-coral); margin:0 0 .2em; } .bn-klabel svg{width:15px;height:15px;flex:none} .bn-tldr{ background:var(--bn-card); border:1px solid var(--bn-border); border-left:4px solid var(--bn-coral); border-radius:var(--bn-r); padding:20px 24px; margin:0 0 30px; box-shadow:var(--bn-sh-sm); } .bn-tldr p{margin:0; color:var(--bn-text)} .bn-tldr p+p{margin-top:.6em} .bn-toc{ background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r); padding:18px 22px; margin:0 0 34px; } .bn-toc .bn-klabel{color:var(--bn-coral)} .bn-toc ol{margin:.4em 0 0; padding-left:1.2em; columns:2; column-gap:28px} .bn-toc li{margin:.25em 0; break-inside:avoid} .bn-toc a{color:var(--bn-ink); text-decoration:none; font-weight:600; font-size:.96em} .bn-toc a:hover{color:var(--bn-coral); text-decoration:underline} .bn-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:28px 0} .bn-stat{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:20px 18px; text-align:center; box-shadow:var(--bn-sh-sm); } .bn-stat b{display:block; font-size:2em; line-height:1.1; color:var(--bn-coral); font-weight:800; letter-spacing:-.02em} .bn-stat span{display:block; margin-top:6px; font-size:.86em; color:var(--bn-muted); line-height:1.45} .bn-stat:nth-child(2) b{color:var(--bn-blue)} .bn-stat:nth-child(3) b{color:var(--bn-ink)} .bn-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0} .bn-card{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px; box-shadow:var(--bn-sh-sm); } .bn-card h4{margin:.1em 0 .35em; color:var(--bn-ink); font-size:1.06em; font-weight:700; display:flex; gap:9px; align-items:center} .bn-card h4 svg{width:20px;height:20px;flex:none;color:var(--bn-coral)} .bn-card p{margin:0; font-size:.96em} .bn-ex{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:20px 0; box-shadow:var(--bn-sh); position:relative; } .bn-ex-h{display:flex; align-items:center; gap:13px; margin-bottom:14px} .bn-ex-n{ flex:none; width:38px; height:38px; border-radius:11px; background:var(--bn-coral-soft); color:var(--bn-coral); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.1em; font-family:var(--bn-mono); } .bn-ex-h h3{margin:0; font-size:1.18em} .bn-ex-tag{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--bn-muted); display:block; margin-top:2px} .bn-ex p{margin:.2em 0 .9em} .bn-ex .bn-ba{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px} .bn-ba div{border-radius:var(--bn-r-sm); padding:13px 15px; font-size:.9em; line-height:1.5} .bn-ba .biz{background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line)} .bn-ba .cli{background:var(--bn-green-soft); border:1px solid #cfe6c4} .bn-ba b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px; color:var(--bn-muted)} .bn-tablewrap{overflow-x:auto; margin:26px 0; border-radius:var(--bn-r); border:1px solid var(--bn-border); box-shadow:var(--bn-sh-sm)} .bn-art table{width:100%; border-collapse:collapse; background:var(--bn-card); font-size:.94em; min-width:520px} .bn-art thead th{background:var(--bn-ink); color:#fbf7ec; text-align:left; font-weight:700; padding:13px 16px; font-size:16px} .bn-art tbody td{padding:12px 16px; border-top:1px solid var(--bn-border); color:var(--bn-text); vertical-align:top; font-size:16px} .bn-art tbody tr:nth-child(even){background:var(--bn-sand-zebra)} .bn-art tbody td:first-child{font-weight:700; color:var(--bn-ink)} .bn-cols{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0} .bn-col{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px; box-shadow:var(--bn-sh-sm)} .bn-col h4{margin:0 0 12px; font-size:1.05em; color:var(--bn-ink); display:flex; align-items:center; gap:9px} .bn-col h4 svg{width:20px;height:20px;flex:none} .bn-col.biz h4 svg{color:var(--bn-blue)} .bn-col.cli h4 svg{color:var(--bn-green)} .bn-col.warn h4 svg{color:var(--bn-coral)} .bn-col ul{margin:0; padding:0; list-style:none} .bn-col li{position:relative; padding-left:26px; margin:.55em 0; font-size:.96em} .bn-col li::before{content:\\\"\\\"; position:absolute; left:0; top:.5em; width:13px; height:13px; border-radius:50%; background:var(--bn-coral-soft); border:2px solid var(--bn-coral)} .bn-col.biz li::before{background:var(--bn-blue-soft); border-color:var(--bn-blue)} .bn-col.cli li::before{background:var(--bn-green-soft); border-color:var(--bn-green)} .bn-call{ display:flex; gap:14px; border-radius:var(--bn-r); padding:18px 20px; margin:24px 0; background:var(--bn-card); border:1px solid var(--bn-border); box-shadow:var(--bn-sh-sm); } .bn-call svg{width:22px; height:22px; flex:none; margin-top:1px} .bn-call b{color:var(--bn-ink)} .bn-call p{margin:0; font-size:.95em} .bn-call .bn-klabel{margin-bottom:3px} .bn-tip{border-left:4px solid var(--bn-green)} .bn-tip svg{color:var(--bn-green)} .bn-tip .bn-klabel{color:var(--bn-green)} .bn-warn{border-left:4px solid var(--bn-coral)} .bn-warn svg{color:var(--bn-coral)} .bn-warn .bn-klabel{color:var(--bn-coral)} .bn-info{border-left:4px solid var(--bn-blue)} .bn-info svg{color:var(--bn-blue)} .bn-info .bn-klabel{color:var(--bn-blue)} .bn-def{background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line); border-radius:var(--bn-r); padding:20px 24px; margin:24px 0} .bn-def .bn-klabel{color:var(--bn-blue)} .bn-def p{margin:0} .bn-steps{counter-reset:s; list-style:none; padding:0; margin:24px 0} .bn-steps li{position:relative; padding:0 0 4px 56px; margin:0 0 18px; min-height:40px} .bn-steps li::before{ counter-increment:s; content:counter(s); position:absolute; left:0; top:0; width:40px; height:40px; border-radius:12px; background:var(--bn-coral); color:#fff; font-weight:800; font-family:var(--bn-mono); display:flex; align-items:center; justify-content:center; box-shadow:var(--bn-sh-sm); } .bn-steps li b{display:block; color:var(--bn-ink); margin-bottom:2px} .bn-check{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-check h3{margin:.1em 0 .3em} .bn-check>p{font-size:.95em; color:var(--bn-muted); margin-bottom:14px} .bn-check ul{list-style:none; padding:0; margin:0 0 18px} .bn-check li{margin:0; border-top:1px solid var(--bn-border)} .bn-check li:first-child{border-top:none} .bn-check label{display:flex; align-items:flex-start; gap:13px; padding:12px 2px; cursor:pointer; font-size:.97em; color:var(--bn-text)} .bn-check input{appearance:none; -webkit-appearance:none; flex:none; width:22px; height:22px; margin-top:1px; border:2px solid var(--bn-coral-line); border-radius:7px; background:#fff; cursor:pointer; position:relative; transition:.15s} .bn-check input:checked{background:var(--bn-coral); border-color:var(--bn-coral)} .bn-check input:checked::after{content:\\\"\\\"; position:absolute; left:6px; top:2px; width:6px; height:11px; border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(45deg)} .bn-result{border-radius:var(--bn-r-sm); padding:16px 18px; background:var(--bn-coral-soft); border:1px solid var(--bn-coral-line); font-size:.96em} .bn-result b{color:var(--bn-ink)} .bn-result .bn-score{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral)} .bn-result .bnc-res{display:none; margin-top:10px} .bn-result .bnc-res.on{display:block} .bn-result .bnc-res p{margin:0; color:var(--bn-text)} .bn-faq{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); margin:0 0 12px; box-shadow:var(--bn-sh-sm); overflow:hidden} .bn-faq summary{cursor:pointer; padding:17px 20px; font-weight:700; color:var(--bn-ink); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px; font-size:1.03em} .bn-faq summary::-webkit-details-marker{display:none} .bn-faq summary::after{content:\\\"+\\\"; font-family:var(--bn-mono); font-size:1.5em; color:var(--bn-coral); flex:none; line-height:1; transition:transform .2s} .bn-faq[open] summary::after{transform:rotate(45deg)} .bn-faq .bn-faq-b{padding:0 20px 18px; color:var(--bn-text)} .bn-faq .bn-faq-b p{margin:0} .bn-fig{margin:30px 0; text-align:center} .bn-fig img{width:100%; height:auto; border-radius:var(--bn-r); box-shadow:var(--bn-sh); display:block} .bn-fig figcaption{margin-top:10px; font-size:.85em; color:var(--bn-muted); font-style:italic} .bn-cta{background:var(--bn-ink); border-radius:var(--bn-r); padding:34px 32px; margin:36px 0 12px; text-align:center} .bn-cta h3{color:#fff; margin:0 0 .4em; font-size:1.4em} .bn-cta p{color:#e9e2cf; margin:0 auto 20px; max-width:560px; font-size:1em} .bn-cta-btn{display:inline-block; background:var(--bn-coral); color:#332c19 !important; text-decoration:none !important; font-weight:800; padding:15px 34px; border-radius:999px; font-size:1.02em; box-shadow:0 8px 22px rgba(254,113,107,.35); transition:.15s} .bn-cta-btn:hover{background:#ff8782; color:#fff !important} .bn-quiz{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-quiz .bnq-q{padding:14px 0; border-top:1px solid var(--bn-border)} .bn-quiz .bnq-q:first-of-type{border-top:none; padding-top:4px} .bn-quiz .bnq-qt{font-weight:700; color:var(--bn-ink); margin:0 0 10px; font-size:1.02em} .bn-quiz .bnq-opt{display:flex; align-items:flex-start; gap:12px; padding:9px 12px; margin:6px 0; cursor:pointer; font-size:.96em; color:var(--bn-text); border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; transition:.15s} .bn-quiz .bnq-opt:hover{border-color:var(--bn-coral-line); background:var(--bn-coral-soft)} .bn-quiz .bnq-opt input{appearance:none; -webkit-appearance:none; flex:none; width:20px; height:20px; margin-top:1px; border:2px solid var(--bn-coral-line); border-radius:50%; background:#fff; cursor:pointer; position:relative; transition:.15s} .bn-quiz .bnq-opt input:checked{border-color:var(--bn-coral)} .bn-quiz .bnq-opt input:checked::after{content:\\\"\\\"; position:absolute; left:3px; top:3px; width:10px; height:10px; border-radius:50%; background:var(--bn-coral)} .bn-quiz .bnq-opt:has(input:checked){border-color:var(--bn-coral); background:var(--bn-coral-soft)} .bn-quiz .bnq-btn{margin-top:16px; display:inline-block; background:var(--bn-coral); color:#332c19; border:none; font-weight:800; font-size:1em; padding:13px 30px; border-radius:999px; cursor:pointer; box-shadow:0 6px 16px rgba(254,113,107,.28); transition:.15s; font-family:inherit} .bn-quiz .bnq-btn:hover{background:#ff8782} .bn-quiz .bnq-res{display:none; margin-top:18px; padding:18px 20px; border-radius:var(--bn-r-sm); background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line)} .bn-quiz .bnq-res.on{display:block} .bn-quiz #bnq-agent{background:var(--bn-coral-soft); border-color:var(--bn-coral-line)} .bn-quiz #bnq-hybrid{background:var(--bn-green-soft); border-color:#cfe6c4} .bn-quiz .bnq-rt{font-weight:800; color:var(--bn-ink); margin:0 0 6px; font-size:1.08em} .bn-quiz .bnq-res p{margin:0} .bn-spectrum{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-spectrum h3{margin:.1em 0 .3em} .bn-spectrum>p{font-size:.95em; color:var(--bn-muted); margin:0 0 20px} .bn-spec-track{margin:26px 4px 4px} .bn-spec-range{-webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:999px; background:var(--bn-sand); outline:none; cursor:pointer; margin:0} .bn-spec-range::-webkit-slider-thumb{-webkit-appearance:none; appearance:none; width:26px; height:26px; border-radius:50%; background:var(--bn-coral); border:3px solid #fff; box-shadow:var(--bn-sh-sm); cursor:pointer} .bn-spec-range::-moz-range-thumb{width:26px; height:26px; border-radius:50%; background:var(--bn-coral); border:3px solid #fff; box-shadow:var(--bn-sh-sm); cursor:pointer} .bn-spec-stops{display:flex; justify-content:space-between; margin-top:13px; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.07em; color:var(--bn-muted); gap:8px} .bn-spec-stops span{flex:1; cursor:pointer; transition:.15s; text-align:center} .bn-spec-stops span:first-child{text-align:left} .bn-spec-stops span:last-child{text-align:right} .bn-spec-stops span.on{color:var(--bn-coral); font-weight:700} .bns-pane{display:none; margin-top:22px; border-radius:var(--bn-r-sm); padding:20px 22px; background:var(--bn-sand-2); border:1px solid var(--bn-sand)} .bns-pane.on{display:block} .bns-pane h4{margin:0 0 3px; color:var(--bn-ink); font-size:1.14em} .bns-tag{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--bn-coral); display:block; margin-bottom:11px} .bns-pane>p{margin:0; font-size:.96em; color:var(--bn-text)} .bns-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:15px} .bns-grid div{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:11px 14px; font-size:.9em; color:var(--bn-text)} .bns-grid b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.07em; color:var(--bn-muted); margin-bottom:3px} .bn-roi{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-roi h3{margin:.1em 0 .3em} .bn-roi>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-roi-fields{display:grid; grid-template-columns:1fr 1fr; gap:20px 28px; margin:18px 0 24px} .bn-roi-field:last-child{grid-column:1\/-1} .bn-roi-field label{display:block; font-size:.9em; color:var(--bn-text); font-weight:600; margin-bottom:11px} .bn-roi-field output{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral)} .bn-roi-out{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:4px} .bn-roi-stat{background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r); padding:20px 16px; text-align:center} .bn-roi-stat b{display:block; font-size:1.85em; line-height:1.05; color:var(--bn-coral); font-weight:800; letter-spacing:-.02em; font-family:var(--bn-mono)} .bn-roi-stat:nth-child(2) b{color:var(--bn-blue)} .bn-roi-stat:nth-child(3) b{color:var(--bn-ink)} .bn-roi-stat span{display:block; margin-top:7px; font-size:.82em; color:var(--bn-muted); line-height:1.4} .bn-roi-note{font-size:16px; color:var(--bn-muted); margin:16px 0 0; font-style:italic} .bn-bot{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px 24px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-bot h3{margin:.1em 0 .3em} .bn-bot>p{font-size:.95em; color:var(--bn-muted); margin:0 0 16px} .bn-bot-win{border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; overflow:hidden} .bn-bot-bar{display:flex; align-items:center; gap:11px; padding:12px 16px; background:var(--bn-sand-2); border-bottom:1px solid var(--bn-border)} .bn-bot-ava{flex:none; width:32px; height:32px; border-radius:50%; background:var(--bn-coral-soft); display:flex; align-items:center; justify-content:center} .bn-bot-ava svg{width:19px; height:19px; color:var(--bn-coral)} .bn-bot-id b{display:block; color:var(--bn-ink); font-size:.95em; line-height:1.2} .bn-bot-id span{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-green); display:inline-flex; align-items:center; gap:5px} .bn-bot-id span::before{content:\\\"\\\"; width:7px; height:7px; border-radius:50%; background:var(--bn-green)} .bn-bot-log{padding:16px; min-height:130px; max-height:320px; overflow-y:auto; display:flex; flex-direction:column; gap:10px} .bn-bot-msg{max-width:82%; padding:10px 14px; border-radius:15px; font-size:.95em; line-height:1.5} .bn-bot-msg.bot{align-self:flex-start; background:var(--bn-sand-2); color:var(--bn-text); border-bottom-left-radius:4px} .bn-bot-msg.user{align-self:flex-end; background:var(--bn-coral); color:#332c19; border-bottom-right-radius:4px} .bn-bot-quick{display:flex; flex-wrap:wrap; gap:8px; padding:2px 16px 14px} .bn-art .bn-bot-qbtn{font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:7px 14px; cursor:pointer; transition:.15s} .bn-art .bn-bot-qbtn:hover{background:var(--bn-coral-soft); border-color:var(--bn-coral)} .bn-bot-form{display:flex; gap:8px; padding:12px 16px; border-top:1px solid var(--bn-border); background:var(--bn-sand-2)} .bn-bot-input{flex:1; min-width:0; font-family:inherit; font-size:.95em; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:10px 16px; outline:none} .bn-bot-input:focus{border-color:var(--bn-coral)} .bn-art .bn-bot-send{flex:none; font-family:inherit; font-weight:700; font-size:16px; color:#fff; background:var(--bn-coral); border:none; border-radius:999px; padding:10px 20px; cursor:pointer; transition:.15s} .bn-art .bn-bot-send:hover{background:#ff8782} .bn-art .bn-bot-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} .bbot-kb,.bbot-fallback{display:none} .bn-shot{margin:16px 0 2px; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; overflow:hidden} .bn-shot-bar{display:flex; align-items:center; gap:8px; padding:9px 13px; background:var(--bn-sand-2); border-bottom:1px solid var(--bn-border)} .bn-shot-dot{width:8px;height:8px;border-radius:50%;background:var(--bn-green);flex:none} .bn-shot-bar b{color:var(--bn-ink); font-size:.9em} .bn-shot-bar span{margin-left:auto; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-muted)} .bn-shot-log{padding:13px 14px; display:flex; flex-direction:column; gap:8px} .bn-shot .bn-bot-msg{max-width:86%; font-size:.9em} .bn-shot-quick{display:flex; flex-wrap:wrap; gap:6px; margin-top:2px} .bn-shot-quick span{font-size:14px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:4px 11px} .bn-exlink{margin:13px 0 0; font-weight:700; display:flex; align-items:center; gap:6px} .bn-exlink svg{width:16px;height:16px;flex:none;color:var(--bn-coral)} .bn-lb{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-lb h3{margin:.1em 0 .3em} .bn-lb>p{font-size:.95em; color:var(--bn-muted); margin:0 0 16px} .bn-lb-ctrl{display:flex; flex-wrap:wrap; gap:11px; align-items:center; margin:0 0 16px} .bn-lb-ctrl br{display:none} .bn-lb-search{flex:1; min-width:200px; font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:11px 18px; outline:none} .bn-lb-search:focus{border-color:var(--bn-coral)} .bn-lb-filters{display:flex; flex-wrap:wrap; gap:8px} .bn-art .bn-lb-fbtn{font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s} .bn-art .bn-lb-fbtn:hover{background:var(--bn-coral-soft)} .bn-art .bn-lb-fbtn.on{background:var(--bn-coral); color:#fff; border-color:var(--bn-coral)} .bn-lb .bn-lb-th{cursor:pointer; user-select:none; white-space:nowrap} .bn-lb .bn-lb-th:hover{color:#fbf7ec; opacity:.85} .bn-lb-rank{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral); text-align:center} .bn-lb-score{font-family:var(--bn-mono); font-weight:700; color:var(--bn-ink); text-align:right; white-space:nowrap} .lb-empty{padding:16px; text-align:center; color:var(--bn-muted); font-size:.95em} .bn-lb-foot{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} @media(max-width:680px){ .bn-art{font-size:17px} .bn-stats,.bn-grid,.bn-cols,.bn-ex .bn-ba,.bns-grid,.bn-roi-fields,.bn-roi-out{grid-template-columns:1fr} .bn-roi-field:last-child{grid-column:auto} .bn-toc ol{columns:1} .bn-art h2{font-size:1.5em} .bn-bot-msg{max-width:90%} } .bn-art sup,.bn-art sub{font-size:14px;line-height:0} .bn-klabel.hc{color:var(--bn-coral-txt)} .bn-cdc{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-cdc h3{margin:.1em 0 .3em} .bn-cdc>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-cdc br{display:none} .bn-cdc p:empty{display:none; margin:0} .cdc-q{padding:15px 0; border-top:1px solid var(--bn-border)} .cdc-q:first-of-type{border-top:none; padding-top:2px} .bn-art .cdc-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .cdc-chips{display:flex; flex-wrap:wrap; gap:8px} .cdc-chips p:not([class]){display:contents} .bn-art .cdc-chip{display:inline-flex; align-items:center; font-size:16px; line-height:1.35; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s} .bn-art .cdc-chip:hover{background:var(--bn-coral-soft)} .bn-art .cdc-chip:has(input:checked){background:var(--bn-coral); color:#332c19; border-color:var(--bn-coral); font-weight:700} .cdc-chip input{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none} .cdc-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .cdc-line{padding:14px 0; border-top:1px solid var(--bn-sand)} .cdc-line:first-of-type{border-top:none; padding-top:2px} .cdc-line p:not([class]){margin:0} .bn-art .cdc-line b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); margin-bottom:6px} .bn-art .cdc-line span{display:block; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .cdc-copy{margin-top:18px; display:inline-block; background:var(--bn-coral); color:#332c19; border:none; font-family:inherit; font-weight:800; font-size:16px; padding:13px 28px; border-radius:999px; cursor:pointer; box-shadow:0 6px 16px rgba(254,113,107,.28); transition:.15s} .bn-art .cdc-copy:hover{background:#ff8782} .bn-art .cdc-note{font-size:16px; color:var(--bn-muted); margin:12px 0 0; font-style:italic; min-height:1.5em} @media(max-width:680px){ .cdc-chips{flex-direction:column; align-items:stretch} .bn-art .cdc-chip{justify-content:flex-start} } .bn-niv{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-niv h3{margin:.1em 0 .3em} .bn-niv>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-niv br{display:none} .bn-niv p:empty{display:none; margin:0} .niv-q{padding:15px 0; border-top:1px solid var(--bn-border)} .niv-q:first-of-type{border-top:none; padding-top:2px} .bn-art .niv-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .niv-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .bn-art .niv-score{display:flex; align-items:baseline; gap:10px; margin:0 0 13px} .bn-art .niv-score b{font-family:var(--bn-mono); font-size:2.1em; line-height:1; color:var(--bn-coral-txt); font-weight:800; letter-spacing:-.02em} .bn-art .niv-score span{font-size:16px; color:var(--bn-muted)} .niv-gauge{height:10px; border-radius:999px; background:var(--bn-sand); overflow:hidden; margin:0 0 18px} .niv-gauge p:not([class]){display:contents} .niv-gauge i{display:block; height:10px; background:var(--bn-coral); border-radius:999px; width:0} .nivv{display:none; border-radius:var(--bn-r-sm); padding:17px 19px; background:#fff; border:1px solid var(--bn-border)} .nivv.on{display:block} .bn-art .nivv b{display:block; font-size:1.08em; color:var(--bn-ink); margin-bottom:5px} .bn-art .nivv p{margin:0; font-size:16px; line-height:1.62} .bn-art .niv-weak{margin:15px 0 0; font-size:16px; color:var(--bn-text)} .bn-art .niv-weak b{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); display:block; margin-bottom:4px} .bn-art blockquote{margin:26px 0; padding:18px 22px; background:var(--bn-card); border:1px solid var(--bn-border); border-left:4px solid var(--bn-blue); border-radius:var(--bn-r); box-shadow:var(--bn-sh-sm)} .bn-art blockquote p{margin:0; font-size:17px; line-height:1.65; color:var(--bn-text)} .bn-chk{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-chk h3{margin:.1em 0 .3em} .bn-chk>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-chk br{display:none} .bn-chk p:empty{display:none; margin:0} .chk-doc{border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-border); padding:16px 18px; margin:0 0 6px} .bn-art .chk-doc b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); margin-bottom:6px} .bn-art .chk-doc span{display:block; font-size:16px; line-height:1.62; color:var(--bn-text)} .chk-q{padding:15px 0; border-top:1px solid var(--bn-border)} .bn-art .chk-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .chk-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .chk-pieces{display:grid; gap:10px; margin:0 0 16px} .chk-piece{border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-border); padding:12px 14px} .chk-piece.hit{border-color:var(--bn-green); background:var(--bn-green-soft)} .bn-art .chk-piece b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-muted); margin-bottom:5px} .bn-art .chk-piece.hit b{color:var(--bn-green)} .bn-art .chk-piece span{display:block; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .chk-verdict{border-radius:var(--bn-r-sm); padding:14px 16px; font-size:16px; line-height:1.55; background:var(--bn-green-soft); border:1px solid #cfe6c4; color:var(--bn-text); margin:0 0 12px} .bn-art .chk-verdict.ko{background:var(--bn-coral-soft); border-color:var(--bn-coral-line)} .bn-art .chk-stats{margin:0; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .chk-stats b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700}\"));document.head.appendChild(s);})();<\/script><\/p>\n<div class=\"bn-art\">\n<div class=\"bn-tldr\">\n<p><strong>En bref.<\/strong> Un chatbot RAG ne \u00ab conna\u00eet \u00bb rien : \u00e0 chaque question, il va chercher les bons passages dans vos documents, puis les recopie dans le prompt du mod\u00e8le. Tout se joue donc dans la r\u00e9cup\u00e9ration, pas dans le mod\u00e8le. Cons\u00e9quence \u00e9conomique que personne ne dit : <strong>indexer 500 pages co\u00fbte moins d\u2019un centime<\/strong>, mais renvoyer les passages retrouv\u00e9s \u00e0 chaque question co\u00fbte <strong>de 0,08 \u00e0 0,77 centime par r\u00e9ponse<\/strong> selon le mod\u00e8le. Et juridiquement, la CNIL est claire : la base que vous branchez, c\u2019est vous le responsable.<\/p>\n<\/div>\n<p>Le mot RAG est partout depuis deux ans, et la plupart des pages qui l\u2019expliquent s\u2019arr\u00eatent au sch\u00e9ma en trois cases. Vous en ressortez en sachant que \u00e7a veut dire <em>Retrieval-Augmented Generation<\/em>, sans savoir combien \u00e7a co\u00fbte, o\u00f9 \u00e7a casse, ni ce que vous avez le droit d\u2019y verser.<\/p>\n<p>Cet article prend le probl\u00e8me par l\u2019autre bout. Il montre le pipeline complet, il chiffre chaque poste avec les tarifs publics relev\u00e9s le 5 ao\u00fbt 2026, il donne la source primaire fran\u00e7aise sur le sujet (la CNIL), et il embarque un testeur de d\u00e9coupage qui vous fait voir, en direct, l\u2019erreur qui produit le plus de mauvaises r\u00e9ponses en production.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Sommaire<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #3d351f;color:#3d351f\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #3d351f;color:#3d351f\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Un_chatbot_RAG_cest_quoi_exactement\" >Un chatbot RAG, c\u2019est quoi exactement<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Les_six_etapes_du_pipeline_et_ce_que_vous_decidez_a_chacune\" >Les six \u00e9tapes du pipeline, et ce que vous d\u00e9cidez \u00e0 chacune<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Le_decoupage_la_ou_se_decident_la_plupart_des_mauvaises_reponses\" >Le d\u00e9coupage : l\u00e0 o\u00f9 se d\u00e9cident la plupart des mauvaises r\u00e9ponses<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Testeur_de_decoupage_votre_reponse_survit-elle_au_chunking\" >Testeur de d\u00e9coupage : votre r\u00e9ponse survit-elle au chunking ?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Ce_que_ca_coute_vraiment_lindexation_est_gratuite_cest_la_question_qui_coute\" >Ce que \u00e7a co\u00fbte vraiment : l\u2019indexation est gratuite, c\u2019est la question qui co\u00fbte<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Trois_facons_de_monter_un_chatbot_RAG\" >Trois fa\u00e7ons de monter un chatbot RAG<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Tout_coder\" >Tout coder<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Assembler_des_briques\" >Assembler des briques<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Passer_par_une_plateforme_qui_fait_le_RAG_pour_vous\" >Passer par une plateforme qui fait le RAG pour vous<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Ce_que_vous_ne_devez_pas_verser_dans_la_base\" >Ce que vous ne devez pas verser dans la base<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Ce_qui_va_dans_la_base_sans_probleme\" >Ce qui va dans la base sans probl\u00e8me<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Ce_qui_demande_une_decision_explicite\" >Ce qui demande une d\u00e9cision explicite<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Depuis_le_2_aout_2026_dire_que_cest_une_IA_nest_plus_une_option\" >Depuis le 2 ao\u00fbt 2026, dire que c\u2019est une IA n\u2019est plus une option<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Sept_symptomes_frequents_et_leur_cause_reelle_dans_le_pipeline\" >Sept sympt\u00f4mes fr\u00e9quents, et leur cause r\u00e9elle dans le pipeline<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Questions_frequentes\" >Questions fr\u00e9quentes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Ce_quil_faut_retenir\" >Ce qu\u2019il faut retenir<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/#Branchez_un_chatbot_sur_vos_propres_contenus\" >Branchez un chatbot sur vos propres contenus<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Un_chatbot_RAG_cest_quoi_exactement\"><\/span>Un chatbot RAG, c\u2019est quoi exactement<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"bn-def\"><span class=\"bn-klabel\"><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"9\"><\/circle><path d=\"M12 8h.01M11 12h1v4h1\"><\/path><\/svg>D\u00e9finition<\/span>\n<p>La CNIL en donne une formulation officielle dans ses questions-r\u00e9ponses sur l\u2019IA g\u00e9n\u00e9rative du 18 juillet 2024 : \u00ab <em>La g\u00e9n\u00e9ration augment\u00e9e de r\u00e9cup\u00e9ration (Retrieval Augmented Generation ou RAG) consiste \u00e0 int\u00e9grer un m\u00e9canisme de recherche d\u2019informations dans une base de donn\u00e9es vectoris\u00e9e (ou embedding). Elle permet de produire des r\u00e9ponses enrichies par des donn\u00e9es externes, potentiellement plus sp\u00e9cifiques et plus faciles \u00e0 actualiser que le mod\u00e8le lui-m\u00eame.<\/em> \u00bb<\/p>\n<\/div>\n<p>Traduit en langage de tous les jours : le mod\u00e8le de langage ne m\u00e9morise pas vos tarifs, vos proc\u00e9dures ou votre politique de retour. \u00c0 chaque question, un moteur de recherche va piocher les trois ou cinq passages les plus proches dans vos documents, et les colle dans le prompt juste avant votre question. Le mod\u00e8le r\u00e9pond \u00e0 partir de ce qu\u2019il vient de lire, pas \u00e0 partir de ce qu\u2019il a appris.<\/p>\n<p>Le terme vient d\u2019un article de recherche de Meta AI, <em>Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks<\/em>, publi\u00e9 par Patrick Lewis et onze coauteurs, d\u00e9pos\u00e9 sur arXiv le 22 mai 2020 (r\u00e9f\u00e9rence 2005.11401) et pr\u00e9sent\u00e9 \u00e0 NeurIPS la m\u00eame ann\u00e9e. Six ans plus tard, c\u2019est devenu le mode de fonctionnement par d\u00e9faut de tous les chatbots d\u2019entreprise s\u00e9rieux.<\/p>\n<div class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/08\/botnation-ai-rag-chatbot-body1.jpg\" alt=\"Sch\u00e9ma du pipeline RAG : un document d\u00e9coup\u00e9 en morceaux, rang\u00e9s dans un index, trois morceaux extraits par une loupe et envoy\u00e9s dans une bulle de r\u00e9ponse\" decoding=\"async\"><figcaption>Le pipeline RAG en cinq temps : d\u00e9couper, indexer, chercher, s\u00e9lectionner, g\u00e9n\u00e9rer. Le mod\u00e8le n\u2019intervient qu\u2019\u00e0 la derni\u00e8re case.<\/figcaption><\/div>\n<div class=\"bn-call bn-info\"><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"9\"><\/circle><path d=\"M12 8h.01M11 12h1v4h1\"><\/path><\/svg>\n<div><span class=\"bn-klabel\">Le raccourci utile<\/span>\n<p>Un chatbot RAG, c\u2019est un moteur de recherche interne avec un r\u00e9dacteur derri\u00e8re. Si la recherche rate, le r\u00e9dacteur \u00e9crit une jolie r\u00e9ponse fausse. C\u2019est pour \u00e7a que 90 % du travail est dans la recherche, et pas dans le choix du mod\u00e8le.<\/p>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Les_six_etapes_du_pipeline_et_ce_que_vous_decidez_a_chacune\"><\/span>Les six \u00e9tapes du pipeline, et ce que vous d\u00e9cidez \u00e0 chacune<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Chaque \u00e9tape porte un r\u00e9glage que quelqu\u2019un doit choisir. Sur une plateforme no-code, ces r\u00e9glages sont pris par d\u00e9faut pour vous. Si vous montez le pipeline vous-m\u00eame, ils sont tous \u00e0 votre charge, y compris ceux dont vous n\u2019aviez pas conscience.<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>\u00c9tape<\/th>\n<th>Ce qui se passe<\/th>\n<th>Le r\u00e9glage qui compte<\/th>\n<th>Ce qui casse si vous vous trompez<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1. Ingestion<\/td>\n<td>Vos pages, PDF, fichiers et FAQ sont r\u00e9cup\u00e9r\u00e9s et convertis en texte<\/td>\n<td>Ce que vous versez, et \u00e0 quelle fr\u00e9quence vous rafra\u00eechissez<\/td>\n<td>Le bot cite une proc\u00e9dure abrog\u00e9e il y a six mois<\/td>\n<\/tr>\n<tr>\n<td>2. D\u00e9coupage<\/td>\n<td>Le texte est coup\u00e9 en morceaux de taille fixe (les <em>chunks<\/em>)<\/td>\n<td>Taille du morceau et chevauchement entre deux morceaux<\/td>\n<td>La r\u00e9ponse est coup\u00e9e en deux, aucun morceau ne la contient<\/td>\n<\/tr>\n<tr>\n<td>3. Vectorisation<\/td>\n<td>Chaque morceau devient une liste de nombres (l\u2019<em>embedding<\/em>)<\/td>\n<td>Le mod\u00e8le d\u2019embedding, et sa langue de travail<\/td>\n<td>Un mod\u00e8le anglophone rate les synonymes fran\u00e7ais<\/td>\n<\/tr>\n<tr>\n<td>4. R\u00e9cup\u00e9ration<\/td>\n<td>La question est vectoris\u00e9e \u00e0 son tour, on cherche les morceaux les plus proches<\/td>\n<td>Le nombre de morceaux rapport\u00e9s, et le seuil de similarit\u00e9<\/td>\n<td>Trop peu : r\u00e9ponse incompl\u00e8te. Trop : le mod\u00e8le se noie<\/td>\n<\/tr>\n<tr>\n<td>5. G\u00e9n\u00e9ration<\/td>\n<td>Les morceaux et la question partent au mod\u00e8le avec des consignes<\/td>\n<td>Les consignes, et l\u2019ordre de priorit\u00e9 entre sources<\/td>\n<td>Le mod\u00e8le compl\u00e8te les trous avec ses souvenirs d\u2019entra\u00eenement<\/td>\n<\/tr>\n<tr>\n<td>6. Garde-fous<\/td>\n<td>On v\u00e9rifie la r\u00e9ponse avant de l\u2019afficher<\/td>\n<td>Le seuil en dessous duquel le bot dit qu\u2019il ne sait pas<\/td>\n<td>Le bot r\u00e9pond quand m\u00eame, avec assurance, \u00e0 c\u00f4t\u00e9<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Retenez l\u2019ordre : une erreur \u00e0 l\u2019\u00e9tape 2 ne se rattrape jamais aux \u00e9tapes 4, 5 ou 6. Si l\u2019information a \u00e9t\u00e9 coup\u00e9e en deux au d\u00e9coupage, aucun r\u00e9glage en aval ne la reconstituera. C\u2019est ce que le testeur ci-dessous rend visible.<\/p>\n<h2 id=\"decoupage\"><span class=\"ez-toc-section\" id=\"Le_decoupage_la_ou_se_decident_la_plupart_des_mauvaises_reponses\"><\/span>Le d\u00e9coupage : l\u00e0 o\u00f9 se d\u00e9cident la plupart des mauvaises r\u00e9ponses<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Le d\u00e9coupage est l\u2019\u00e9tape la plus m\u00e9canique du pipeline, et de tr\u00e8s loin la plus sous-estim\u00e9e. Le principe de base est brutal : on coupe le texte tous les N caract\u00e8res, avec \u00e9ventuellement un chevauchement pour ne pas perdre ce qui se trouve \u00e0 la fronti\u00e8re. C\u2019est ce que font les d\u00e9coupeurs les plus r\u00e9pandus, avec deux r\u00e9glages nomm\u00e9s <em>chunk size<\/em> et <em>chunk overlap<\/em>.<\/p>\n<p>Deux forces s\u2019opposent. Des morceaux courts sont pr\u00e9cis et bon march\u00e9 : vous renvoyez peu de texte au mod\u00e8le \u00e0 chaque question. Mais ils coupent les r\u00e9ponses en deux. Des morceaux longs ne coupent rien, mais vous facturent quatre fois plus cher \u00e0 chaque question, et diluent l\u2019information utile dans du bruit.<\/p>\n<p>Le testeur ci-dessous applique exactement cet algorithme \u00e0 un vrai document de politique commerciale. Changez la taille, le chevauchement et la question pos\u00e9e, et regardez si la r\u00e9ponse survit au d\u00e9coupage.<\/p>\n<div class=\"bn-chk\" id=\"bnchk\" data-piece=\"Morceau\" data-ok=\"La r\u00e9ponse tient ENTI\u00c8RE dans le morceau NUM : le bot peut la citer telle quelle.\" data-ko=\"La r\u00e9ponse est COUP\u00c9E entre deux morceaux : aucun morceau ne la contient en entier, le bot r\u00e9pondra de fa\u00e7on incompl\u00e8te ou inventera la fin.\" data-s1=\"Ce r\u00e9glage produit \" data-s2=\" morceaux. Sur une vraie base documentaire, avec 3 morceaux rapport\u00e9s par question, vous renvoyez \" data-s3=\" caract\u00e8res au mod\u00e8le \u00e0 chaque r\u00e9ponse, soit environ \" data-s4=\" tokens.\">\n<h3><span class=\"ez-toc-section\" id=\"Testeur_de_decoupage_votre_reponse_survit-elle_au_chunking\"><\/span>Testeur de d\u00e9coupage : votre r\u00e9ponse survit-elle au chunking ?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Le document ci-dessous fait office de base de connaissances. Choisissez un r\u00e9glage et une question, puis regardez les morceaux produits.<\/p>\n<div class=\"chk-doc\"><b>Le document source<\/b><span id=\"chksrc\">Les commandes pass\u00e9es avant 14 heures partent le jour m\u00eame. La livraison standard en France m\u00e9tropolitaine prend deux \u00e0 trois jours ouvr\u00e9s et reste offerte au-del\u00e0 de 60 euros de panier. Un num\u00e9ro de suivi arrive par courriel d\u00e8s la remise au transporteur. Vous disposez de quatorze jours apr\u00e8s r\u00e9ception pour renvoyer un article qui ne convient pas, dans son emballage complet. Le remboursement intervient sous cinq jours ouvr\u00e9s apr\u00e8s r\u00e9ception du retour dans notre entrep\u00f4t. Les articles personnalis\u00e9s ne sont ni repris ni \u00e9chang\u00e9s. Le service client r\u00e9pond du lundi au vendredi, de 9 heures \u00e0 18 heures.<\/span><\/div>\n<div class=\"chk-q\">\n<p class=\"chk-qt\">Taille du morceau<\/p>\n<div class=\"cdc-chips\"><label class=\"cdc-chip\"><input type=\"radio\" name=\"chks\" data-v=\"120\">120 caract\u00e8res<\/label><label class=\"cdc-chip\"><input type=\"radio\" name=\"chks\" data-v=\"240\" checked>240 caract\u00e8res<\/label><label class=\"cdc-chip\"><input type=\"radio\" name=\"chks\" data-v=\"480\">480 caract\u00e8res<\/label><\/div>\n<\/div>\n<div class=\"chk-q\">\n<p class=\"chk-qt\">Chevauchement entre deux morceaux<\/p>\n<div class=\"cdc-chips\"><label class=\"cdc-chip\"><input type=\"radio\" name=\"chko\" data-v=\"0\">Aucun<\/label><label class=\"cdc-chip\"><input type=\"radio\" name=\"chko\" data-v=\"15\" checked>15 %<\/label><label class=\"cdc-chip\"><input type=\"radio\" name=\"chko\" data-v=\"30\">30 %<\/label><\/div>\n<\/div>\n<div class=\"chk-q\">\n<p class=\"chk-qt\">La question pos\u00e9e par le client<\/p>\n<div class=\"cdc-chips\"><label class=\"cdc-chip\"><input type=\"radio\" name=\"chkq\" data-a=\"Vous disposez de quatorze jours apr\u00e8s r\u00e9ception pour renvoyer un article qui ne convient pas\" checked>Sous combien de jours puis-je renvoyer un article ?<\/label><label class=\"cdc-chip\"><input type=\"radio\" name=\"chkq\" data-a=\"reste offerte au-del\u00e0 de 60 euros de panier\">\u00c0 partir de quel montant la livraison est-elle offerte ?<\/label><label class=\"cdc-chip\"><input type=\"radio\" name=\"chkq\" data-a=\"Le remboursement intervient sous cinq jours ouvr\u00e9s apr\u00e8s r\u00e9ception du retour dans notre entrep\u00f4t\">Quand suis-je rembours\u00e9 ?<\/label><\/div>\n<\/div>\n<div class=\"chk-out\">\n<div class=\"chk-pieces\" id=\"chkp\">\n<div class=\"chk-piece\"><b>Morceau 1<\/b><span>Les commandes pass\u00e9es avant 14 heures partent le jour m\u00eame. La livraison standard en France m\u00e9tropolitaine prend deux \u00e0 trois jours ouvr\u00e9s et reste offerte au-del\u00e0 de 60 euros de panier. Un num\u00e9ro de suivi arrive par courriel d\u00e8s la remise <\/span><\/div>\n<div class=\"chk-piece hit\"><b>Morceau 2<\/b><span>i arrive par courriel d\u00e8s la remise au transporteur. Vous disposez de quatorze jours apr\u00e8s r\u00e9ception pour renvoyer un article qui ne convient pas, dans son emballage complet. Le remboursement intervient sous cinq jours ouvr\u00e9s apr\u00e8s r\u00e9ceptio<\/span><\/div>\n<div class=\"chk-piece\"><b>Morceau 3<\/b><span>ous cinq jours ouvr\u00e9s apr\u00e8s r\u00e9ception du retour dans notre entrep\u00f4t. Les articles personnalis\u00e9s ne sont ni repris ni \u00e9chang\u00e9s. Le service client r\u00e9pond du lundi au vendredi, de 9 heures \u00e0 18 heures.<\/span><\/div>\n<\/div>\n<p class=\"chk-verdict\" id=\"chkv\">La r\u00e9ponse tient ENTI\u00c8RE dans le morceau 2 : le bot peut la citer telle quelle.<\/p>\n<p class=\"chk-stats\" id=\"chkt\">Ce r\u00e9glage produit <b>3<\/b> morceaux. Sur une vraie base documentaire, avec 3 morceaux rapport\u00e9s par question, vous renvoyez <b>720<\/b> caract\u00e8res au mod\u00e8le \u00e0 chaque r\u00e9ponse, soit environ <b>180<\/b> tokens.<\/p>\n<\/div>\n<\/div>\n<p>Trois enseignements sortent de ce petit outil, et ils valent pour n\u2019importe quelle base documentaire.<\/p>\n<ul>\n<li><strong>Le chevauchement ne garantit rien.<\/strong> Il d\u00e9place les coupures, il ne les supprime pas. Sur les 27 combinaisons de ce testeur, 4 perdent la r\u00e9ponse, et la question du remboursement se perd \u00e0 240 caract\u00e8res avec 15 % de chevauchement alors qu\u2019elle passait sans chevauchement.<\/li>\n<li><strong>Les gros morceaux ne perdent jamais la r\u00e9ponse, mais ils co\u00fbtent cher.<\/strong> Passer de 120 \u00e0 480 caract\u00e8res multiplie par quatre le texte renvoy\u00e9 au mod\u00e8le \u00e0 chaque question, donc la facture.<\/li>\n<li><strong>Un d\u00e9coupage \u00e0 taille fixe coupe au milieu des mots.<\/strong> Les d\u00e9coupeurs s\u00e9rieux essaient d\u2019abord des s\u00e9parateurs (paragraphe, phrase, ponctuation) et ne tombent sur la coupe brutale qu\u2019en dernier recours. Si votre outil ne le fait pas, faites-le vous-m\u00eame en structurant vos documents en blocs courts et autonomes.<\/li>\n<\/ul>\n<div class=\"bn-call bn-tip\"><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7V17h8v-2.3A7 7 0 0 0 12 2z\"><\/path><\/svg>\n<div><span class=\"bn-klabel\">Astuce<\/span>\n<p>La meilleure optimisation de d\u00e9coupage n\u2019est pas un r\u00e9glage, c\u2019est une r\u00e9\u00e9criture. Une FAQ o\u00f9 chaque r\u00e9ponse tient en un paragraphe autonome de 300 \u00e0 600 caract\u00e8res se d\u00e9coupe toute seule, quel que soit l\u2019outil. Nous d\u00e9taillons cette pr\u00e9paration dans notre guide sur <a href=\"https:\/\/botnation.ai\/fr\/former-chatbot-donnees\/\">la fa\u00e7on de former un chatbot depuis ses propres donn\u00e9es<\/a>.<\/p>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Ce_que_ca_coute_vraiment_lindexation_est_gratuite_cest_la_question_qui_coute\"><\/span>Ce que \u00e7a co\u00fbte vraiment : l\u2019indexation est gratuite, c\u2019est la question qui co\u00fbte<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>C\u2019est le point le plus contre-intuitif du sujet, et le plus absent des pages qui se disputent cette requ\u00eate. Tout le monde imagine que le co\u00fbt d\u2019un chatbot RAG est dans la construction de la base. C\u2019est faux, et d\u2019un ordre de grandeur.<\/p>\n<p>Faisons le calcul avec les tarifs publics relev\u00e9s le 5 ao\u00fbt 2026 sur la page de tarification d\u2019OpenAI. Prenons une base de 500 pages de 600 mots, soit environ 400 000 tokens \u00e0 indexer.<\/p>\n<div class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/08\/botnation-ai-rag-chatbot-shot3.jpg\" alt=\"Tableau de tarification OpenAI montrant les mod\u00e8les d\u2019embedding text-embedding-3-small \u00e0 0,02 dollar, 3-large \u00e0 0,13 dollar et ada-002 \u00e0 0,10 dollar par million de tokens\" decoding=\"async\"><figcaption>La ligne \u00ab Embedding \u00bb de la grille tarifaire d\u2019OpenAI, relev\u00e9e le 5 ao\u00fbt 2026 : 0,02 $ par million de tokens pour text-embedding-3-small. Capture d\u2019\u00e9cran de developers.openai.com.<\/figcaption><\/div>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Poste<\/th>\n<th>Volume<\/th>\n<th>Prix unitaire public<\/th>\n<th>Ce que vous payez<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Indexer 500 pages<\/td>\n<td>400 000 tokens<\/td>\n<td>0,02 $ \/ million (text-embedding-3-small)<\/td>\n<td><strong>0,008 $<\/strong>, soit moins d\u2019un centime<\/td>\n<\/tr>\n<tr>\n<td>R\u00e9indexer une page modifi\u00e9e<\/td>\n<td>800 tokens<\/td>\n<td>0,02 $ \/ million<\/td>\n<td>0,000016 $, autant dire rien<\/td>\n<\/tr>\n<tr>\n<td>Vectoriser la question<\/td>\n<td>30 tokens<\/td>\n<td>0,02 $ \/ million<\/td>\n<td>N\u00e9gligeable<\/td>\n<\/tr>\n<tr>\n<td>Stocker les vecteurs<\/td>\n<td>Quelques milliers de vecteurs<\/td>\n<td>Palier gratuit Qdrant Cloud : 0,5 vCPU, 1 Go de RAM, 4 Go de disque<\/td>\n<td>0 \u20ac pour un prototype, \u00e0 l\u2019usage ensuite<\/td>\n<\/tr>\n<tr>\n<td>G\u00e9n\u00e9rer une r\u00e9ponse<\/td>\n<td>2 330 tokens en entr\u00e9e, 250 en sortie<\/td>\n<td>0,20 $ \/ 1,20 $ par million (gpt-5.6-luna)<\/td>\n<td><strong>0,08 centime<\/strong> par r\u00e9ponse<\/td>\n<\/tr>\n<tr>\n<td>La m\u00eame, sur un mod\u00e8le plus puissant<\/td>\n<td>Idem<\/td>\n<td>2 $ \/ 12 $ par million (gpt-5.6-terra)<\/td>\n<td><strong>0,77 centime<\/strong> par r\u00e9ponse<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"bn-stats\">\n<div class=\"bn-stat\"><b>0,008 $<\/b><span>pour indexer 500 pages, une fois pour toutes<\/span><\/div>\n<div class=\"bn-stat\"><b>2,30 $<\/b><span>pour 3 000 questions par mois sur le mod\u00e8le \u00e9conomique<\/span><\/div>\n<div class=\"bn-stat\"><b>23 $<\/b><span>les m\u00eames 3 000 questions sur un mod\u00e8le haut de gamme<\/span><\/div>\n<\/div>\n<p>Autrement dit : la base ne co\u00fbte rien \u00e0 construire, elle co\u00fbte \u00e0 chaque fois qu\u2019on la lit. Le poste de d\u00e9pense d\u2019un chatbot RAG, ce sont les <strong>2 330 tokens d\u2019entr\u00e9e renvoy\u00e9s \u00e0 chaque question<\/strong> : les consignes syst\u00e8me, les morceaux retrouv\u00e9s, l\u2019historique de la conversation. C\u2019est exactement ce que le testeur ci-dessus vous fait mesurer quand vous changez la taille des morceaux.<\/p>\n<p>Deux leviers r\u00e9duisent cette facture sans d\u00e9grader les r\u00e9ponses. Le premier est la mise en cache du prompt, factur\u00e9e bien moins cher en lecture par la plupart des fournisseurs, que nous d\u00e9taillons dans notre <a href=\"https:\/\/botnation.ai\/fr\/claude-chatbot\/\">article sur la facture d\u2019un chatbot Claude<\/a>. Le second est de rapporter trois morceaux bien choisis plut\u00f4t que huit morceaux moyens.<\/p>\n<div class=\"bn-call bn-warn\"><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 3 2 20h20L12 3z\"><\/path><path d=\"M12 10v4M12 17h.01\"><\/path><\/svg>\n<div><span class=\"bn-klabel\">Attention<\/span>\n<p>Ces montants sont des co\u00fbts d\u2019<strong>API brute<\/strong>, relev\u00e9s le 5 ao\u00fbt 2026 et susceptibles de changer sans pr\u00e9avis. Ils ne comprennent ni l\u2019h\u00e9bergement, ni la base vectorielle en production, ni les connecteurs vers vos canaux, ni le temps humain de pr\u00e9paration des documents, qui est en g\u00e9n\u00e9ral le poste le plus lourd. Un chatbot RAG factur\u00e9 \u00ab quelques euros par mois \u00bb sur le papier co\u00fbte plusieurs jours-homme au d\u00e9marrage.<\/p>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Trois_facons_de_monter_un_chatbot_RAG\"><\/span>Trois fa\u00e7ons de monter un chatbot RAG<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>La question n\u2019est pas de savoir laquelle est la meilleure, mais laquelle correspond \u00e0 ce que vous avez d\u00e9j\u00e0 : une \u00e9quipe technique, un budget, ou ni l\u2019un ni l\u2019autre. Nous avons d\u00e9taill\u00e9 ce raisonnement pour les chatbots en g\u00e9n\u00e9ral dans notre guide sur <a href=\"https:\/\/botnation.ai\/fr\/comment-developper-un-chatbot\/\">les trois voies pour d\u00e9velopper un chatbot<\/a> ; voici comment il se d\u00e9cline sur le RAG.<\/p>\n<div class=\"bn-ex\">\n<div class=\"bn-ex-h\">\n<div class=\"bn-ex-n\">1<\/div>\n<div>\n<h3><span class=\"ez-toc-section\" id=\"Tout_coder\"><\/span>Tout coder<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span class=\"bn-ex-tag\">Vous avez des d\u00e9veloppeurs<\/span><\/p><\/div>\n<\/div>\n<p>Vous assemblez vous-m\u00eame le d\u00e9coupeur, le mod\u00e8le d\u2019embedding, la base vectorielle, le moteur de r\u00e9cup\u00e9ration et les garde-fous. C\u2019est la voie qui donne le plus de contr\u00f4le, notamment si vous devez h\u00e9berger la base sur vos serveurs. C\u2019est aussi celle o\u00f9 les six r\u00e9glages du tableau plus haut sont enti\u00e8rement \u00e0 votre charge, y compris leur maintenance.<\/p>\n<div class=\"bn-ba\">\n<div class=\"biz\"><b>Ce que \u00e7a vous donne<\/b>Le contr\u00f4le total du pipeline, l\u2019h\u00e9bergement o\u00f9 vous voulez, aucun plafond fonctionnel.<\/div>\n<div class=\"cli\"><b>Ce que \u00e7a vous co\u00fbte<\/b>Un d\u00e9veloppeur qui conna\u00eet le sujet, et surtout quelqu\u2019un pour surveiller la qualit\u00e9 des r\u00e9ponses dans la dur\u00e9e.<\/div>\n<\/div>\n<\/div>\n<div class=\"bn-ex\">\n<div class=\"bn-ex-h\">\n<div class=\"bn-ex-n\">2<\/div>\n<div>\n<h3><span class=\"ez-toc-section\" id=\"Assembler_des_briques\"><\/span>Assembler des briques<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span class=\"bn-ex-tag\">Vous bricolez d\u00e9j\u00e0 des automatisations<\/span><\/p><\/div>\n<\/div>\n<p>Vous branchez un outil d\u2019automatisation sur une base vectorielle manag\u00e9e et une API de mod\u00e8le. Vous ne codez presque rien, mais vous restez responsable de la cha\u00eene : c\u2019est vous qui d\u00e9cidez du d\u00e9coupage, du nombre de morceaux rapport\u00e9s et du comportement quand rien n\u2019est trouv\u00e9. Cette voie va vite pour un prototype et tient mal quand le volume monte.<\/p>\n<div class=\"bn-ba\">\n<div class=\"biz\"><b>Ce que \u00e7a vous donne<\/b>Un prototype en quelques jours, sans \u00e9crire de code.<\/div>\n<div class=\"cli\"><b>Ce que \u00e7a vous co\u00fbte<\/b>Une cha\u00eene de trois ou quatre abonnements qui cassent chacun de leur c\u00f4t\u00e9, et aucune vue consolid\u00e9e des conversations.<\/div>\n<\/div>\n<\/div>\n<div class=\"bn-ex\">\n<div class=\"bn-ex-h\">\n<div class=\"bn-ex-n\">3<\/div>\n<div>\n<h3><span class=\"ez-toc-section\" id=\"Passer_par_une_plateforme_qui_fait_le_RAG_pour_vous\"><\/span>Passer par une plateforme qui fait le RAG pour vous<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span class=\"bn-ex-tag\">Vous voulez un r\u00e9sultat, pas un pipeline<\/span><\/p><\/div>\n<\/div>\n<p>Vous versez vos pages, vos documents et votre FAQ, la plateforme s\u2019occupe du d\u00e9coupage, de la vectorisation, de la r\u00e9cup\u00e9ration et des garde-fous, et vous branchez le bot sur vos canaux. Les six r\u00e9glages existent toujours, mais ils sont pris par d\u00e9faut et \u00e9prouv\u00e9s sur des milliers de bots.<\/p>\n<div class=\"bn-ba\">\n<div class=\"biz\"><b>Ce que \u00e7a vous donne<\/b>Un bot en ligne dans la journ\u00e9e, connect\u00e9 au site, \u00e0 WhatsApp ou \u00e0 Messenger, avec les statistiques de conversation.<\/div>\n<div class=\"cli\"><b>Ce que \u00e7a vous co\u00fbte<\/b>Un abonnement, et des r\u00e9glages moins fins que sur un pipeline maison.<\/div>\n<\/div>\n<\/div>\n<div class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/08\/botnation-ai-rag-chatbot-shot1b-fr.jpg\" alt=\"Page produit FAQ de Botnation : le chatbot IA s\u2019appuie sur les FAQ, les articles d\u2019aide, la documentation produit et les proc\u00e9dures internes\" decoding=\"async\"><figcaption>Sur la page produit FAQ de Botnation, la section \u00ab Votre base de connaissances, rendue conversationnelle \u00bb d\u00e9crit exactement un usage RAG : les r\u00e9ponses sont tir\u00e9es de vos contenus officiels. Capture d\u2019\u00e9cran du 5 ao\u00fbt 2026.<\/figcaption><\/div>\n<p>Botnation \u00e9dite une plateforme no-code de cr\u00e9ation de chatbots <strong>et<\/strong> r\u00e9alise des chatbots sur mesure pour ses clients, via son offre Entreprise et ses experts en cr\u00e9ation de chatbot. Dans les deux cas, la partie RAG est prise en charge : vous fournissez les contenus, pas le pipeline.<\/p>\n<div class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/08\/botnation-ai-rag-chatbot-shot4-fr.jpg\" alt=\"Grille tarifaire de Botnation avec les offres Gratuit \u00e0 0 euro, Basic \u00e0 39 euros, Pro \u00e0 59 euros et Entreprise sur mesure\" decoding=\"async\"><figcaption>La grille tarifaire publique de Botnation relev\u00e9e le 5 ao\u00fbt 2026 : Gratuit 0 \u20ac, Basic 39 \u20ac, Pro 59 \u20ac, Entreprise sur mesure avec les services de cr\u00e9ation de chatbot.<\/figcaption><\/div>\n<p>Le plan Gratuit \u00e0 0 \u20ac permet de tester la cha\u00eene compl\u00e8te sur un petit corpus avant d\u2019engager quoi que ce soit. Les plans Basic \u00e0 39 \u20ac et Pro \u00e0 59 \u20ac par mois incluent respectivement 500 et 1 000 utilisateurs, ainsi que 500 et 1 000 cr\u00e9dits IA offerts une seule fois. L\u2019offre Entreprise, sur devis, comprend explicitement les services de cr\u00e9ation de chatbot.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Ce_que_vous_ne_devez_pas_verser_dans_la_base\"><\/span>Ce que vous ne devez pas verser dans la base<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/08\/botnation-ai-rag-chatbot-body3.jpg\" alt=\"Illustration : des documents tombent dans un entonnoir avec tamis, certains atterrissent dans un plateau ouvert, d\u2019autres restent enferm\u00e9s dans un coffre cadenass\u00e9\" decoding=\"async\"><figcaption>Tout ne va pas dans la base. Le tri se fait avant l\u2019ingestion, pas apr\u00e8s : une fois vectoris\u00e9, un document est difficile \u00e0 retirer proprement.<\/figcaption><\/div>\n<p>C\u2019est le volet que la quasi-totalit\u00e9 des guides sur le chatbot RAG passent sous silence, et c\u2019est pourtant celui qui co\u00fbte le plus cher quand \u00e7a tourne mal. La CNIL est explicite dans ses questions-r\u00e9ponses sur l\u2019IA g\u00e9n\u00e9rative :<\/p>\n<blockquote>\n<p>\u00ab Le d\u00e9ployeur qui choisit de connecter le syst\u00e8me \u00e0 sa propre base de connaissance (RAG) sera lui aussi responsable de son traitement lorsqu\u2019elle contient des donn\u00e9es personnelles. \u00bb<\/p>\n<\/blockquote>\n<div class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/08\/botnation-ai-rag-chatbot-shot2-fr.jpg\" alt=\"Page de la CNIL indiquant que le d\u00e9ployeur qui connecte le syst\u00e8me \u00e0 sa propre base de connaissance RAG est responsable de son traitement, avec la pyramide des risques du r\u00e8glement IA\" decoding=\"async\"><figcaption>La position de la CNIL sur la responsabilit\u00e9 du d\u00e9ployeur d\u2019un RAG, dans ses questions-r\u00e9ponses sur l\u2019IA g\u00e9n\u00e9rative du 18 juillet 2024. Capture d\u2019\u00e9cran du 5 ao\u00fbt 2026.<\/figcaption><\/div>\n<p>La cons\u00e9quence pratique est simple : verser un export client, un historique de tickets ou un annuaire interne dans une base vectorielle est un traitement de donn\u00e9es personnelles, avec tout ce que cela implique (base l\u00e9gale, information des personnes, dur\u00e9e de conservation, droits d\u2019acc\u00e8s et d\u2019effacement). Le fournisseur du mod\u00e8le n\u2019en est pas responsable \u00e0 votre place.<\/p>\n<div class=\"bn-cols\">\n<div class=\"bn-col cli\">\n<h4><span class=\"ez-toc-section\" id=\"Ce_qui_va_dans_la_base_sans_probleme\"><\/span><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M20 6 9 17l-5-5\"><\/path><\/svg>Ce qui va dans la base sans probl\u00e8me<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul>\n<li>Vos pages publiques, fiches produit et articles d\u2019aide<\/li>\n<li>Vos conditions g\u00e9n\u00e9rales, politiques de retour et de livraison<\/li>\n<li>Vos proc\u00e9dures internes anonymis\u00e9es<\/li>\n<li>Vos tarifs publics et vos grilles d\u2019options<\/li>\n<li>Vos comptes rendus de formation d\u00e9personnalis\u00e9s<\/li>\n<\/ul>\n<\/div>\n<div class=\"bn-col warn\">\n<h4><span class=\"ez-toc-section\" id=\"Ce_qui_demande_une_decision_explicite\"><\/span><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 3 2 20h20L12 3z\"><\/path><path d=\"M12 10v4M12 17h.01\"><\/path><\/svg>Ce qui demande une d\u00e9cision explicite<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul>\n<li>Un export de CRM ou de tickets nominatifs<\/li>\n<li>Un annuaire du personnel avec coordonn\u00e9es<\/li>\n<li>Des dossiers m\u00e9dicaux, RH ou juridiques<\/li>\n<li>Des documents strat\u00e9giques non publics<\/li>\n<li>Tout contenu sous contrat de confidentialit\u00e9 avec un tiers<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<p>Sur ces contenus sensibles, la CNIL invite \u00e0 regarder de pr\u00e8s o\u00f9 la base est h\u00e9berg\u00e9e, et consid\u00e8re qu\u2019un d\u00e9ploiement sur site est souvent plus indiqu\u00e9. Concr\u00e8tement, cela veut dire poser la question \u00e0 votre prestataire avant de verser quoi que ce soit, et pas apr\u00e8s. Nos <a href=\"https:\/\/botnation.ai\/fr\/erreurs-creation-chatbot\/\">dix erreurs les plus fr\u00e9quentes en cr\u00e9ation de chatbot<\/a> reviennent sur ce point.<\/p>\n<div class=\"bn-call bn-info\"><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"9\"><\/circle><path d=\"M12 8h.01M11 12h1v4h1\"><\/path><\/svg>\n<div><span class=\"bn-klabel\">Information g\u00e9n\u00e9rale<\/span>\n<p>Cette section d\u00e9crit le cadre applicable au 5 ao\u00fbt 2026 et ne remplace pas l\u2019avis de votre d\u00e9l\u00e9gu\u00e9 \u00e0 la protection des donn\u00e9es ou d\u2019un conseil juridique. Les positions de la CNIL sur l\u2019IA \u00e9voluent, et de nouvelles recommandations sont annonc\u00e9es.<\/p>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Depuis_le_2_aout_2026_dire_que_cest_une_IA_nest_plus_une_option\"><\/span>Depuis le 2 ao\u00fbt 2026, dire que c\u2019est une IA n\u2019est plus une option<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>L\u2019article 50 du r\u00e8glement europ\u00e9en sur l\u2019intelligence artificielle (r\u00e8glement UE 2024\/1689) est applicable depuis le <strong>2 ao\u00fbt 2026<\/strong>. Son paragraphe 1 est direct :<\/p>\n<blockquote>\n<p>\u00ab <em>Providers shall ensure that AI systems intended to interact directly with natural persons are designed and developed in such a way that the natural persons concerned are informed that they are interacting with an AI system, unless this is obvious from the point of view of a natural person who is reasonably well-informed, observant and circumspect.<\/em> \u00bb<\/p>\n<\/blockquote>\n<p>Un chatbot RAG entre pleinement dans ce p\u00e9rim\u00e8tre : il interagit directement avec des personnes physiques. L\u2019obligation est l\u00e9g\u00e8re (une mention claire que l\u2019interlocuteur est une IA), mais elle n\u2019est pas facultative, et l\u2019article 99, paragraphe 4, pr\u00e9voit des amendes pouvant atteindre <strong>15 millions d\u2019euros ou 3 % du chiffre d\u2019affaires mondial<\/strong> pour les manquements aux obligations qu\u2019il vise. Le sch\u00e9ma des risques publi\u00e9 par la CNIL classe d\u2019ailleurs explicitement les chatbots dans la cat\u00e9gorie \u00ab obligations de transparence \u00bb.<\/p>\n<div class=\"bn-call bn-tip\"><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7V17h8v-2.3A7 7 0 0 0 12 2z\"><\/path><\/svg>\n<div><span class=\"bn-klabel\">Astuce<\/span>\n<p>Deux phrases suffisent, et elles am\u00e9liorent souvent la conversation : dire d\u00e8s le premier message que le visiteur parle \u00e0 un assistant automatique, et indiquer comment joindre un humain. Un bot RAG honn\u00eate sur sa nature obtient de meilleures questions, donc de meilleures r\u00e9ponses.<\/p>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Sept_symptomes_frequents_et_leur_cause_reelle_dans_le_pipeline\"><\/span>Sept sympt\u00f4mes fr\u00e9quents, et leur cause r\u00e9elle dans le pipeline<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Quand un chatbot RAG donne une mauvaise r\u00e9ponse, le r\u00e9flexe est de changer de mod\u00e8le. C\u2019est presque toujours le mauvais r\u00e9flexe : dans six cas sur sept, la panne est en amont de la g\u00e9n\u00e9ration.<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Ce que vous observez<\/th>\n<th>L\u2019\u00e9tape en cause<\/th>\n<th>Ce qu\u2019il faut regarder en premier<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Le bot invente une r\u00e9ponse plausible mais fausse<\/td>\n<td>R\u00e9cup\u00e9ration et garde-fous<\/td>\n<td>Rien n\u2019a \u00e9t\u00e9 retrouv\u00e9 et le mod\u00e8le a combl\u00e9 le vide. Imposez de r\u00e9pondre \u00ab je ne sais pas \u00bb sous un seuil de similarit\u00e9<\/td>\n<\/tr>\n<tr>\n<td>Le bot r\u00e9pond \u00e0 moiti\u00e9<\/td>\n<td>D\u00e9coupage<\/td>\n<td>La r\u00e9ponse est coup\u00e9e entre deux morceaux. Testez-la avec l\u2019outil plus haut<\/td>\n<\/tr>\n<tr>\n<td>Le bot cite une information p\u00e9rim\u00e9e<\/td>\n<td>Ingestion<\/td>\n<td>L\u2019ancienne version du document est toujours dans l\u2019index. Une mise \u00e0 jour n\u2019efface pas l\u2019ancien vecteur toute seule<\/td>\n<\/tr>\n<tr>\n<td>Le bot r\u00e9pond \u00e0 c\u00f4t\u00e9 sur les questions courtes<\/td>\n<td>Vectorisation<\/td>\n<td>Une question de trois mots contient peu de signal. Reformulez la question avant de chercher<\/td>\n<\/tr>\n<tr>\n<td>Le bot ignore une information pourtant pr\u00e9sente<\/td>\n<td>R\u00e9cup\u00e9ration<\/td>\n<td>Le bon morceau existe mais arrive en huiti\u00e8me position. Augmentez le nombre de morceaux rapport\u00e9s ou ajoutez un reclassement<\/td>\n<\/tr>\n<tr>\n<td>Le bot m\u00e9lange deux produits ou deux offres<\/td>\n<td>D\u00e9coupage et ingestion<\/td>\n<td>Deux fiches proches se ressemblent trop. Ajoutez le nom du produit en t\u00eate de chaque morceau<\/td>\n<\/tr>\n<tr>\n<td>Le bot est lent<\/td>\n<td>G\u00e9n\u00e9ration<\/td>\n<td>Trop de morceaux rapport\u00e9s, donc un prompt trop long. C\u2019est le seul sympt\u00f4me o\u00f9 le mod\u00e8le est r\u00e9ellement en cause<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/08\/botnation-ai-rag-chatbot-body2.jpg\" alt=\"Bureau avec une \u00e9tag\u00e8re de classeurs et une tablette pos\u00e9e sur un chevalet affichant des bulles de conversation vides\" decoding=\"async\"><figcaption>Une base documentaire vit : un classeur mis \u00e0 jour et non r\u00e9index\u00e9 produit une r\u00e9ponse fausse que personne ne verra passer.<\/figcaption><\/div>\n<p>Un dernier point, souvent oubli\u00e9 : il faut <strong>relire les questions pos\u00e9es<\/strong>, pas seulement les r\u00e9ponses donn\u00e9es. Ce sont les questions sans r\u00e9ponse satisfaisante qui vous disent quels documents manquent dans la base. C\u2019est le m\u00eame principe que celui d\u00e9crit dans notre article sur <a href=\"https:\/\/botnation.ai\/fr\/ou-chatbot-recupere-informations\/\">les sources dans lesquelles un chatbot puise ses r\u00e9ponses<\/a>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Questions_frequentes\"><\/span>Questions fr\u00e9quentes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<details class=\"bn-faq\">\n<summary>Quelle diff\u00e9rence entre RAG et fine-tuning ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Le fine-tuning modifie le mod\u00e8le lui-m\u00eame pour lui apprendre un style, un vocabulaire ou un format de r\u00e9ponse. Le RAG ne touche pas au mod\u00e8le : il lui fournit les bons documents au moment de r\u00e9pondre. Pour des connaissances qui changent (tarifs, stocks, proc\u00e9dures), le RAG gagne largement, parce qu\u2019actualiser un document co\u00fbte quelques milli\u00e8mes de centime l\u00e0 o\u00f9 r\u00e9entra\u00eener co\u00fbte un projet. Le fine-tuning garde son int\u00e9r\u00eat pour le ton et le format. Les deux se combinent.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Faut-il coder pour faire un chatbot RAG ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Non. Les plateformes no-code font le pipeline complet \u00e0 votre place : vous versez vos pages et vos documents, elles g\u00e8rent le d\u00e9coupage, la vectorisation, la r\u00e9cup\u00e9ration et les garde-fous. Coder devient n\u00e9cessaire quand vous avez une contrainte que la plateforme ne couvre pas : un h\u00e9bergement impos\u00e9 sur vos serveurs, une source de donn\u00e9es exotique, ou un besoin de r\u00e9glage tr\u00e8s fin de la r\u00e9cup\u00e9ration.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Combien de documents faut-il pour que \u00e7a marche ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Beaucoup moins qu\u2019on ne le croit. Vingt pages bien \u00e9crites qui couvrent les questions r\u00e9ellement pos\u00e9es battent mille pages de documentation mal structur\u00e9e. Le bon point de d\u00e9part est la liste des questions que votre support re\u00e7oit le plus souvent, et non l\u2019int\u00e9gralit\u00e9 de votre site. Ajouter des documents inutiles d\u00e9grade m\u00eame la r\u00e9cup\u00e9ration, en noyant les bons morceaux dans des voisins plausibles.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Le RAG supprime-t-il les hallucinations ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Il les r\u00e9duit fortement, il ne les supprime pas. Tant que le mod\u00e8le est autoris\u00e9 \u00e0 r\u00e9pondre alors que la recherche n\u2019a rien retrouv\u00e9 de pertinent, il comblera le vide. La vraie protection n\u2019est pas le RAG en soi, c\u2019est le garde-fou qui impose de dire \u00ab je ne sais pas \u00bb en dessous d\u2019un seuil de similarit\u00e9, et l\u2019affichage de la source utilis\u00e9e pour que le lecteur puisse v\u00e9rifier.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Quelle taille de morceau faut-il choisir ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Il n\u2019y a pas de valeur universelle, et c\u2019est bien le probl\u00e8me : elle d\u00e9pend de la longueur de vos r\u00e9ponses. La m\u00e9thode fiable consiste \u00e0 prendre vos dix questions les plus fr\u00e9quentes, \u00e0 rep\u00e9rer la phrase qui y r\u00e9pond dans vos documents, et \u00e0 v\u00e9rifier qu\u2019elle tient enti\u00e8re dans un morceau. C\u2019est exactement ce que fait le testeur plus haut, en miniature. Si vos r\u00e9ponses tiennent en une phrase, des morceaux courts suffisent et vous co\u00fbtent moins cher.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Peut-on faire du RAG sans envoyer ses documents chez un fournisseur \u00e9tranger ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Oui, \u00e0 condition de le d\u00e9cider avant de commencer. La base vectorielle peut \u00eatre h\u00e9berg\u00e9e en Europe ou sur vos propres serveurs, et il existe des mod\u00e8les d\u2019embedding et de g\u00e9n\u00e9ration qui s\u2019ex\u00e9cutent sur une infrastructure europ\u00e9enne. La CNIL consid\u00e8re d\u2019ailleurs que pour de la documentation sensible ou strat\u00e9gique, un d\u00e9ploiement sur site est souvent la voie la plus s\u00fbre. Posez la question de l\u2019h\u00e9bergement dans votre cahier des charges, pas \u00e0 la recette.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Un chatbot RAG doit-il annoncer qu\u2019il est une IA ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Oui. L\u2019article 50 du r\u00e8glement europ\u00e9en sur l\u2019IA, applicable depuis le 2 ao\u00fbt 2026, impose que la personne sache qu\u2019elle parle \u00e0 un syst\u00e8me d\u2019IA, sauf si c\u2019est \u00e9vident. Une mention en t\u00eate de conversation suffit. Les sanctions pr\u00e9vues par l\u2019article 99 du m\u00eame r\u00e8glement peuvent atteindre 15 millions d\u2019euros ou 3 % du chiffre d\u2019affaires mondial.<\/p>\n<\/div>\n<\/details>\n<h2><span class=\"ez-toc-section\" id=\"Ce_quil_faut_retenir\"><\/span>Ce qu\u2019il faut retenir<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Un chatbot RAG n\u2019est pas un mod\u00e8le intelligent, c\u2019est une cha\u00eene de six maillons dont le plus fragile est le d\u00e9coupage. Sa facture ne vient pas de l\u2019indexation, quasi gratuite, mais des passages renvoy\u00e9s au mod\u00e8le \u00e0 chaque question. Et la base que vous branchez engage votre responsabilit\u00e9, pas celle du fournisseur du mod\u00e8le.<\/p>\n<p>Si vous partez de z\u00e9ro, le raccourci le plus honn\u00eate est celui-ci : commencez par \u00e9crire vingt r\u00e9ponses courtes et autonomes aux vingt questions que vous recevez le plus, puis versez-les dans une plateforme qui g\u00e8re le pipeline. Vous saurez en une journ\u00e9e si le sujet m\u00e9rite un projet, et vous n\u2019aurez rien d\u00e9pens\u00e9 pour le d\u00e9couvrir. Notre <a href=\"https:\/\/botnation.ai\/fr\/chatbot-ia-generative\/\">guide du chatbot \u00e0 IA g\u00e9n\u00e9rative<\/a> et notre <a href=\"https:\/\/botnation.ai\/fr\/agence-chatbot-ia\/\">panorama des agences chatbot IA<\/a> couvrent la suite du chemin.<\/p>\n<div class=\"bn-cta\">\n<h3><span class=\"ez-toc-section\" id=\"Branchez_un_chatbot_sur_vos_propres_contenus\"><\/span>Branchez un chatbot sur vos propres contenus<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Vos FAQ, vos documentations et vos articles d\u2019aide existent d\u00e9j\u00e0. Botnation les exploite pour r\u00e9pondre \u00e0 vos clients sur votre site, WhatsApp, Messenger et Instagram, sans que vous ayez \u00e0 monter le moindre pipeline.<\/p>\n<p><a class=\"bn-cta-btn\" href=\"https:\/\/botnation.ai\/fr\/produits\/faq\/\">D\u00e9couvrir le chatbot FAQ<\/a><\/p>\n<p><a href=\"https:\/\/botnation.ai\/fr\/chatbot-devis\/\" style=\"color:#f6c9c6\">Ou demander un devis pour un projet sur mesure<\/a><\/p>\n<\/div>\n<p style=\"font-size:16px;color:#6d6653;font-style:italic;margin-top:26px\">Sources : CNIL, questions-r\u00e9ponses sur l\u2019utilisation d\u2019un syst\u00e8me d\u2019IA g\u00e9n\u00e9rative (18 juillet 2024) ; r\u00e8glement (UE) 2024\/1689 sur l\u2019intelligence artificielle, articles 50 et 99 ; Lewis et al., <em>Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks<\/em>, arXiv 2005.11401 (22 mai 2020) ; grilles tarifaires publiques d\u2019OpenAI, de Qdrant et de Botnation relev\u00e9es le 5 ao\u00fbt 2026.<\/p>\n<\/div>\n<p><script>(function(){var R=document.getElementById(\"bnchk\");if(!R){return}function val(n){var l=R.querySelectorAll(\"input[name=\"+n+\"]\");var k=0;for(k=0;l.length>k;k=k+1){if(l[k].checked){return l[k].getAttribute(\"data-v\")}}return l[0].getAttribute(\"data-v\")}function ans(){var l=R.querySelectorAll(\"input[name=chkq]\");var k=0;for(k=0;l.length>k;k=k+1){if(l[k].checked){return l[k].getAttribute(\"data-a\")}}return l[0].getAttribute(\"data-a\")}function go(){var src=document.getElementById(\"chksrc\").textContent.replace(\/\\s+\/g,\" \").trim();var size=parseInt(val(\"chks\"),10);var ov=parseInt(val(\"chko\"),10);var a=ans();var step=size-Math.floor(size*ov\/100+0.5);if(step>0){}else{step=1}var parts=[];var i=0;var g=0;while(g>-1){var p=src.substr(i,size);if(p.length===0){break}parts.push(p);if(i+size>=src.length){break}i=i+step;g=g+1;if(g>300){break}}var hit=-1;var k=0;for(k=0;parts.length>k;k=k+1){if(parts[k].indexOf(a)>-1){hit=k;break}}var box=document.getElementById(\"chkp\");box.textContent=\"\";for(k=0;parts.length>k;k=k+1){var d=document.createElement(\"div\");d.className=(k===hit)?\"chk-piece hit\":\"chk-piece\";var b=document.createElement(\"b\");b.textContent=R.getAttribute(\"data-piece\")+\" \"+(k+1);var sp=document.createElement(\"span\");sp.textContent=parts[k];d.appendChild(b);d.appendChild(sp);box.appendChild(d)}var v=document.getElementById(\"chkv\");if(hit>-1){v.className=\"chk-verdict\";v.textContent=R.getAttribute(\"data-ok\").replace(\"NUM\",\"\"+(hit+1))}else{v.className=\"chk-verdict ko\";v.textContent=R.getAttribute(\"data-ko\")}var sent=3*size;var tok=Math.floor(sent\/4+0.5);var st=document.getElementById(\"chkt\");st.textContent=\"\";var b1=document.createElement(\"b\");b1.textContent=\"\"+parts.length;var b2=document.createElement(\"b\");b2.textContent=\"\"+sent;var b3=document.createElement(\"b\");b3.textContent=\"\"+tok;st.appendChild(document.createTextNode(R.getAttribute(\"data-s1\")));st.appendChild(b1);st.appendChild(document.createTextNode(R.getAttribute(\"data-s2\")));st.appendChild(b2);st.appendChild(document.createTextNode(R.getAttribute(\"data-s3\")));st.appendChild(b3);st.appendChild(document.createTextNode(R.getAttribute(\"data-s4\")))}var ins=R.querySelectorAll(\"input\");var j=0;for(j=0;ins.length>j;j=j+1){ins[j].addEventListener(\"change\",go)}go();})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En bref. Un chatbot RAG ne \u00ab conna\u00eet \u00bb rien : \u00e0 chaque question, il va chercher les bons passages dans vos documents, puis les recopie dans le prompt du mod\u00e8le. Tout se joue donc dans la r\u00e9cup\u00e9ration, pas dans le mod\u00e8le. Cons\u00e9quence \u00e9conomique que personne ne dit : indexer 500 pages co\u00fbte moins d\u2019un [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":31262,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[346],"tags":[],"class_list":["post-31270","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chatbot"],"acf":[],"_links":{"self":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/posts\/31270","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/comments?post=31270"}],"version-history":[{"count":2,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/posts\/31270\/revisions"}],"predecessor-version":[{"id":31277,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/posts\/31270\/revisions\/31277"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/media\/31262"}],"wp:attachment":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/media?parent=31270"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/categories?post=31270"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/tags?post=31270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}