Cupom FLUXOCHAT - Ganhe 10% de desconto em qualquer plano NicoChat.

https://www.nicochat.com.br/ 

Bem-vindo à aula sobre como dividir textos grandes com Javascript no curso "Construindo o Fluxo Prime: Seu Guia Inicial de IA com Nicochat". Nesta aula, você aprenderá:

Deixe seus comentários e dúvidas, teremos prazer em respondê-los!

Até a próxima aula!

Código Javascript:

(splitText, charLimit = 900)


function findEndOfSentenceNearLimit(text, start_index, char_limit) {

    let end_indices = [];

    [".", "?", "!"].forEach(symbol => {

        let idx = text.indexOf(symbol, start_index);

        while (idx !== -1 && idx <= char_limit) {

            end_indices.push(idx);

            idx = text.indexOf(symbol, idx + 1);

        }

    });

    if (end_indices.length === 0) {

        return char_limit < text.length ? char_limit : text.length;

    }

    return Math.min(...end_indices.filter(idx => idx >= start_index + char_limit * 0.8));

}

if (splitText.length <= charLimit) {

    return ["", splitText.trim()];

}

let first_index = findEndOfSentenceNearLimit(splitText, 0, charLimit);

let first_part = splitText.slice(0, first_index + 1).trim();

let second_part = splitText.slice(first_index + 1).trim();

if (second_part.length > charLimit) {

    let second_index = findEndOfSentenceNearLimit(second_part, 0, charLimit);

    second_part = second_part.slice(0, second_index + 1).trim();

}

return [first_part, second_part];