Tâche
📝 **Question :** **Écrivez la fonction** \`chunk_count(total_tokens, chunk_size, chevauchement)\` qui renvoie le nombre de morceaux qu'un document produit avec la segmentation par fenêtre coulissante.
Spécification : chaque morceau est constitué de jetons \`chunk_size\`. Chaque morceau chevauche le précédent par des jetons \`overlap\` — donc l'*étape* (nouveaux jetons effectifs par morceau) est \`chunk_size - chevauchement\`. Le premier morceau commence à 0 ; de nouveaux morceaux continuent d'être ajoutés jusqu'à ce que la position de départ dépasse \`total_tokens\`.
Formule :
\`\`\`
step = chunk_size - chevauchement
count = ceil(max(0, total_tokens - chevauchement) / pas)
\`\`\`
(Cas limite : si \`total_tokens <= chunk_size\`, cela fait toujours 1 morceau.)
Imprimez ensuite le nombre de blocs pour ces trois configurations d'un document de 50 000 jetons :
\`\`\`
500/50 : 111
800/80 : 70
1500/200 : 39
\`\`\`
La baisse de 3 × de 111 morceaux à 39 morceaux → c'est le compromis sur le coût d'intégration que les développeurs seniors rendent explicite avant d'indexer 1 million de documents.
📋 Choisissez la bonne réponse.
💡 **Indice :** Relisez la théorie ci-dessus en cas de doute.