Spaces:
Running
Running
luanpoppe
commited on
Commit
·
b909baa
1
Parent(s):
78aaed0
fix: adicionando mais regexs aos contextuals
Browse files
_utils/gerar_documento_utils/contextual_retriever.py
CHANGED
@@ -257,12 +257,14 @@ class ContextualRetrieverUtils:
|
|
257 |
|
258 |
def check_regex_patterns(self, context: str, lista_de_document_ids: List[int]):
|
259 |
patterns = [
|
260 |
-
# r"\[*([\d.\-]+)\]*\s*---\s*\[*([^]]+)\]*\s*---\s*\[*([^]]+)\]*\s*</chunk_context>", # PRIMEIRO DE TODOS
|
261 |
-
# r"<chunk_context>\s*([\d.\-]+)\s*---\s*([^<]+)\s*---\s*([^<]+)\s*</chunk_context>",
|
262 |
r"\[(.*?)\] --- \[(.*?)\] --- \[(.*?)\](?=\n|\s*$)",
|
263 |
r"\[([^\[\]]+?)\]\s*---\s*\[([^\[\]]+?)\]\s*---\s*(.*?)</chunk_context>",
|
264 |
r"<chunk_context>\s*(\d+)(?:\s*-\s*Pág\.\s*\d+)?\s*---\s*([^-\n]+)\s*---\s*([^<]+)</chunk_context>",
|
265 |
r"<chunk_context>\s*(?:\[*([\d]+)\]*\s*[-–]*\s*(?:Pág\.\s*\d+\s*[-–]*)?)?\s*\[*([^\]]+)\]*\s*[-–]*\s*\[*([^\]]+)\]*\s*[-–]*\s*\[*([^\]]+)\]*\s*</chunk_context>",
|
|
|
|
|
|
|
|
|
266 |
# r"\[([\d.\-]+)\]\s*---\s*\[([^]]+)\]\s*---\s*\[([^]]+)\]\s*</chunk_context>",
|
267 |
# r"<chunk_context>\s*\[?([\d.\-]+)\]?\s*---\s*\[?([^\]\[]+?)\]?\s*---\s*\[?([^<]+?)\]?\s*</chunk_context>",
|
268 |
# r"<chunk_context>\s*\[([\d.\-]+)\]\s*---\s*\[([^\]]+)\]\s*---\s*\[([^\]]+)\]\s*</chunk_context>"
|
@@ -272,6 +274,7 @@ class ContextualRetrieverUtils:
|
|
272 |
resultado = None
|
273 |
for pattern in patterns:
|
274 |
matches: List[str] = re.findall(pattern, context, re.DOTALL)
|
|
|
275 |
condition_tuples_3_items = all(len(m) == 3 for m in matches)
|
276 |
if len(matches) == len(lista_de_document_ids) and condition_tuples_3_items:
|
277 |
print("\n--------------- REGEX DO CONTEXTUAL FUNCIONOU")
|
@@ -286,6 +289,38 @@ class ContextualRetrieverUtils:
|
|
286 |
resultado.append((first_item, m[1], m[2]))
|
287 |
break
|
288 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
289 |
return resultado
|
290 |
|
291 |
|
|
|
257 |
|
258 |
def check_regex_patterns(self, context: str, lista_de_document_ids: List[int]):
|
259 |
patterns = [
|
|
|
|
|
260 |
r"\[(.*?)\] --- \[(.*?)\] --- \[(.*?)\](?=\n|\s*$)",
|
261 |
r"\[([^\[\]]+?)\]\s*---\s*\[([^\[\]]+?)\]\s*---\s*(.*?)</chunk_context>",
|
262 |
r"<chunk_context>\s*(\d+)(?:\s*-\s*Pág\.\s*\d+)?\s*---\s*([^-\n]+)\s*---\s*([^<]+)</chunk_context>",
|
263 |
r"<chunk_context>\s*(?:\[*([\d]+)\]*\s*[-–]*\s*(?:Pág\.\s*\d+\s*[-–]*)?)?\s*\[*([^\]]+)\]*\s*[-–]*\s*\[*([^\]]+)\]*\s*[-–]*\s*\[*([^\]]+)\]*\s*</chunk_context>",
|
264 |
+
r"<chunk_context>\s*(.*?)\s*---\s*(.*?)\s*---\s*(.*?)\s*</chunk_context>",
|
265 |
+
# -------------- ABAIXO SÃO OS ANTIGOS
|
266 |
+
# r"\[*([\d.\-]+)\]*\s*---\s*\[*([^]]+)\]*\s*---\s*\[*([^]]+)\]*\s*</chunk_context>", # PRIMEIRO DE TODOS
|
267 |
+
# r"<chunk_context>\s*([\d.\-]+)\s*---\s*([^<]+)\s*---\s*([^<]+)\s*</chunk_context>",
|
268 |
# r"\[([\d.\-]+)\]\s*---\s*\[([^]]+)\]\s*---\s*\[([^]]+)\]\s*</chunk_context>",
|
269 |
# r"<chunk_context>\s*\[?([\d.\-]+)\]?\s*---\s*\[?([^\]\[]+?)\]?\s*---\s*\[?([^<]+?)\]?\s*</chunk_context>",
|
270 |
# r"<chunk_context>\s*\[([\d.\-]+)\]\s*---\s*\[([^\]]+)\]\s*---\s*\[([^\]]+)\]\s*</chunk_context>"
|
|
|
274 |
resultado = None
|
275 |
for pattern in patterns:
|
276 |
matches: List[str] = re.findall(pattern, context, re.DOTALL)
|
277 |
+
print("\n\nmatches", matches)
|
278 |
condition_tuples_3_items = all(len(m) == 3 for m in matches)
|
279 |
if len(matches) == len(lista_de_document_ids) and condition_tuples_3_items:
|
280 |
print("\n--------------- REGEX DO CONTEXTUAL FUNCIONOU")
|
|
|
289 |
resultado.append((first_item, m[1], m[2]))
|
290 |
break
|
291 |
|
292 |
+
if not resultado:
|
293 |
+
context = (
|
294 |
+
context.replace("</final_output>", "")
|
295 |
+
.replace("<final_output>", "")
|
296 |
+
.strip()
|
297 |
+
)
|
298 |
+
raw_chunks = context.split("</chunk_context>")[0:20]
|
299 |
+
|
300 |
+
resultado_temporario = []
|
301 |
+
for r in raw_chunks:
|
302 |
+
lista_3_itens = r.split("---")
|
303 |
+
page_id = re.search(r"Num\.\s*(\d+)\s*-", lista_3_itens[0].strip())
|
304 |
+
page_id_tentativa_2 = re.search(
|
305 |
+
r"\d+\.\s+(\d+)\s+-\s+Pág\.", lista_3_itens[0].strip()
|
306 |
+
)
|
307 |
+
if page_id:
|
308 |
+
first_item = page_id.group(1)
|
309 |
+
elif page_id_tentativa_2:
|
310 |
+
first_item = page_id_tentativa_2.group(1)
|
311 |
+
else:
|
312 |
+
first_item = "0"
|
313 |
+
resultado_temporario.append(
|
314 |
+
(first_item, lista_3_itens[1], lista_3_itens[2])
|
315 |
+
)
|
316 |
+
|
317 |
+
condition_tuples_3_items = all(len(m) == 3 for m in resultado_temporario)
|
318 |
+
if (
|
319 |
+
len(resultado_temporario) == len(lista_de_document_ids)
|
320 |
+
and condition_tuples_3_items
|
321 |
+
):
|
322 |
+
resultado = resultado_temporario
|
323 |
+
|
324 |
return resultado
|
325 |
|
326 |
|
_utils/gerar_documento_utils/tests/fixtures/resposta_llm_com_20_chunks.py
CHANGED
@@ -1,4 +1,12 @@
|
|
1 |
resposta_llm_com_20_chunks_fixture_array = [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
"""1. <chunk_context>
|
3 |
[76915] --- [APELAÇÃO CRIMINAL] --- Este chunk apresenta os dados iniciais do processo de Apelação Criminal, incluindo o número, classe, órgão julgador, partes envolvidas (Estado da Bahia, Defensor Dativo, e Adenilton da Conceição Samuel), e os assuntos tratados (Honorários Advocatícios, Crimes de Trânsito). Ele se encaixa na descrição do resumo do processo, que trata da apelação do Estado da Bahia sobre os honorários do defensor dativo em um caso de crimes de trânsito.
|
4 |
</chunk_context>
|
|
|
1 |
resposta_llm_com_20_chunks_fixture_array = [
|
2 |
+
"""1. <chunk_context> 72909022 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a procuração outorgada, com poderes específicos para atuar em ações cíveis e procedimentos administrativos, incluindo a capacidade de receber valores e praticar atos necessários ao cumprimento do mandato. A procuração tem validade até 31 de dezembro de 2023 e é assinada digitalmente. </chunk_context> 2. <chunk_context> 72909148 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta informações sobre a plataforma de assinatura digital NEOENERGIA, incluindo links e códigos para verificação das assinaturas digitais no documento. Detalha os signatários e seus status em 09/08/2023, com Luciana Maximino Maia e Renato De Almeida Rocha representando a COELBA, e Alana Cristina Braz Duarte como autorizador. </chunk_context> 3. <chunk_context> 72914243 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a certidão de triagem inicial, emitida pela Diretoria de Distribuição do 2º Grau do Tribunal de Justiça da Bahia, confirmando a regularidade dos dados cadastrais do processo, como classe, partes, advogados e assuntos. A certidão atesta que foram realizadas alterações necessárias nos dados. </chunk_context> 4. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a decisão do Desembargador Cássio José Barbosa Miranda, relator do Agravo de Instrumento, que trata da antecipação dos efeitos da tutela concedida em primeira instância. A decisão de primeira instância determinou o restabelecimento do serviço de energia elétrica, com base na essencialidade do serviço e na inscrição da autora no Programa de Baixa Renda Quilombola. </chunk_context> 5. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho continua a decisão do Desembargador, detalhando os argumentos da COELBA no Agravo de Instrumento, que questiona a decisão de primeira instância por ser genérica e permitir o fornecimento de energia sem garantia de pagamento. A COELBA também contesta o valor da multa imposta. O trecho também apresenta os artigos do CPC que fundamentam a decisão. </chunk_context> 6. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho da decisão do Desembargador Cássio Miranda analisa os requisitos para a concessão do efeito suspensivo. O relator entende que os requisitos foram parcialmente preenchidos, considerando a inscrição da agravada no Programa de Baixa Renda Quilombola, o ajuizamento de ações e o relatório que atesta erros no medidor. </chunk_context> 7. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho da decisão do Desembargador Cássio Miranda estabelece as condições para o restabelecimento do serviço de energia elétrica, condicionando-o ao pagamento das parcelas vincendas e reduzindo o valor da multa diária. O trecho também determina a intimação da parte agravada para apresentar contrarrazões e o envio de ofício ao juízo de primeira instância. </chunk_context> 8. <chunk_context> 72976135 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a certidão de juntada da decisão nos autos de primeiro grau, emitida pela Secretaria da Quinta Câmara Cível. </chunk_context> 9. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta as contrarrazões ao Agravo de Instrumento, interposto por Isailde Maria da Silva, através de sua advogada, Paloma Oliveira de Jesus Jambeiro. O documento solicita o recebimento das contrarrazões e a remessa ao Tribunal de Justiça para que seja negado provimento ao recurso. </chunk_context> 10. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho das contrarrazões apresenta uma síntese do recurso, com os argumentos da agravada, Isailde Maria da Silva, que ajuizou ação para restabelecer o serviço de energia elétrica. A agravada argumenta que a multa aplicada é proporcional e que a COELBA tenta distorcer os fatos. </chunk_context> 11. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho das contrarrazões argumenta sobre a impossibilidade de reforma da decisão que deferiu a tutela de urgência, com base na atuação irregular da COELBA e na condição de vulnerabilidade da agravada. A agravada também defende que a liminar deferida é provisória e visa garantir a continuidade do serviço. </chunk_context> 12. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho das contrarrazões aborda a alegação de enriquecimento ilícito e o descumprimento do prazo da obrigação de fazer. A agravada argumenta que não há enriquecimento ilícito e que a multa é proporcional ao descumprimento da decisão judicial. </chunk_context> 13. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho das contrarrazões aborda o histórico de falhas na prestação do serviço pela COELBA, o tempo sem energia elétrica devido ao erro da concessionária e a legalidade e razoabilidade da multa imposta. A agravada defende a manutenção da multa. </chunk_context> 14. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho das contrarrazões apresenta a conclusão, requerendo o não provimento do Agravo de Instrumento e a manutenção da decisão de primeira instância, com a reafirmação da multa imposta. </chunk_context> 15. <chunk_context> 73079323 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a qualificação da advogada da agravada, Paloma Oliveira de Jesus Jambeiro, e a data da assinatura das contrarrazões. </chunk_context> 16. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a decisão do Desembargador Cássio José Barbosa Miranda, que trata da antecipação dos efeitos da tutela concedida em primeira instância. A decisão de primeira instância determinou o restabelecimento do serviço de energia elétrica, com base na essencialidade do serviço e na inscrição da autora no Programa de Baixa Renda Quilombola. </chunk_context> 17. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho continua a decisão do Desembargador, detalhando os argumentos da COELBA no Agravo de Instrumento, que questiona a decisão de primeira instância por ser genérica e permitir o fornecimento de energia sem garantia de pagamento. A COELBA também contesta o valor da multa imposta. O trecho também apresenta os artigos do CPC que fundamentam a decisão. </chunk_context> 18. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho da decisão do Desembargador Cássio Miranda analisa os requisitos para a concessão do efeito suspensivo. O relator entende que os requisitos foram parcialmente preenchidos, considerando a inscrição da agravada no Programa de Baixa Renda Quilombola, o ajuizamento de ações e o relatório que atesta erros no medidor. </chunk_context> 19. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho da decisão do Desembargador Cássio Miranda estabelece as condições para o restabelecimento do serviço de energia elétrica, condicionando-o ao pagamento das parcelas vincendas e reduzindo o valor da multa diária. O trecho também determina a intimação da parte agravada para apresentar contrarrazões e o envio de ofício ao juízo de primeira instância. </chunk_context> 20. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho da decisão do Desembargador Cássio Miranda estabelece as condições para o restabelecimento do serviço de energia elétrica, condicionando-o ao pagamento das parcelas vincendas e reduzindo o valor da multa diária. O trecho também determina a intimação da parte agravada para apresentar contrarrazões e o envio de ofício ao juízo de primeira instância. </chunk_context>
|
3 |
+
""",
|
4 |
+
"""<final_output> <chunk_context> 1. 72909020 - Pág. 1 --- AGRAVO DE INSTRUMENTO --- Este trecho apresenta os dados iniciais do processo de Agravo de Instrumento (nº 8068804-29.2024.8.05.0000) interposto pela COELBA, incluindo as partes envolvidas, os advogados, os assuntos e o pedido de liminar. Ele se encaixa na introdução do processo, conforme descrito no resumo, e estabelece o contexto geral do caso. </chunk_context> 2. 72909020 - Pág. 2 --- AGRAVO DE INSTRUMENTO --- Esta parte do documento continua com a qualificação da COELBA como agravante, indicando seu endereço e a decisão interlocutória que motivou o agravo. Menciona o artigo 1.015 do CPC como base legal para a interposição do recurso e solicita efeito suspensivo. O trecho se alinha com a descrição da ação da COELBA no resumo, que busca reverter a decisão de primeira instância. </chunk_context> 3. 72909020 - Pág. 3 --- AGRAVO DE INSTRUMENTO --- O trecho apresenta as "RAZÕES DO RECURSO", com a identificação das partes (agravante e agravado) e um resumo da decisão de primeira instância que concedeu a antecipação dos efeitos da tutela. Este trecho é fundamental, pois detalha o cerne da disputa e a decisão que a COELBA busca modificar, conforme mencionado no resumo. </chunk_context> 4. 72909020 - Pág. 4 --- AGRAVO DE INSTRUMENTO --- Esta seção continua a detalhar a decisão de primeira instância, que determinou o restabelecimento do serviço de energia elétrica e impôs multa. O texto argumenta sobre a tempestividade do recurso, com base no artigo 219 do CPC. O trecho se encaixa na argumentação da COELBA contra a decisão, conforme o resumo. </chunk_context> 5. 72909020 - Pág. 5 --- AGRAVO DE INSTRUMENTO --- O texto discute o cabimento do recurso, mencionando a ação declaratória de inexistência de débito e a liminar concedida. Cita o artigo 1.015 do CPC, que trata do agravo de instrumento contra decisões interlocutórias. O trecho detalha os argumentos da COELBA sobre a inadequação da liminar, alinhando-se com o resumo. </chunk_context> 6. 72909020 - Pág. 6 --- AGRAVO DE INSTRUMENTO --- O texto continua a argumentar sobre a necessidade de revogação da liminar, alegando que ela é genérica e não especifica as faturas em questão. O trecho critica a decisão de primeira instância por não abordar a contraprestação do cliente e por decidir o mérito em sede de tutela de urgência. Isso se encaixa na crítica da COELBA à decisão, conforme o resumo. </chunk_context> 7. 72909020 - Pág. 7 --- AGRAVO DE INSTRUMENTO --- O texto argumenta sobre a falta dos requisitos para manter a liminar, mencionando a ausência de verossimilhança e de prova inequívoca. Cita o artigo 14, §3º, do CDC, sobre a responsabilidade do fornecedor. O trecho defende a legalidade da conduta da COELBA e a necessidade de provimento do agravo, conforme o resumo. </chunk_context> 8. 72909020 - Pág. 8 --- AGRAVO DE INSTRUMENTO --- O texto cita o artigo 356 da Resolução da ANEEL, que trata da suspensão do fornecimento de energia por inadimplemento. Menciona o parecer do Ministro do STF, Eros Roberto Grau, sobre a legalidade da suspensão. O trecho reforça a argumentação da COELBA com base em normas e jurisprudência, conforme o resumo. </chunk_context> 9. 72909020 - Pág. 9 --- AGRAVO DE INSTRUMENTO --- O texto cita jurisprudência do TJSP sobre corte de energia por inadimplemento e conclui pela necessidade de revogação da liminar. O trecho se alinha com a argumentação da COELBA, que busca a suspensão da liminar, conforme o resumo. </chunk_context> 10. 72909020 - Pág. 10 --- AGRAVO DE INSTRUMENTO --- O texto discute o valor excessivo das astreintes (multa) e a necessidade de sua exclusão ou redução, citando o artigo 461, §6º, do CPC. Menciona a doutrina de Luiz Guilherme Marinoni sobre a função da multa. O trecho se encaixa na argumentação da COELBA sobre a necessidade de reduzir a multa, conforme o resumo. </chunk_context> 11. 72909020 - Pág. 11 --- AGRAVO DE INSTRUMENTO --- O texto continua a argumentar sobre a necessidade de redução da multa, citando jurisprudência do STJ e de tribunais estaduais. O trecho reforça a argumentação da COELBA sobre a necessidade de reduzir a multa, conforme o resumo. </chunk_context> 12. 72909020 - Pág. 12 --- AGRAVO DE INSTRUMENTO --- O texto conclui a argumentação sobre a multa e passa a discutir a atribuição do efeito suspensivo ao agravo de instrumento, com base no artigo 1.019, I, do CPC. O trecho se encaixa na argumentação da COELBA sobre a necessidade de suspender os efeitos da liminar, conforme o resumo. </chunk_context> 13. 72909020 - Pág. 13 --- AGRAVO DE INSTRUMENTO --- O texto continua a argumentar sobre o efeito suspensivo, citando Humberto Theodoro Júnior. Apresenta os pedidos da COELBA, incluindo a revogação da decisão liminar ou a atribuição de efeito suspensivo. O trecho resume os pedidos da COELBA, conforme o resumo. </chunk_context> 14. 72909020 - Pág. 14 --- AGRAVO DE INSTRUMENTO --- O texto apresenta os pedidos da COELBA, incluindo a declaração de nulidade da decisão agravada, a atribuição de efeito ativo, a revogação da decisão agravada, a restrição dos efeitos da liminar, o pagamento das faturas vincendas, a retirada ou minoração da multa, a comunicação ao juiz a quo e a intimação do patrono do agravado. O trecho detalha os pedidos da COELBA, conforme o resumo. </chunk_context> 15. 72909021 - Pág. 1 --- AGRAVO DE INSTRUMENTO --- Este trecho apresenta os documentos de arrecadação judicial e extrajudicial (DAJE) referentes ao processo, indicando os valores pagos e as datas de vencimento. O trecho demonstra o pagamento das custas processuais pela COELBA, conforme o resumo. </chunk_context> 16. 72909021 - Pág. 2 --- AGRAVO DE INSTRUMENTO --- Este trecho apresenta os documentos de arrecadação judicial e extrajudicial (DAJE) referentes ao processo, indicando os valores pagos e as datas de vencimento. O trecho demonstra o pagamento das custas processuais pela COELBA, conforme o resumo. </chunk_context> 17. 72909021 - Pág. 3 --- AGRAVO DE INSTRUMENTO --- Este trecho apresenta os documentos de arrecadação judicial e extrajudicial (DAJE) referentes ao processo, indicando os valores pagos e as datas de vencimento. O trecho demonstra o pagamento das custas processuais pela COELBA, conforme o resumo. </chunk_context> 18. 72909021 - Pág. 4 --- AGRAVO DE INSTRUMENTO --- Este trecho apresenta os documentos de arrecadação judicial e extrajudicial (DAJE) referentes ao processo, indicando os valores pagos e as datas de vencimento. O trecho demonstra o pagamento das custas processuais pela COELBA, conforme o resumo. </chunk_context> 19. 72909022 - Pág. 1 --- AGRAVO DE INSTRUMENTO --- Este trecho apresenta a procuração da COELBA, com a qualificação dos advogados outorgados. O trecho demonstra a representação da COELBA no processo, conforme o resumo. </chunk_context> 20. 72909022 - Pág. 2 --- AGRAVO DE INSTRUMENTO --- Este trecho continua a apresentar a procuração da COELBA, com a qualificação dos advogados outorgados. O trecho demonstra a representação da COELBA no processo, conforme o resumo. </chunk_context> </final_output>
|
5 |
+
""",
|
6 |
+
"""1. <chunk_context> 72909022 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a procuração outorgada, com poderes específicos para atuar em ações cíveis e procedimentos administrativos, incluindo a representação da COELBA. A procuração é um documento relevante para o processo, pois define os limites da atuação dos representantes da empresa. </chunk_context> 2. <chunk_context> 72909148 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta informações sobre a plataforma de assinatura digital utilizada para o documento, incluindo os nomes dos signatários da COELBA e a data das assinaturas. Ele corrobora a validade e autenticidade do documento, conforme o resumo do processo. </chunk_context> 3. <chunk_context> 72914243 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a certidão de triagem inicial, que confirma a conferência dos dados cadastrais do processo, como classe do recurso, partes, advogados e assuntos. Ele demonstra a regularidade formal do processo, conforme o resumo do processo. </chunk_context> 4. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho reproduz a decisão do juízo de primeira instância que deferiu a antecipação dos efeitos da tutela, determinando o restabelecimento do serviço de energia elétrica. Ele estabelece o contexto da decisão agravada, conforme o resumo do processo. </chunk_context> 5. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho continua a reproduzir a decisão de primeira instância, incluindo a determinação de multa pelo descumprimento da decisão. Ele detalha os termos da decisão agravada, conforme o resumo do processo. </chunk_context> 6. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a análise do relator sobre os requisitos para a concessão do efeito suspensivo, mencionando o "fumus boni iuris" e o "periculum in mora". Ele introduz a fundamentação da decisão do relator, conforme o resumo do processo. </chunk_context> 7. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a decisão do relator que defere parcialmente o efeito suspensivo, condicionando o restabelecimento do serviço ao pagamento das parcelas vincendas e reduzindo a multa. Ele apresenta a conclusão da decisão do relator, conforme o resumo do processo. </chunk_context> 8. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho finaliza a decisão do relator, determinando a intimação da parte agravada para apresentar contrarrazões e oficiando o juiz a quo. Ele encerra a decisão do relator, conforme o resumo do processo. </chunk_context> 9. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta as contrarrazões ao agravo de instrumento, interpostas pela agravada, com a identificação da advogada e o pedido de não provimento do recurso. Ele introduz a defesa da agravada, conforme o resumo do processo. </chunk_context> 10. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a síntese do recurso, a impossibilidade de reforma da decisão e a alegação de que a liminar não é genérica. Ele detalha os argumentos da agravada em suas contrarrazões, conforme o resumo do processo. </chunk_context> 11. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho continua com os argumentos da agravada, abordando a inexistência de enriquecimento ilícito e a legalidade da multa imposta. Ele detalha os argumentos da agravada em suas contrarrazões, conforme o resumo do processo. </chunk_context> 12. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho aborda o descumprimento do prazo da obrigação de fazer e o histórico de falhas na prestação do serviço. Ele detalha os argumentos da agravada em suas contrarrazões, conforme o resumo do processo. </chunk_context> 13. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho aborda o tempo sem energia elétrica devido ao erro da concessionária e a legalidade e razoabilidade da multa imposta. Ele detalha os argumentos da agravada em suas contrarrazões, conforme o resumo do processo. </chunk_context> 14. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a conclusão das contrarrazões, com o pedido de não provimento do agravo de instrumento. Ele encerra a defesa da agravada, conforme o resumo do processo. </chunk_context> 15. <chunk_context> 8068804-29.2024.8.05.0000 --- AGRAVO DE INSTRUMENTO --- Este trecho apresenta informações sobre o processo, como número, classe, órgão julgador, partes e advogados. Ele fornece uma visão geral do processo, conforme o resumo do processo. </chunk_context> 16. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho reproduz a decisão do juízo de primeira instância, que deferiu a antecipação dos efeitos da tutela, determinando o restabelecimento do serviço de energia elétrica. Ele estabelece o contexto da decisão agravada, conforme o resumo do processo. </chunk_context> 17. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho continua a reproduzir a decisão de primeira instância, incluindo a determinação de multa pelo descumprimento da decisão. Ele detalha os termos da decisão agravada, conforme o resumo do processo. </chunk_context> 18. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a análise do relator sobre os requisitos para a concessão do efeito suspensivo, mencionando o "fumus boni iuris" e o "periculum in mora". Ele introduz a fundamentação da decisão do relator, conforme o resumo do processo. </chunk_context> 19. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a decisão do relator que defere parcialmente o efeito suspensivo, condicionando o restabelecimento do serviço ao pagamento das parcelas vincendas e reduzindo a multa. Ele apresenta a conclusão da decisão do relator, conforme o resumo do processo. </chunk_context> 20. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a decisão do relator que defere parcialmente o efeito suspensivo, condicionando o restabelecimento do serviço ao pagamento das parcelas vincendas e reduzindo a multa. Ele apresenta a conclusão da decisão do relator, conforme o resumo do processo. </chunk_context>
|
7 |
+
""",
|
8 |
+
"""1. <chunk_context> 72909022 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a procuração outorgada, com poderes específicos para atuar em ações cíveis e procedimentos administrativos, incluindo a representação da COELBA. A procuração é um documento relevante para o processo, pois define os limites da atuação dos representantes da empresa. </chunk_context> 2. <chunk_context> 72909148 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta informações sobre a plataforma de assinatura digital utilizada para o documento, incluindo os nomes dos signatários da COELBA e a data das assinaturas. Ele corrobora a validade e autenticidade do documento, conforme o resumo do processo. </chunk_context> 3. <chunk_context> 72914243 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a certidão de triagem inicial, que confirma a conferência dos dados cadastrais do processo, como classe do recurso, partes, advogados e assuntos. Ele demonstra a regularidade formal do processo, conforme o resumo do processo. </chunk_context> 4. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho reproduz a decisão do juízo de primeira instância que deferiu a antecipação dos efeitos da tutela, determinando o restabelecimento do serviço de energia elétrica. Ele estabelece o contexto da decisão agravada, conforme o resumo do processo. </chunk_context> 5. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho continua a reproduzir a decisão de primeira instância, incluindo a determinação de multa pelo descumprimento da decisão. Ele detalha os termos da decisão agravada, conforme o resumo do processo. </chunk_context> 6. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a análise do relator sobre os requisitos para a concessão do efeito suspensivo, mencionando o "fumus boni iuris" e o "periculum in mora". Ele introduz a fundamentação da decisão do relator, conforme o resumo do processo. </chunk_context> 7. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a decisão do relator que defere parcialmente o efeito suspensivo, condicionando o restabelecimento do serviço ao pagamento das parcelas vincendas e reduzindo a multa. Ele apresenta a conclusão da decisão do relator, conforme o resumo do processo. </chunk_context> 8. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho finaliza a decisão do relator, determinando a intimação da parte agravada para apresentar contrarrazões e oficiando o juiz a quo. Ele encerra a decisão do relator, conforme o resumo do processo. </chunk_context> 9. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta as contrarrazões ao agravo de instrumento, interpostas pela agravada, com a identificação da advogada e o pedido de não provimento do recurso. Ele introduz a defesa da agravada, conforme o resumo do processo. </chunk_context> 10. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a síntese do recurso, a impossibilidade de reforma da decisão e a alegação de que a liminar não é genérica. Ele detalha os argumentos da agravada em suas contrarrazões, conforme o resumo do processo. </chunk_context> 11. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho continua com os argumentos da agravada, abordando a inexistência de enriquecimento ilícito e a legalidade da multa imposta. Ele detalha os argumentos da agravada em suas contrarrazões, conforme o resumo do processo. </chunk_context> 12. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho aborda o descumprimento do prazo da obrigação de fazer e o histórico de falhas na prestação do serviço. Ele detalha os argumentos da agravada em suas contrarrazões, conforme o resumo do processo. </chunk_context> 13. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho aborda o tempo sem energia elétrica devido ao erro da concessionária e a legalidade e razoabilidade da multa imposta. Ele detalha os argumentos da agravada em suas contrarrazões, conforme o resumo do processo. </chunk_context> 14. <chunk_context> 73079321 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a conclusão das contrarrazões, com o pedido de não provimento do agravo de instrumento. Ele encerra a defesa da agravada, conforme o resumo do processo. </chunk_context> 15. <chunk_context> 8068804-29.2024.8.05.0000 --- AGRAVO DE INSTRUMENTO --- Este trecho apresenta informações sobre o processo, como número, classe, órgão julgador, partes e advogados. Ele fornece uma visão geral do processo, conforme o resumo do processo. </chunk_context> 16. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho reproduz a decisão do juízo de primeira instância, que deferiu a antecipação dos efeitos da tutela, determinando o restabelecimento do serviço de energia elétrica. Ele estabelece o contexto da decisão agravada, conforme o resumo do processo. </chunk_context> 17. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho continua a reproduzir a decisão de primeira instância, incluindo a determinação de multa pelo descumprimento da decisão. Ele detalha os termos da decisão agravada, conforme o resumo do processo. </chunk_context> 18. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a análise do relator sobre os requisitos para a concessão do efeito suspensivo, mencionando o "fumus boni iuris" e o "periculum in mora". Ele introduz a fundamentação da decisão do relator, conforme o resumo do processo. </chunk_context> 19. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a decisão do relator que defere parcialmente o efeito suspensivo, condicionando o restabelecimento do serviço ao pagamento das parcelas vincendas e reduzindo a multa. Ele apresenta a conclusão da decisão do relator, conforme o resumo do processo. </chunk_context> 20. <chunk_context> 72933123 --- AGRAVO DE INSTRUMENTO n. 8068804-29.2024.8.05.0000 --- Este trecho apresenta a decisão do relator que defere parcialmente o efeito suspensivo, condicionando o restabelecimento do serviço ao pagamento das parcelas vincendas e reduzindo a multa. Ele apresenta a conclusão da decisão do relator, conforme o resumo do processo. </chunk_context>
|
9 |
+
""",
|
10 |
"""1. <chunk_context>
|
11 |
[76915] --- [APELAÇÃO CRIMINAL] --- Este chunk apresenta os dados iniciais do processo de Apelação Criminal, incluindo o número, classe, órgão julgador, partes envolvidas (Estado da Bahia, Defensor Dativo, e Adenilton da Conceição Samuel), e os assuntos tratados (Honorários Advocatícios, Crimes de Trânsito). Ele se encaixa na descrição do resumo do processo, que trata da apelação do Estado da Bahia sobre os honorários do defensor dativo em um caso de crimes de trânsito.
|
12 |
</chunk_context>
|
_utils/gerar_documento_utils/utils.py
CHANGED
@@ -9,6 +9,7 @@ from _utils.gerar_documento_utils.prompts import (
|
|
9 |
create_prompt_auxiliar_do_contextual_prompt,
|
10 |
)
|
11 |
|
|
|
12 |
from gerar_documento.serializer import GerarDocumentoSerializerData
|
13 |
|
14 |
|
@@ -91,7 +92,7 @@ async def get_full_text_and_all_PDFs_chunks(
|
|
91 |
should_use_llama_parse: bool,
|
92 |
isBubble: bool,
|
93 |
):
|
94 |
-
all_PDFs_chunks = []
|
95 |
|
96 |
pages: List[str] = []
|
97 |
|
|
|
9 |
create_prompt_auxiliar_do_contextual_prompt,
|
10 |
)
|
11 |
|
12 |
+
from _utils.models.gerar_documento import DocumentChunk
|
13 |
from gerar_documento.serializer import GerarDocumentoSerializerData
|
14 |
|
15 |
|
|
|
92 |
should_use_llama_parse: bool,
|
93 |
isBubble: bool,
|
94 |
):
|
95 |
+
all_PDFs_chunks: List[DocumentChunk] = []
|
96 |
|
97 |
pages: List[str] = []
|
98 |
|
gerar_documento/urls.py
CHANGED
@@ -3,6 +3,8 @@ from django.urls import path
|
|
3 |
from gerar_documento.views import (
|
4 |
GerarDocumentoView,
|
5 |
GerarDocumentoComPDFProprioView,
|
|
|
|
|
6 |
)
|
7 |
|
8 |
urlpatterns = [
|
@@ -16,4 +18,14 @@ urlpatterns = [
|
|
16 |
GerarDocumentoComPDFProprioView.as_view(),
|
17 |
name="generate-document-with-own-pdf",
|
18 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
]
|
|
|
3 |
from gerar_documento.views import (
|
4 |
GerarDocumentoView,
|
5 |
GerarDocumentoComPDFProprioView,
|
6 |
+
GerarEmentaComPDFProprioView,
|
7 |
+
GerarEmentaView,
|
8 |
)
|
9 |
|
10 |
urlpatterns = [
|
|
|
18 |
GerarDocumentoComPDFProprioView.as_view(),
|
19 |
name="generate-document-with-own-pdf",
|
20 |
),
|
21 |
+
path(
|
22 |
+
"gerar-ementa",
|
23 |
+
GerarEmentaView.as_view(),
|
24 |
+
name="generate-ementa",
|
25 |
+
),
|
26 |
+
path(
|
27 |
+
"gerar-ementa/pdf",
|
28 |
+
GerarEmentaComPDFProprioView.as_view(),
|
29 |
+
name="generate-ementa-with-own-pdf",
|
30 |
+
),
|
31 |
]
|
gerar_documento/views.py
CHANGED
@@ -112,34 +112,46 @@ class GerarDocumentoComPDFProprioView(AsyncAPIView):
|
|
112 |
|
113 |
class GerarEmentaView(AsyncAPIView):
|
114 |
serializer = {}
|
|
|
115 |
|
116 |
@extend_schema(
|
117 |
request=GerarDocumentoSerializer,
|
118 |
)
|
119 |
async def post(self, request):
|
|
|
120 |
print(f"\n\nDATA E HORA DA REQUISIÇÃO: {datetime.now()}")
|
121 |
-
|
122 |
-
|
|
|
|
|
123 |
if serializer.is_valid(raise_exception=True):
|
124 |
if not serializer.validated_data:
|
125 |
raise ValueError("Erro no validated_data")
|
126 |
|
127 |
async def proccess_data_after_response():
|
128 |
data = cast(Dict[str, Any], serializer.validated_data)
|
|
|
129 |
self.serializer = data
|
130 |
|
131 |
listaPDFs = [l["link_arquivo"] for l in data["files"]]
|
132 |
-
|
|
|
|
|
133 |
|
134 |
all_PDFs_chunks, full_text_as_array = (
|
135 |
await get_full_text_and_all_PDFs_chunks(
|
136 |
listaPDFs,
|
137 |
-
Splitter(
|
|
|
|
|
138 |
False,
|
139 |
True,
|
140 |
)
|
141 |
)
|
142 |
full_text = "".join(full_text_as_array)
|
|
|
|
|
|
|
143 |
|
144 |
llm = LLM()
|
145 |
prompt_template = PromptTemplate(
|
@@ -165,33 +177,44 @@ class GerarEmentaView(AsyncAPIView):
|
|
165 |
class GerarEmentaComPDFProprioView(AsyncAPIView):
|
166 |
parser_classes = [MultiPartParser]
|
167 |
serializer = {}
|
|
|
168 |
|
169 |
@extend_schema(
|
170 |
request=GerarDocumentoComPDFProprioSerializer,
|
171 |
)
|
172 |
async def post(self, request):
|
|
|
173 |
print(f"\n\nDATA E HORA DA REQUISIÇÃO: {datetime.now()}")
|
|
|
|
|
|
|
174 |
serializer = GerarDocumentoComPDFProprioSerializer(data=request.data)
|
175 |
if serializer.is_valid(raise_exception=True):
|
176 |
data = cast(Dict[str, Any], serializer.validated_data)
|
177 |
-
|
178 |
self.serializer = data
|
179 |
|
180 |
data = cast(Dict[str, Any], serializer.validated_data)
|
|
|
181 |
self.serializer = data
|
182 |
|
183 |
-
listaPDFs =
|
184 |
-
|
|
|
|
|
185 |
|
186 |
all_PDFs_chunks, full_text_as_array = (
|
187 |
await get_full_text_and_all_PDFs_chunks(
|
188 |
listaPDFs,
|
189 |
-
Splitter(
|
190 |
False,
|
191 |
True,
|
192 |
)
|
193 |
)
|
194 |
full_text = "".join(full_text_as_array)
|
|
|
|
|
|
|
195 |
|
196 |
llm = LLM()
|
197 |
prompt_template = PromptTemplate(
|
@@ -201,8 +224,10 @@ class GerarEmentaComPDFProprioView(AsyncAPIView):
|
|
201 |
prompt_template.format(context=full_text)
|
202 |
)
|
203 |
|
204 |
-
|
205 |
|
206 |
remove_pdf_temp_files(listaPDFs)
|
207 |
-
|
|
|
|
|
208 |
return Response({"resposta": response.content})
|
|
|
112 |
|
113 |
class GerarEmentaView(AsyncAPIView):
|
114 |
serializer = {}
|
115 |
+
axiom_instance = Axiom()
|
116 |
|
117 |
@extend_schema(
|
118 |
request=GerarDocumentoSerializer,
|
119 |
)
|
120 |
async def post(self, request):
|
121 |
+
self.axiom_instance.generate_new_uuid()
|
122 |
print(f"\n\nDATA E HORA DA REQUISIÇÃO: {datetime.now()}")
|
123 |
+
self.axiom_instance.send_axiom(
|
124 |
+
f"COMEÇOU NOVA REQUISIÇÃO - request.data: {request.data}"
|
125 |
+
)
|
126 |
+
serializer = GerarDocumentoSerializer(data=request.data)
|
127 |
if serializer.is_valid(raise_exception=True):
|
128 |
if not serializer.validated_data:
|
129 |
raise ValueError("Erro no validated_data")
|
130 |
|
131 |
async def proccess_data_after_response():
|
132 |
data = cast(Dict[str, Any], serializer.validated_data)
|
133 |
+
serializer_obj = serializer.get_obj()
|
134 |
self.serializer = data
|
135 |
|
136 |
listaPDFs = [l["link_arquivo"] for l in data["files"]]
|
137 |
+
self.axiom_instance.send_axiom(
|
138 |
+
f"listaPDFs: {listaPDFs}",
|
139 |
+
)
|
140 |
|
141 |
all_PDFs_chunks, full_text_as_array = (
|
142 |
await get_full_text_and_all_PDFs_chunks(
|
143 |
listaPDFs,
|
144 |
+
Splitter(
|
145 |
+
serializer_obj.chunk_size, serializer_obj.chunk_overlap
|
146 |
+
),
|
147 |
False,
|
148 |
True,
|
149 |
)
|
150 |
)
|
151 |
full_text = "".join(full_text_as_array)
|
152 |
+
self.axiom_instance.send_axiom(
|
153 |
+
f"full_text gerado dos pdfs: {full_text}"
|
154 |
+
)
|
155 |
|
156 |
llm = LLM()
|
157 |
prompt_template = PromptTemplate(
|
|
|
177 |
class GerarEmentaComPDFProprioView(AsyncAPIView):
|
178 |
parser_classes = [MultiPartParser]
|
179 |
serializer = {}
|
180 |
+
axiom_instance = Axiom()
|
181 |
|
182 |
@extend_schema(
|
183 |
request=GerarDocumentoComPDFProprioSerializer,
|
184 |
)
|
185 |
async def post(self, request):
|
186 |
+
self.axiom_instance.generate_new_uuid()
|
187 |
print(f"\n\nDATA E HORA DA REQUISIÇÃO: {datetime.now()}")
|
188 |
+
self.axiom_instance.send_axiom(
|
189 |
+
f"COMEÇOU NOVA REQUISIÇÃO - request.data: {request.data}"
|
190 |
+
)
|
191 |
serializer = GerarDocumentoComPDFProprioSerializer(data=request.data)
|
192 |
if serializer.is_valid(raise_exception=True):
|
193 |
data = cast(Dict[str, Any], serializer.validated_data)
|
194 |
+
self.axiom_instance.send_axiom(f"data: {data}")
|
195 |
self.serializer = data
|
196 |
|
197 |
data = cast(Dict[str, Any], serializer.validated_data)
|
198 |
+
serializer_obj = serializer.get_obj()
|
199 |
self.serializer = data
|
200 |
|
201 |
+
listaPDFs = handle_pdf_files_from_serializer(
|
202 |
+
data["files"], self.axiom_instance
|
203 |
+
)
|
204 |
+
self.axiom_instance.send_axiom(f"listaPDFs: {listaPDFs}")
|
205 |
|
206 |
all_PDFs_chunks, full_text_as_array = (
|
207 |
await get_full_text_and_all_PDFs_chunks(
|
208 |
listaPDFs,
|
209 |
+
Splitter(serializer_obj.chunk_size, serializer_obj.chunk_overlap),
|
210 |
False,
|
211 |
True,
|
212 |
)
|
213 |
)
|
214 |
full_text = "".join(full_text_as_array)
|
215 |
+
self.axiom_instance.send_axiom(
|
216 |
+
f"full_text[0:100] gerado do PDF: {full_text[0:100]}"
|
217 |
+
)
|
218 |
|
219 |
llm = LLM()
|
220 |
prompt_template = PromptTemplate(
|
|
|
224 |
prompt_template.format(context=full_text)
|
225 |
)
|
226 |
|
227 |
+
self.axiom_instance.send_axiom(f"resposta_llm: {response.content}")
|
228 |
|
229 |
remove_pdf_temp_files(listaPDFs)
|
230 |
+
self.axiom_instance.send_axiom(
|
231 |
+
"PRÓXIMA LINHA ENVIA A RESPOSTA A QUEM FEZ A REQUISIÇÃO"
|
232 |
+
)
|
233 |
return Response({"resposta": response.content})
|