Перейти к основному содержимому
🔒 Режим превью. Первые 15 уроков Foundations — бесплатные; этот — Pro. Запусти 7-дневный trial чтобы открыть редактор, AI-подсказки и остальной курс. Нужна карта, отмена в Dashboard в любой момент.Начать 7-дневный trial →
← КурсыAI Engineering with PythonМодуль 3 · RAG (генерация с расширенным поиском)Стратегии дробленияwrite36 / 105
+100 XP
Задание
📝 **Вопрос:** **Напишите функцию** \`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 миллиона документов. 📋Выберите правильный ответ. 💡 **Подсказка:** Если вы не уверены, перечитайте приведенную выше теорию.
✏️ Пиши код здесь
🐍
Загрузка Python...
Одноразовая загрузка (~1 МБ). Далее — мгновенно.
📊 Результат
Нажмите «Запустить», чтобы увидеть результат...

💬 Обсуждение

Будьте первым — задайте вопрос или поделитесь подсказкой.
Войдите чтобы участвовать в обсуждении. Чтение бесплатно.
Загрузка обсуждения…