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