{"id":31707,"date":"2026-09-21T10:03:38","date_gmt":"2026-09-21T08:03:38","guid":{"rendered":"https:\/\/botnation.ai\/rasa-chatbot\/"},"modified":"2026-09-21T10:25:34","modified_gmt":"2026-09-21T08:25:34","slug":"rasa-chatbot","status":"publish","type":"post","link":"https:\/\/botnation.ai\/en\/rasa-chatbot\/","title":{"rendered":"Rasa chatbot: how the open source framework works, pricing and limits (2026)"},"content":{"rendered":"<p><script>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} .bn-dev{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-dev h3{margin:.1em 0 .3em} .bn-dev>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-dev br{display:none} .bn-dev p:empty{display:none; margin:0} .dev-q{padding:15px 0; border-top:1px solid var(--bn-border)} .dev-q:first-of-type{border-top:none; padding-top:2px} .bn-art .dev-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .dev-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} .dev-tiles{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:0 0 16px} .dev-stat{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:16px 12px; text-align:center} .bn-art .dev-stat b{display:block; font-family:var(--bn-mono); font-size:1.5em; line-height:1.12; font-weight:800; letter-spacing:-.02em; color:var(--bn-coral-txt)} .bn-art .dev-stat:nth-child(2) b{color:var(--bn-blue)} .bn-art .dev-stat:nth-child(3) b{color:var(--bn-green)} .bn-art .dev-stat:nth-child(4) b{color:var(--bn-ink)} .bn-art .dev-stat span{display:block; margin-top:7px; font-size:14px; color:var(--bn-muted); line-height:1.4} .bn-art .dev-line{margin:0 0 14px; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .dev-line b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .dvv{display:none; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border)} .dvv.on{display:block} .bn-art .dvv b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .dvv p{margin:0; font-size:16px; line-height:1.62} @media(max-width:680px){ .dev-tiles{grid-template-columns:1fr 1fr} } .bn-fig.chat img{max-width:400px; margin:0 auto} .bn-fig.doc img{max-width:520px; margin:0 auto} .bn-nlu{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-nlu h3{margin:.1em 0 .3em} .bn-nlu>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-nlu br{display:none} .bn-nlu p:empty{display:none; margin:0} .nlu-q{padding:15px 0; border-top:1px solid var(--bn-border)} .nlu-q:first-of-type{border-top:none; padding-top:2px} .bn-art .nlu-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .bn-art .nlu-in{width:100%; font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:12px 18px; outline:none} .bn-art .nlu-in:focus{border-color:var(--bn-coral)} .nlu-ex{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px} .nlu-ex p:not([class]){display:contents} .bn-art .nlu-exb{font-family:inherit; 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; text-align:left} .bn-art .nlu-exb:hover{background:var(--bn-coral-soft)} .nlu-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 .nlu-toks{margin:0 0 14px; font-size:16px; line-height:1.7; color:var(--bn-text)} .bn-art .nlu-toks b{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); display:block; margin-bottom:8px} .bn-art .nlu-tk{display:inline-block; font-family:var(--bn-mono); font-size:14px; background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:3px 11px; margin:0 6px 6px 0; color:var(--bn-ink)} .nlu-row{display:grid; grid-template-columns:1fr 130px 54px; gap:12px; align-items:center; padding:10px 0; border-top:1px solid var(--bn-sand)} .nlu-row:first-child{border-top:none} .bn-art .nlu-lab{font-size:16px; line-height:1.4; color:var(--bn-ink); font-weight:700} .nlu-bar{height:10px; border-radius:999px; background:var(--bn-sand); overflow:hidden} .nlu-bar i{display:block; height:10px; background:var(--bn-coral); border-radius:999px; width:0} .nlu-row.win .nlu-bar i{background:var(--bn-green)} .bn-art .nlu-sc{font-family:var(--bn-mono); font-size:16px; font-weight:700; color:var(--bn-coral-txt); text-align:right} .nlu-verdict{margin:16px 0 0; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border); border-left:4px solid var(--bn-green)} .nlu-verdict.ko{border-left-color:var(--bn-coral)} .bn-art .nlu-verdict b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .nlu-verdict p{margin:0; font-size:16px; line-height:1.62} .bn-art .nlu-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} @media(max-width:680px){ .nlu-row{grid-template-columns:minmax(0,1fr) 64px 48px; gap:9px} .bn-art .nlu-lab{font-size:16px} } @media(max-width:560px){ .nlu-row{grid-template-columns:minmax(0,1fr) auto; gap:7px 10px; padding:12px 0} .bn-art .nlu-lab{grid-column:1; grid-row:1} .bn-art .nlu-sc{grid-column:2; grid-row:1; text-align:right} .nlu-bar{grid-column:1\/3; grid-row:2} } .bn-art code{font-family:var(--bn-mono); font-size:16px; line-height:1.5; background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:6px; padding:1px 7px; color:var(--bn-ink); word-break:break-word} .bn-art pre{background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:16px 18px; overflow-x:auto; margin:22px 0} .bn-art pre code{background:none; border:none; padding:0; font-size:16px} .bn-hd{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-hd h3{margin:.1em 0 .3em} .bn-hd>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-hd br{display:none} .bn-hd p:empty{display:none; margin:0} .hd-q{padding:15px 0; border-top:1px solid var(--bn-border)} .hd-q:first-of-type{border-top:none; padding-top:2px} .bn-art .hd-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .hd-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} .hd-head{display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr); gap:18px; align-items:center} .hd-n{font-family:var(--bn-mono); font-weight:800; line-height:1; color:var(--bn-ink); white-space:nowrap} .bn-art .hd-n span{font-size:34px} .bn-art .hd-n i{font-style:normal; font-size:16px; color:var(--bn-muted); font-weight:600} .hd-track{position:relative; height:14px; border-radius:999px; background:#fff; border:1px solid var(--bn-sand); overflow:hidden} .hd-fill{position:absolute; left:0; top:0; bottom:0; width:0; background:var(--bn-coral); transition:width .18s} .hd-parts{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:16px} .hd-part{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:11px 8px; text-align:center} .bn-art .hd-part span{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3} .bn-art .hd-part b{display:block; font-family:var(--bn-mono); font-size:20px; font-weight:800; color:var(--bn-coral-txt); margin-top:4px} .hdv{display:none; margin-top:18px; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .hdv-1{display:block; border-left:4px solid var(--bn-green)} .hdv-2{border-left:4px solid var(--bn-blue)} .hdv-3{border-left:4px solid var(--bn-coral)} .hdv-4{border-left:4px solid var(--bn-ink)} .bn-art .hdv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:7px} .bn-art .hdv p{margin:0; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .hd-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} @media(max-width:680px){ .bn-hd{padding:20px 17px} .hd-out{padding:17px 15px} .hd-head{grid-template-columns:minmax(0,1fr); gap:12px} .hd-parts{grid-template-columns:repeat(2,minmax(0,1fr))} } .bn-tri{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-tri h3{margin:.1em 0 .3em} .bn-tri>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-tri br{display:none} .bn-tri p:empty{display:none; margin:0} .tri-q{padding:15px 0; border-top:1px solid var(--bn-border)} .tri-q:first-of-type{border-top:none; padding-top:2px} .bn-art .tri-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .tri-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} .triv{display:none; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .triv-1{border-left:4px solid var(--bn-ink)} .triv-2{border-left:4px solid var(--bn-coral)} .triv-3{border-left:4px solid var(--bn-blue)} .triv-4{border-left:4px solid var(--bn-muted)} .triv-5{display:block; border-left:4px solid var(--bn-green)} .bn-art .triv em{display:block; font-style:normal; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-coral-txt); margin-bottom:7px; line-height:1.4} .bn-art .triv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:8px} .bn-art .triv p{margin:0 0 .7em; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .triv p:last-child{margin-bottom:0} .tri-lines{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px} .tri-line{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:13px 15px} .bn-art .tri-line span{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3; margin-bottom:6px} .bn-art .tri-line b{display:block; font-size:16px; line-height:1.55; color:var(--bn-ink); font-weight:600} .bn-art .tri-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} .bn-tri .bn-tablewrap{margin-top:22px} .bn-art .tri-load{font-family:var(--bn-mono); font-size:16px; line-height:1.2; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:8px 15px; cursor:pointer; white-space:nowrap; transition:.15s} .bn-art .tri-load:hover{background:var(--bn-coral-soft)} @media(max-width:680px){ .bn-tri{padding:20px 17px} .tri-out{padding:17px 15px} .tri-lines{grid-template-columns:minmax(0,1fr)} } .bn-art .bn-steps ol{list-style:none;padding:0;margin:0} .bn-art .bn-tip,.bn-art .bn-warn,.bn-art .bn-info{background:var(--bn-card);border:1px solid var(--bn-border);border-radius:var(--bn-r);padding:18px 20px;margin:24px 0;box-shadow:var(--bn-sh-sm)} .bn-art .bn-tip{border-left:4px solid var(--bn-green)} .bn-art .bn-warn{border-left:4px solid var(--bn-coral)} .bn-art .bn-info{border-left:4px solid var(--bn-blue)} .bn-art .bn-tip .bn-klabel,.bn-art .bn-warn .bn-klabel,.bn-art .bn-info .bn-klabel{margin-bottom:6px} .bn-art .bn-tip p,.bn-art .bn-warn p,.bn-art .bn-info p{margin:0} .bn-art .bn-tri table{table-layout:fixed;min-width:640px} .bn-art .bn-tri th:nth-child(1),.bn-art .bn-tri td:nth-child(1){width:22%} .bn-art .bn-tri th:nth-child(2),.bn-art .bn-tri td:nth-child(2){width:14%} .bn-art .bn-tri th:nth-child(3),.bn-art .bn-tri td:nth-child(3){width:14%} .bn-art .bn-tri th:nth-child(4),.bn-art .bn-tri td:nth-child(4){width:13%} .bn-art .bn-tri th:nth-child(5),.bn-art .bn-tri td:nth-child(5){width:22%} .bn-art .bn-tri th:nth-child(6),.bn-art .bn-tri td:nth-child(6){width:15%} .bn-art .bn-tri thead th,.bn-art .bn-tri tbody td{padding:11px 8px} .bn-art .tri-load{padding:4px 10px} .bn-art .bn-cta-in{text-align:center;margin:26px 0} .bn-lng{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-lng h3{margin:.1em 0 .3em} .bn-lng>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-lng br{display:none} .bn-lng p:empty{display:none; margin:0} .lng-q{padding:15px 0; border-top:1px solid var(--bn-border)} .lng-q:first-of-type{border-top:none; padding-top:2px} .bn-art .lng-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .lng-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} .lng-lines{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px} .lng-line{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:13px 15px} .bn-art .lng-line b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3; margin-bottom:6px} .bn-art .lng-line span{display:block; font-size:16px; line-height:1.55; color:var(--bn-ink); font-weight:600} .lngv{display:none; margin-top:16px; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .lngv-1{display:block; border-left:4px solid var(--bn-blue)} .lngv-2{border-left:4px solid var(--bn-coral)} .lngv-3{border-left:4px solid var(--bn-green)} .lngv-4{border-left:4px solid var(--bn-ink)} .bn-art .lngv em{display:block; font-style:normal; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-coral-txt); margin-bottom:7px; line-height:1.4} .bn-art .lngv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:8px} .bn-art .lngv p{margin:0 0 .7em; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .lngv p:last-child{margin-bottom:0} .bn-art .lng-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} .bn-lng .bn-tablewrap{margin-top:22px} .bn-art .bn-lng table{table-layout:fixed; min-width:620px} .bn-art .bn-lng th:nth-child(1),.bn-art .bn-lng td:nth-child(1){width:26%} .bn-art .bn-lng th:nth-child(2),.bn-art .bn-lng td:nth-child(2){width:28%} .bn-art .bn-lng th:nth-child(3),.bn-art .bn-lng td:nth-child(3){width:32%} .bn-art .bn-lng th:nth-child(4),.bn-art .bn-lng td:nth-child(4){width:14%} .bn-art .bn-lng thead th,.bn-art .bn-lng tbody td{padding:11px 10px} @media(max-width:680px){ .bn-lng{padding:20px 17px} .lng-out{padding:17px 15px} .lng-lines{grid-template-columns:minmax(0,1fr)} } .bn-gem{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-gem h3{margin:.1em 0 .3em} .bn-gem>p{font-size:16px;color:var(--bn-muted);margin:0 0 18px} .bn-gem br{display:none} .bn-gem p:empty{display:none;margin:0} .gem-q{padding:15px 0;border-top:1px solid var(--bn-border)} .gem-q:first-of-type{border-top:none;padding-top:2px} .bn-art .gem-qt{font-weight:700;color:var(--bn-ink);margin:0 0 11px;font-size:16px;line-height:1.45} .gem-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} .giv{display:none;border-radius:var(--bn-r-sm);background:#fff;border:1px solid var(--bn-sand);padding:17px 19px;border-left:4px solid var(--bn-coral)} .giv.on{display:block} .giv0{border-left-color:var(--bn-green)} .giv4{border-left-color:var(--bn-blue)} .bn-art .giv em{display:block;font-style:normal;font-family:var(--bn-mono);font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--bn-coral-txt);margin-bottom:7px;line-height:1.4} .bn-art .giv b{display:block;font-size:18px;line-height:1.4;color:var(--bn-ink);margin-bottom:8px} .bn-art .giv p{margin:0;font-size:16px;line-height:1.62;color:var(--bn-text)} .bn-gem .bn-tablewrap{margin-top:22px} @media(max-width:680px){.bn-gem{padding:20px 17px}.gem-out{padding:17px 15px}} .bn-gene{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-gene h3{margin:.1em 0 .3em} .bn-gene>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-gene br{display:none} .bn-gene p:empty{display:none; margin:0} .gene-q{padding:15px 0; border-top:1px solid var(--bn-border)} .gene-q:first-of-type{border-top:none; padding-top:2px} .bn-art .gene-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .gene-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} .gene-tiles{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 16px} .gene-stat{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:16px 12px; text-align:center} .bn-art .gene-stat b{display:block; font-family:var(--bn-mono); font-size:1.5em; line-height:1.12; font-weight:800; letter-spacing:-.02em; color:var(--bn-coral-txt)} .bn-art .gene-stat:nth-child(2) b{color:var(--bn-blue)} .bn-art .gene-stat:nth-child(3) b{color:var(--bn-green)} .bn-art .gene-stat span{display:block; margin-top:7px; font-size:14px; color:var(--bn-muted); line-height:1.4} .bn-art .gene-line{margin:0 0 14px; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .gene-line b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .gene-v{display:none; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border)} .gene-v.on{display:block} .bn-art .gene-v b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .gene-v p{margin:0; font-size:16px; line-height:1.62} .bn-art .gene-note{margin:14px 0 0; font-size:16px; line-height:1.55; color:var(--bn-muted)} .bn-gene table.gene-data{margin:0 0 4px} .bn-art table.gene-data tbody tr.gene-hit td{background:var(--bn-green-soft)} @media(max-width:680px){ .gene-tiles{grid-template-columns:minmax(0,1fr)} } .bn-bud{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-bud h3{margin:.1em 0 .3em} .bn-bud>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-bud br{display:none} .bn-bud p:empty{display:none; margin:0} .bud-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} .budv{display:none; margin-top:16px; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .budv-1{display:block; border-left:4px solid var(--bn-green)} .budv-2{border-left:4px solid var(--bn-blue)} .budv-3{border-left:4px solid var(--bn-coral)} .budv-4{border-left:4px solid var(--bn-ink)} .bn-art .budv em{display:block; font-style:normal; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-coral-txt); margin-bottom:7px; line-height:1.4} .bn-art .budv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:8px} .bn-art .budv p{margin:0 0 .7em; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .budv p:last-child{margin-bottom:0} .bn-art .bud-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} .bn-bud .bn-tablewrap{margin-top:22px} @media(max-width:680px){ .bn-bud{padding:20px 17px} .bud-out{padding:17px 15px} } .bn-art .bn-ras{background:var(--bn-card);border:1px solid var(--bn-border);border-radius:var(--bn-r);padding:26px;margin:30px 0;box-shadow:var(--bn-sh)}.bn-art .bn-ras h3{margin:0 0 18px}.bn-art .bn-ras .rasq{margin:0 0 20px}.bn-art .bn-ras .rasq-t{font-weight:700;color:var(--bn-ink);margin:0 0 10px;font-size:.95em}.bn-art .ras-chip{display:inline-block;position:relative;margin:0 8px 8px 0}.bn-art .ras-chip input{position:absolute;opacity:0;pointer-events:none}.bn-art .ras-chip span{display:inline-block;padding:9px 16px;border-radius:999px;border:1.5px solid var(--bn-border);background:#fff;color:var(--bn-text);font-weight:600;font-size:.92em;cursor:pointer;transition:all .15s}.bn-art .ras-chip span:hover{border-color:var(--bn-coral)}.bn-art .ras-chip input:checked+span{background:var(--bn-coral-soft);border-color:var(--bn-coral);color:var(--bn-coral-txt)}.bn-art .ras-go{display:inline-block;background:var(--bn-coral);color:#332c19;font-weight:800;padding:13px 30px;border-radius:12px;border:0;cursor:pointer;font-size:1em;font-family:inherit}.bn-art .ras-go:hover{background:#ff8782}.bn-art .rasv-panel{display:none}.bn-art .rasv-panel.on{display:block}.bn-art .rasv-wait{display:block}.bn-art .rasv-wait.off{display:none}.bn-art .rasv-res{background:#fff;border:1px solid var(--bn-border);border-radius:var(--bn-r-sm);padding:20px 22px;margin-top:8px}.bn-art .rasv-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:6px 18px;align-items:baseline;padding:9px 0;border-bottom:1px dashed var(--bn-border)}.bn-art .rasv-row:focus-within{border-bottom-color:var(--bn-coral)}.bn-art .rasv-k{font-family:var(--bn-mono);font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--bn-muted)}.bn-art .rasv-v{color:var(--bn-ink);font-weight:600}.bn-art .rasv-v b{color:var(--bn-coral-txt);font-size:1.05em}.bn-art .rasv-note{font-size:.95em;color:var(--bn-muted);margin:12px 0 0}.bn-art .rasv-waitmsg{color:var(--bn-muted);font-style:italic;margin:14px 0 0}.bn-art .ras-tab{margin-top:20px}@media(max-width:640px){.bn-art .rasv-row{grid-template-columns:minmax(0,1fr)}}`));document.head.appendChild(s);<\/script><\/p>\n<div class=\"bn-art\">\n<div class=\"bn-tldr\">\n<p><strong>In short:<\/strong> Rasa is an open source framework written in Python for building chatbots and voice assistants by hand: a language understanding engine, dialogue management, custom actions, deployment on your own servers. The Developer Edition is free but capped (one bot per company, 1,000 external conversations per month or 100 internal conversations), and going to production requires a Rasa Pro license whose price is not published: third-party comparisons mention a starting point around $35,000 per year. The software therefore costs almost nothing: it is the construction, the hosting and the maintenance that you pay for, in development days.<\/p>\n<\/div>\n<p>You want to build a chatbot and the name Rasa comes up in every \u201copen source\u201d comparison. Solid reputation, large community, available code: the framework looks like the natural favorite of technical teams. But between the GitHub repository and an assistant in production for your customers lies a path whose real cost few articles spell out.<\/p>\n<p>This article covers the full picture: how a Rasa chatbot works, what the framework really costs in 2026 (editions, caps, production license), how much construction effort to expect for your project, which limits to know before you start, and when a hosted no-code platform like Botnation does the same job without writing a single line of code.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 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\">Summary<\/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\/en\/rasa-chatbot\/#What_exactly_is_Rasa\" >What exactly is Rasa?<\/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\/en\/rasa-chatbot\/#How_a_Rasa_chatbot_works\" >How a Rasa chatbot works<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/botnation.ai\/en\/rasa-chatbot\/#The_NLU_engine_understanding_what_the_user_says\" >The NLU engine: understanding what the user says<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/botnation.ai\/en\/rasa-chatbot\/#Dialogue_management_deciding_on_the_answer\" >Dialogue management: deciding on the answer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/botnation.ai\/en\/rasa-chatbot\/#Actions_channels_and_deployment\" >Actions, channels and deployment<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/botnation.ai\/en\/rasa-chatbot\/#A_concrete_example_an_order_tracking_bot\" >A concrete example: an order tracking bot<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/botnation.ai\/en\/rasa-chatbot\/#How_much_does_a_Rasa_chatbot_cost\" >How much does a Rasa chatbot cost?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/botnation.ai\/en\/rasa-chatbot\/#Estimate_the_construction_effort_of_your_Rasa_project\" >Estimate the construction effort of your Rasa project<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/botnation.ai\/en\/rasa-chatbot\/#Simulator_your_Rasa_project_in_4_questions\" >Simulator: your Rasa project in 4 questions<\/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\/en\/rasa-chatbot\/#The_limits_of_Rasa_to_know_before_choosing\" >The limits of Rasa to know before choosing<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/botnation.ai\/en\/rasa-chatbot\/#Rasa_or_a_hosted_no-code_platform_how_to_decide\" >Rasa or a hosted no-code platform: how to decide<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/botnation.ai\/en\/rasa-chatbot\/#How_Botnation_answers_the_same_need\" >How Botnation answers the same need<\/a><\/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\/en\/rasa-chatbot\/#Frequently_asked_questions_about_Rasa\" >Frequently asked questions about Rasa<\/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\/en\/rasa-chatbot\/#The_final_word\" >The final word<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/botnation.ai\/en\/rasa-chatbot\/#Build_your_chatbot_without_writing_a_line_of_code\" >Build your chatbot without writing a line of code<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"What_exactly_is_Rasa\"><\/span>What exactly is Rasa?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Rasa is an <strong>open source framework for building chatbots and voice assistants, written in Python<\/strong>. It is not an off-the-shelf piece of software that you install and configure by clicking: it is a development toolkit, just like a web framework. You write configuration files, you train a language model, you program the bot\u2019s actions in Python, and then you deploy the whole thing on infrastructure, yours or a hosting provider\u2019s.<\/p>\n<p>The state of the project can be checked in seconds on the public repository: as of September 21, 2026, the Rasa GitHub repository shows <strong>21,324 stars<\/strong> and an <strong>Apache 2.0<\/strong> license, but also a stable version still stuck at 3.6.x (3.6.21) and last commits several months old. The message is clear: the historic open source core is in maintenance mode, and <strong>active development has moved to Rasa Pro<\/strong>, the commercial licensed edition maintained by the company Rasa Technologies.<\/p>\n<div class=\"bn-stats\">\n<div class=\"bn-stat\"><b>21,324<\/b><span>stars on the public GitHub repository (checked on 09\/21\/2026)<\/span><\/div>\n<div class=\"bn-stat\"><b>Apache 2.0<\/b><span>license of the open source core, reusable in a business context<\/span><\/div>\n<div class=\"bn-stat\"><b>Python<\/b><span>the language you must master for everything beyond the basics<\/span><\/div>\n<\/div>\n<p>A essential vocabulary point before going further: there are <strong>two Rasas<\/strong>. The historic open source core (the one on GitHub, under the Apache 2.0 license) covers the language understanding engine and scenario-based dialogue management. In parallel, the vendor offers <strong>Rasa Pro<\/strong>, an edition under a commercial license that ships the recent building blocks, including the <strong>CALM<\/strong> approach (Conversational AI with Language Models), which relies on large language models to drive the dialogue. The free Developer Edition gives access to Rasa Pro for evaluation purposes and small deployments, within the caps detailed below.<\/p>\n<p>Do not confuse it with an \u201call included\u201d chatbot platform either: Rasa provides neither default managed hosting, nor a visual creation interface in its free core, nor ready-made connectors you can configure in a few clicks. Those are precisely the pieces you assemble yourself. If the framework versus platform distinction interests you, we cover it in our guide to <a href=\"https:\/\/botnation.ai\/en\/chatbot-platform\/\">chatbot platforms<\/a>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"How_a_Rasa_chatbot_works\"><\/span>How a Rasa chatbot works<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>A Rasa bot rests on three blocks that talk to each other: language understanding, dialogue management and custom actions. Let us walk through them in the order of an actual conversation.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"The_NLU_engine_understanding_what_the_user_says\"><\/span>The NLU engine: understanding what the user says<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The NLU block (Natural Language Understanding) receives every message and extracts an <strong>intent<\/strong> (what the user wants: \u201ctrack an order\u201d, \u201crequest a refund\u201d) and <strong>entities<\/strong> (the details: an order number, a date, an amount). For that, you supply sample sentences for each intent: the model trains on them. The quality of the bot depends directly on this feeding work, sentence by sentence, language by language. We explain this mechanism in detail in our article on <a href=\"https:\/\/botnation.ai\/en\/how-chatbots-work\/\">how chatbots work<\/a>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Dialogue_management_deciding_on_the_answer\"><\/span>Dialogue management: deciding on the answer<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Once the message is understood, the bot must decide on the response: ask a clarifying question, call a system, confirm an action. In the open source core, this steering is written as <strong>stories and rules<\/strong> in YAML files: the path of the conversation is described by hand, step by step. In Rasa Pro, the CALM approach complements this: large language models interpret the user\u2019s general intent and connect it to declared business flows, which makes the dialogue less rigid, at the price of a more complex architecture to master.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Actions_channels_and_deployment\"><\/span>Actions, channels and deployment<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Third block: <strong>custom actions<\/strong>, written in Python with the provided SDK. This is where your bot becomes useful: query your CRM, create a ticket, check an order, write to a database. Then come the channel connectors (website, messaging apps, contact center) and deployment: Rasa is containerized and deploys on Kubernetes with Helm, self-hosted or in a private cloud.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-rasa-corps2.jpg\" alt=\"Person seen from behind in front of two screens, working on chatbot code\" decoding=\"async\"><figcaption>Behind every Rasa chatbot there is code: flows, Python actions and integrations are written and maintained by hand.<\/figcaption><\/figure>\n<ul>\n<li><strong>Training data<\/strong>: sample sentences, entities, answers, to be written and maintained by hand.<\/li>\n<li><strong>Configuration<\/strong>: processing pipelines and dialogue policies in YAML.<\/li>\n<li><strong>Python code<\/strong>: custom actions, validations, system integrations.<\/li>\n<li><strong>Infrastructure<\/strong>: containers, Kubernetes, monitoring, backups, version upgrades.<\/li>\n<\/ul>\n<p>The summary fits in one sentence: nothing is impossible with Rasa, but <strong>nothing is already done<\/strong>. Every block above is a work site, and that is exactly where the real cost of the framework lives, as confirmed project by project by our <a href=\"https:\/\/botnation.ai\/en\/how-to-develop-a-chatbot\/\">chatbot development method<\/a>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"A_concrete_example_an_order_tracking_bot\"><\/span>A concrete example: an order tracking bot<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Let us take a simple case to pin the ideas down: a bot that answers \u201cwhere is my order?\u201d. In Rasa, this means creating a \u201ctrack_order\u201d intent with a few dozen sample sentences (\u201cwhere is my parcel\u201d, \u201cmy order has not arrived\u201d\u2026), extracting the \u201corder number\u201d entity, then writing a Python action that queries your logistics API and formats the answer. Each additional language duplicates the sample sentence work. Each new use case (returns, invoices, exchanges) restarts the cycle: data, action, tests. That cycle, repeated, is what makes up the construction budget, whereas on a no-code platform the same scenario is assembled visually from ready-made blocks and a connector configured with the mouse.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"How_much_does_a_Rasa_chatbot_cost\"><\/span>How much does a Rasa chatbot cost?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>A tricky question: \u201cRasa is free\u201d is both true and very misleading. Here is the grid as it stands on September 21, 2026 on the vendor\u2019s pricing page.<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Edition<\/th>\n<th>Listed price<\/th>\n<th>What it covers<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Developer Edition<\/strong><\/td>\n<td>Free<\/td>\n<td>One bot per company, up to 1,000 external conversations per month (or 100 internal conversations), community support. Usable locally or in production within those limits.<\/td>\n<\/tr>\n<tr>\n<td><strong>Rasa Pro<\/strong> (production)<\/td>\n<td>Not published (quote only)<\/td>\n<td>The full framework under a commercial license: CALM, multilingual NLU, custom actions, REST and WebSocket connectors, Kubernetes deployment, end-to-end testing, personal data management, multi-LLM, observability. Paid support as an option.<\/td>\n<\/tr>\n<tr>\n<td><strong>Platform (enterprise offers)<\/strong><\/td>\n<td>Not published (quote only)<\/td>\n<td>Rasa Pro plus team tools: flow building interface, testing panel, conversation analytics, access management (SSO, roles), premium 24\/7 support as an option.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Three honest remarks about this table. First, <strong>the vendor publishes no production price<\/strong>: the official grid leads to a sales contact, and only the Developer Edition cap is spelled out in black and white (1,000 external conversations per month). Next, third-party comparisons give an order of magnitude: the comparison published by Voiceflow in July 2026 puts the starting point of Rasa in production \u201caround $35,000 per year\u201d, a figure to take as an indicative range to be confirmed by quote, not as an official price. Finally, the Developer Edition\u2019s community support remains \u201cbest effort\u201d: as soon as the bot becomes business critical, paid support enters the budget.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-rasa-capture-rasa-pricing.jpg\" alt=\"Screenshot of the Rasa pricing page: free Developer Edition and quote-only Enterprise offer\" decoding=\"async\"><figcaption>The vendor\u2019s pricing page on September 21, 2026: free Developer Edition with its caps on display, production offers by quote only.<\/figcaption><\/figure>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-rasa-corps1.jpg\" alt=\"Server rack in a company room, illustration of self-hosting a chatbot\" decoding=\"async\"><figcaption>Self-hosting gives you full control over your data: servers, monitoring, security and updates stay on you.<\/figcaption><\/figure>\n<p>Then comes the largest share, the one no grid shows: <strong>the cost of construction and operation<\/strong>. Developing the flows and actions, feeding the training data, integrating with your systems, hosting (self-hosted means servers to pay for and watch), corrective and evolving maintenance, framework upgrades. This is the item that separates projects, and it is exactly what the simulator in the next section measures.<\/p>\n<p>For the most useful public fact: the <strong>free Developer Edition<\/strong> lets you prototype seriously without spending anything, as long as you stay under the 1,000 monthly external conversations. It is a real advantage to validate a use case before committing a budget.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Estimate_the_construction_effort_of_your_Rasa_project\"><\/span>Estimate the construction effort of your Rasa project<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The simulator below estimates, from four characteristics of your project, the construction effort of a Rasa chatbot in man-days, the corresponding calendar duration and an indicative cost. It compares it with the same scope built on a hosted no-code platform. The assumptions are deliberately displayed below the tool: this is a decision-support order of magnitude, not a quote.<\/p>\n<div class=\"bn-ras\">\n<h3><span class=\"ez-toc-section\" id=\"Simulator_your_Rasa_project_in_4_questions\"><\/span>Simulator: your Rasa project in 4 questions<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"rasq\">\n<p class=\"rasq-t\">1. Functional scope of the bot<\/p>\n<p><label class=\"ras-chip\"><input type=\"radio\" name=\"rasq1\" value=\"faq\" data-jh=\"15\" data-nc=\"2\" data-lbl=\"Simple FAQ: 15 man-days core\"><span>Simple FAQ<\/span><\/label><br>\n<label class=\"ras-chip\"><input type=\"radio\" name=\"rasq1\" value=\"trx\" data-jh=\"30\" data-nc=\"5\" data-lbl=\"Transactional assistant: 30 man-days core\"><span>Transactional assistant<\/span><\/label><br>\n<label class=\"ras-chip\"><input type=\"radio\" name=\"rasq1\" value=\"llm\" data-jh=\"45\" data-nc=\"8\" data-lbl=\"LLM-powered agent: 45 man-days core\"><span>LLM-powered agent<\/span><\/label>\n<\/p><\/div>\n<div class=\"rasq\">\n<p class=\"rasq-t\">2. Languages of the bot<\/p>\n<p><label class=\"ras-chip\"><input type=\"radio\" name=\"rasq2\" value=\"l1\" data-add=\"0\" data-ncl=\"0\" data-lbl=\"1 language: +0 man-day\"><span>1 language<\/span><\/label><br>\n<label class=\"ras-chip\"><input type=\"radio\" name=\"rasq2\" value=\"l2\" data-add=\"6\" data-ncl=\"1\" data-lbl=\"2 to 3 languages: +6 man-days\"><span>2 to 3 languages<\/span><\/label><br>\n<label class=\"ras-chip\"><input type=\"radio\" name=\"rasq2\" value=\"l4\" data-add=\"15\" data-ncl=\"2\" data-lbl=\"4 languages and more: +15 man-days\"><span>4 languages and more<\/span><\/label>\n<\/p><\/div>\n<div class=\"rasq\">\n<p class=\"rasq-t\">3. Integrations with your systems<\/p>\n<p><label class=\"ras-chip\"><input type=\"radio\" name=\"rasq3\" value=\"i0\" data-add=\"2\" data-nci=\"0\" data-lbl=\"No integration: +2 man-days\"><span>None (website and FAQ)<\/span><\/label><br>\n<label class=\"ras-chip\"><input type=\"radio\" name=\"rasq3\" value=\"i1\" data-add=\"8\" data-nci=\"2\" data-lbl=\"1 to 2 integrations: +8 man-days\"><span>1 to 2 (CRM, database)<\/span><\/label><br>\n<label class=\"ras-chip\"><input type=\"radio\" name=\"rasq3\" value=\"im\" data-add=\"20\" data-nci=\"5\" data-lbl=\"Several systems: +20 man-days\"><span>Several systems<\/span><\/label>\n<\/p><\/div>\n<div class=\"rasq\">\n<p class=\"rasq-t\">4. Hosting mode<\/p>\n<p><label class=\"ras-chip\"><input type=\"radio\" name=\"rasq4\" value=\"managed\" data-add=\"1\" data-lbl=\"Managed hosting: +1 man-day\"><span>Managed by the vendor<\/span><\/label><br>\n<label class=\"ras-chip\"><input type=\"radio\" name=\"rasq4\" value=\"self\" data-add=\"6\" data-lbl=\"Self-hosted: +6 man-days\"><span>Self-hosted or private cloud<\/span><\/label>\n<\/p><\/div>\n<p><button type=\"button\" class=\"ras-go\" id=\"ras-go\">Estimate my project<\/button><\/p>\n<div class=\"rasv-panel rasv-res\" id=\"rasv-res\" data-sep=\",\" data-tests=\"Recipe and testing: +20% of the sub-total\">\n<div class=\"rasv-row\"><span class=\"rasv-k\">Rasa construction effort<\/span><span class=\"rasv-v\"><b id=\"raso-total\">0<\/b> man-days<\/span><\/div>\n<div class=\"rasv-row\"><span class=\"rasv-k\">Assumption details<\/span><span class=\"rasv-v\" id=\"raso-detail\">\u2026<\/span><\/div>\n<div class=\"rasv-row\"><span class=\"rasv-k\">Indicative duration<\/span><span class=\"rasv-v\">from <b id=\"raso-m1\">0<\/b> to <b id=\"raso-m2\">0<\/b> months with a small team (1 to 2 developers)<\/span><\/div>\n<div class=\"rasv-row\"><span class=\"rasv-k\">Indicative construction cost<\/span><span class=\"rasv-v\"><b id=\"raso-cout\">0<\/b> \u20ac excl. tax (order of magnitude)<\/span><\/div>\n<div class=\"rasv-row\"><span class=\"rasv-k\">Same scope on a hosted no-code platform<\/span><span class=\"rasv-v\"><b id=\"raso-nc\">0<\/b> man-days, roughly <b id=\"raso-ratio\">0<\/b> times less effort<\/span><\/div>\n<p class=\"rasv-note\">Reminder: the framework is free; construction, hosting and maintenance are not. And beyond 1,000 external conversations per month, the Rasa Pro production license becomes necessary.<\/p>\n<\/div>\n<div class=\"rasv-panel rasv-wait\" id=\"rasv-wait\">\n<p class=\"rasv-waitmsg\">Pick an answer in each of the 4 questions, then click \u201cEstimate my project\u201d.<\/p>\n<\/div>\n<div class=\"bn-tablewrap\">\n<table class=\"ras-tab\">\n<thead>\n<tr>\n<th>Project block<\/th>\n<th>Simulator assumption (order of magnitude)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>NLU and dialogue core<\/td>\n<td>15 man-days (simple FAQ) to 45 man-days (LLM-powered agent)<\/td>\n<\/tr>\n<tr>\n<td>Additional languages<\/td>\n<td>+6 man-days (2 to 3 languages), +15 man-days (4 languages and more)<\/td>\n<\/tr>\n<tr>\n<td>IT integrations<\/td>\n<td>+2 man-days (none), +8 (1 to 2), +20 (several systems)<\/td>\n<\/tr>\n<tr>\n<td>Hosting<\/td>\n<td>+1 man-day (managed), +6 man-days (self-hosted or private cloud)<\/td>\n<\/tr>\n<tr>\n<td>Recipe and testing<\/td>\n<td>+20% of the sub-total<\/td>\n<\/tr>\n<tr>\n<td>Hosted no-code reference<\/td>\n<td>2 to 8 man-days depending on scope, hosting included<\/td>\n<\/tr>\n<tr>\n<td>Daily cost<\/td>\n<td>\u20ac550 excl. tax per man-day (confirmed Python developer, editorial market assumption)<\/td>\n<\/tr>\n<tr>\n<td>Team productivity<\/td>\n<td>about 18 productive man-days per month and per developer<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><script>(function(){var B=document.getElementById(\"ras-go\");if(!B){return;}B.addEventListener(\"click\",function(){var show=function(w,r){if(r){r.classList.remove(\"on\");}if(w){w.classList.remove(\"off\");}};var g=function(n){var l=document.querySelector(\"input[name='\"+n+\"']:checked\");if(l){return l;}return null;};var q1=g(\"rasq1\");var q2=g(\"rasq2\");var q3=g(\"rasq3\");var q4=g(\"rasq4\");var W=document.getElementById(\"rasv-wait\");var R=document.getElementById(\"rasv-res\");if(!q1){show(W,R);return;}if(!q2){show(W,R);return;}if(!q3){show(W,R);return;}if(!q4){show(W,R);return;}if(W){W.classList.add(\"off\");}var base=parseInt(q1.getAttribute(\"data-jh\"),10);var lang=parseInt(q2.getAttribute(\"data-add\"),10);var integ=parseInt(q3.getAttribute(\"data-add\"),10);var host=parseInt(q4.getAttribute(\"data-add\"),10);var sous=base+lang+integ+host;var tests=Math.ceil(sous*0.2);var total=sous+tests;var m1=Math.ceil(total\/36);var m2=Math.ceil(total\/18);var cout=total*550;var ncb=parseInt(q1.getAttribute(\"data-nc\"),10);var nci=parseInt(q3.getAttribute(\"data-nci\"),10);var ncl=parseInt(q2.getAttribute(\"data-ncl\"),10);var nct=ncb+nci+ncl;var ratio=Math.round(total\/nct);if(!(ratio>0)){ratio=1;}var sp=R.getAttribute(\"data-sep\");var f=function(n){var s=\"\"+n;var r=\"\";var c=0;var i=s.length-1;while(i>=0){r=s.charAt(i)+r;c=c+1;if(c%3===0){if(i>0){r=sp+r;}}i=i-1;}return r;};document.getElementById(\"raso-total\").textContent=f(total);document.getElementById(\"raso-m1\").textContent=f(m1);document.getElementById(\"raso-m2\").textContent=f(m2);document.getElementById(\"raso-cout\").textContent=f(cout);document.getElementById(\"raso-nc\").textContent=f(nct);document.getElementById(\"raso-ratio\").textContent=\"\"+ratio;var d=q1.getAttribute(\"data-lbl\")+\" ; \"+q2.getAttribute(\"data-lbl\")+\" ; \"+q3.getAttribute(\"data-lbl\")+\" ; \"+q4.getAttribute(\"data-lbl\")+\" ; \"+R.getAttribute(\"data-tests\");document.getElementById(\"raso-detail\").textContent=d;R.classList.add(\"on\");});})();<\/script><\/p>\n<p>Method: the orders of magnitude in the table are editorial assumptions built from typical chatbot project scopes; they are deliberately pessimistic for Rasa on testing (20% of the sub-total) and cautious on multiple integrations. The production license cost is not included, for lack of a public grid. Use the result as a starting point for an internal discussion, not as a contractual figure.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"The_limits_of_Rasa_to_know_before_choosing\"><\/span>The limits of Rasa to know before choosing<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The framework is excellent at what it was designed for. But four limits come up systematically in projects.<\/p>\n<ul>\n<li><strong>Python is mandatory<\/strong>: as soon as your bot leaves the question-and-answer pattern (actions, integrations, tests), a Python developer profile is indispensable, for construction as well as maintenance.<\/li>\n<li><strong>No visual interface in the open source core<\/strong>: flows and configuration are written in files; the visual flow builder and the analytics are reserved for the paid platform offers.<\/li>\n<li><strong>Time to market<\/strong>: between getting to grips with the framework and a bot in production, count weeks of development at the very least, against a few days on a no-code platform for a simple scope.<\/li>\n<li><strong>Operating burden<\/strong>: self-hosted, availability, security, backups and framework upgrades are your permanent responsibility.<\/li>\n<\/ul>\n<p>Before you decide, three questions settle most debates. Who will maintain the bot in twelve months: the team that built it, or a business team that must be able to change an answer without a development ticket? What is the real delay before a first useful version: are weeks of construction acceptable, or is the need already pressing? And what is the total cost over three years, license included: a \u201cfree\u201d framework with two part-time developers is very expensive, a \u20ac59 per month subscription reads at a glance. These questions have no universal answer, but they have a right answer for your organization.<\/p>\n<p>None of these limits is a blocker for a technical team that has time and needs full control. They are decisive, however, for a business team that wants an operational bot fast, without hiring or outsourcing development.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Rasa_or_a_hosted_no-code_platform_how_to_decide\"><\/span>Rasa or a hosted no-code platform: how to decide<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The two approaches do not serve exactly the same need, and the right choice depends on three questions: who will maintain the bot, within what timeline, and with what budget.<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Criterion<\/th>\n<th>Rasa (open source framework)<\/th>\n<th>Hosted no-code platform (like Botnation)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Skills required<\/td>\n<td>Python developers<\/td>\n<td>Autonomous business team after light training<\/td>\n<\/tr>\n<tr>\n<td>Time to launch<\/td>\n<td>Weeks to months depending on scope<\/td>\n<td>Days, ready-made templates<\/td>\n<\/tr>\n<tr>\n<td>Entry cost<\/td>\n<td>Free on the Developer Edition, then quote-based license and development days<\/td>\n<td>Free (\u20ac0) then plans from \u20ac39 per month<\/td>\n<\/tr>\n<tr>\n<td>Hosting<\/td>\n<td>Your responsibility (self-hosted or private cloud)<\/td>\n<td>Included and managed by the vendor<\/td>\n<\/tr>\n<tr>\n<td>Total customization<\/td>\n<td>Total: code, models, flows, everything can be changed<\/td>\n<td>Broad but framed by the tool<\/td>\n<\/tr>\n<tr>\n<td>Data on your side<\/td>\n<td>Yes, when self-hosted<\/td>\n<td>Vendor hosting (enterprise offer for dedicated needs)<\/td>\n<\/tr>\n<tr>\n<td>Maintenance<\/td>\n<td>Your continuous responsibility<\/td>\n<td>Included in the subscription<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>A word about the comparisons you will read elsewhere: many tables pit \u201cfree open source\u201d against \u201cpaid SaaS\u201d without counting the same items. The free framework compares with the subscription price only if you take developers\u2019 salaries, hosting and maintenance out of the picture; the opposite would be just as misleading. The two models do not say the same thing when brought back to the question that matters: how much does the next change to your bot cost, and who can make it.<\/p>\n<p>In short: <strong>Rasa wins<\/strong> when you have an available technical team, a need for total control (data, model, deep integrations, deployment on your own infrastructure) and a horizon of several months. <strong>The no-code platform wins<\/strong> when the goal is an operational bot quickly, maintained by the vendor, run by the business team, with a subscription-level cost. If you compare market players one by one, our page on <a href=\"https:\/\/botnation.ai\/en\/genesys-chatbot\/\">Genesys chatbot<\/a> follows the same price and limits verification approach.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-rasa-capture-github.jpg\" alt=\"Screenshot of the Rasa GitHub repository: Apache 2.0 license and version 3.6.x\" decoding=\"async\"><figcaption>The public Rasa repository on September 21, 2026: Apache 2.0 license on display, 3.6.x stable core, main development moved to the licensed edition.<\/figcaption><\/figure>\n<p>The screenshot above shows the public Rasa repository as consulted on September 21, 2026: Apache 2.0 license displayed, stable core at 3.6.x and ageing last commits, three signals to read before adopting an open source framework (and the sign that innovation now happens on the Rasa Pro side).<\/p>\n<h2><span class=\"ez-toc-section\" id=\"How_Botnation_answers_the_same_need\"><\/span>How Botnation answers the same need<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Botnation attacks the problem from the other end: instead of handing you a framework to assemble, the platform provides the visual builder, the channels (website, WhatsApp, Messenger, Instagram), hosting and updates, with a public range: <strong>Free at \u20ac0, Basic at \u20ac39 per month, Pro at \u20ac59 per month, Enterprise on demand<\/strong> (grid checked on September 21, 2026 on the pricing page, prices displayed in euros). A simple project starts without a developer, and the Enterprise offer covers advanced needs: Botnation publishes a no-code platform <strong>and<\/strong> builds custom chatbots for its customers, with chatbot creation experts who build the assistant for you, on quote.<\/p>\n<p>The point of the comparison with Rasa: the team that builds the custom work is the team that publishes the platform, so the customer gets an assistant they can later evolve themselves in the builder, without taking code back over. That is the difference in nature with a framework: custom does not imply going back to a permanent technical work site.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-rasa-capture-tarifs-en.jpg\" alt=\"Screenshot of the Botnation pricing page: For Free 0 euro, Basic 39 euros, Pro 59 euros per month, Enterprise on demand\" decoding=\"async\"><figcaption>The Botnation grid on September 21, 2026: For Free at \u20ac0, Basic at \u20ac39, Pro at \u20ac59 per month, Enterprise on demand, unlimited agents.<\/figcaption><\/figure>\n<p>On the team side, Botnation\u2019s enterprise page publicly presents its \u201cchatbot creation experts\u201d: for a project beyond the templates, these botmakers build the assistant on quote, with a dedicated account manager and personalized onboarding in the Enterprise offer. The customer can then evolve the flows in the builder, or hand the changes over to the same team; in both cases there is no code to take over and no infrastructure to administer.<\/p>\n<p>For customer support or an automated FAQ, the fastest path is to start from a ready-made use case: our <a href=\"https:\/\/botnation.ai\/en\/products\/client-support\/\">customer support chatbot<\/a> shows the typical scope deliverable in days.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Frequently_asked_questions_about_Rasa\"><\/span>Frequently asked questions about Rasa<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<details class=\"bn-faq\">\n<summary>Is Rasa really free?<\/summary>\n<div class=\"bn-faq-b\">\n<p>The Developer Edition is, with precise caps: one bot per company, 1,000 external conversations per month or 100 internal conversations, and community support. Production beyond those limits requires a Rasa Pro license whose price is not published; the third-party order of magnitude cited is around $35,000 per year to start (Voiceflow, July 2026), to be confirmed by quote. The historic core on GitHub remains under the Apache 2.0 license.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Do you need to know how to code to build a Rasa chatbot?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Yes, for everything beyond strict question-and-answer. The open source core is driven by configuration files and Python (custom actions, integrations, deployment). The visual flow builder is reserved for the paid platform offers. Without a developer in the team, a no-code platform is the shortest path.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Does Rasa work in English?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Yes. Rasa Pro highlights a language-agnostic NLU, and the open source core trains on your own sample sentences, in English as in any other language. Note that each added language is a real training data and testing effort, which the simulator above quantifies.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Can you host a Rasa chatbot on your own servers?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Yes, it is one of the framework\u2019s strongest arguments: self-hosted deployment (on premises or private cloud) is possible, with Kubernetes and Helm. It also means availability, security, backups and updates are your permanent responsibility.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>What budget for a Rasa chatbot in production?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Three items: the production license (by quote, the cited third-party order of magnitude is about $35,000 per year to start), construction (typical projects count in tens of man-days, try the simulator), and operations (hosting, maintenance, evolutions). A simple bot with heavy traffic can cost more in license than a complex project kept under the Developer Edition caps.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>When to prefer a no-code platform over Rasa?<\/summary>\n<div class=\"bn-faq-b\">\n<p>When the need is an operational bot fast (FAQ, customer support, appointment booking, lead qualification), when the team that will run the bot is a business team, and when the budget is managed as a subscription rather than in development days. Rasa remains the right tool when total technical control is a goal in itself.<\/p>\n<\/div>\n<\/details>\n<h2><span class=\"ez-toc-section\" id=\"The_final_word\"><\/span>The final word<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Rasa is an excellent framework, and its free cap of 1,000 conversations per month lets you prototype without spending money. But the real question of a project is never \u201cis the software free\u201d: it is \u201cwho builds, who maintains, and at what total cost\u201d. If your team has no Python developers to dedicate for weeks, a hosted no-code platform will deliver the same result much faster, and our team can build the custom parts for you when the need justifies it.<\/p>\n<div class=\"bn-cta\">\n<h3><span class=\"ez-toc-section\" id=\"Build_your_chatbot_without_writing_a_line_of_code\"><\/span>Build your chatbot without writing a line of code<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Try the platform for free, or hand the construction of your assistant over to our chatbot creation experts.<\/p>\n<p class=\"bn-cta-in\"><a class=\"bn-cta-btn\" href=\"https:\/\/botnation.ai\/en\/pricing\/\">See the pricing<\/a><\/p>\n<p class=\"bn-cta-in\"><a href=\"https:\/\/botnation.ai\/en\/contact\/\">Talk to an expert<\/a><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In short: Rasa is an open source framework written in Python for building chatbots and voice assistants by hand: a language understanding engine, dialogue management, custom actions, deployment on your own servers. The Developer Edition is free but capped (one bot per company, 1,000 external conversations per month or 100 internal conversations), and going to [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":31698,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[362],"tags":[],"class_list":["post-31707","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chatbot-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts\/31707","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/comments?post=31707"}],"version-history":[{"count":1,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts\/31707\/revisions"}],"predecessor-version":[{"id":31708,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts\/31707\/revisions\/31708"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/media\/31698"}],"wp:attachment":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/media?parent=31707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/categories?post=31707"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/tags?post=31707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}