Задание
📝 **Вопрос:** **Напишите функцию** \`chunk_count(total_tokens, chunk_size, перекрытие)\`, которая возвращает количество фрагментов, созданных документом при разбиении по скользящему окну.
Спецификация: каждый чанк представляет собой токены \`chunk_size\`. Каждый фрагмент перекрывает предыдущий на токены «перекрытия», поэтому *шаг* (эффективные новые токены на фрагмент) равен «размер_куска - перекрытие». Первый фрагмент начинается с 0; новые фрагменты продолжают добавляться до тех пор, пока начальная позиция не превысит «total_tokens».
Формула:
\`\`\`
шаг = размер_куска — перекрытие
count = ceil(max(0, total_tokens - перекрытие) / шаг)
\`\`\`
(Особый случай: если \`total_tokens <= chunk_size\`, это все равно 1 чанк.)
Затем напечатайте количество фрагментов для этих трех конфигураций документа размером 50 000 токенов:
\`\`\`
500/50:111
800/80:70
1500/200:39
\`\`\`
Снижение в 3 раза со 111 фрагментов до 39 фрагментов → это компромисс по стоимости внедрения, который старшие разработчики четко указывают перед индексированием 1 миллиона документов.
📋Выберите правильный ответ.
💡 **Подсказка:** Если вы не уверены, перечитайте приведенную выше теорию.