File size: 852 Bytes
2ce5e93
aae4d3d
85ee925
 
 
78209bc
756fca0
85ee925
 
4b3b841
85ee925
 
 
 
 
 
 
 
 
 
 
 
d8410b4
f9a1a18
d8410b4
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from _utils.gerar_documento_utils.llm_calls import agemini_answer
from _utils.gerar_documento_utils.prompts import prompt_para_gerar_titulo
import tiktoken

encoding = tiktoken.get_encoding("cl100k_base")


def split_text_by_tokens(full_text: str):
    tokens = encoding.encode(full_text)
    max_tokens = 600000

    # Divide os tokens em partes de no máximo max_tokens
    token_chunks = [
        tokens[i : i + max_tokens] for i in range(0, len(tokens), max_tokens)
    ]

    # Decodifica cada pedaço de tokens de volta para texto
    text_chunks = [encoding.decode(chunk) for chunk in token_chunks]

    return text_chunks


async def generate_document_title(resumo_para_gerar_titulo: str):
    prompt = prompt_para_gerar_titulo(resumo_para_gerar_titulo)
    response = await agemini_answer(prompt, "gemini-2.0-flash-lite")
    return response