Spaces:
Running
Running
File size: 2,068 Bytes
1fd7b67 aae4d3d f9a1a18 2ce5e93 dc376b6 1286e81 ca8a144 a1f037d ab34606 1fd7b67 c625f4c 1fd7b67 c625f4c 1fd7b67 756fca0 a1f037d ab34606 a1f037d 59c4521 f8e2c8b f9a1a18 aae4d3d d514965 aae4d3d f8e2c8b aae4d3d a263183 f9a1a18 a263183 f9a1a18 a263183 f9a1a18 f8e2c8b f9a1a18 f8e2c8b f9a1a18 f8e2c8b f9a1a18 d8410b4 f8e2c8b f9a1a18 f8e2c8b f9a1a18 f8e2c8b aae4d3d f8e2c8b f9a1a18 a1c6081 |
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
import os
from typing import Any, Union
from _utils.custom_exception_handler import custom_exception_handler_without_api_handler
from rest_framework.response import Response
from _utils.gerar_documento_utils.GerarDocumento import (
GerarDocumento,
)
from gerar_documento.serializer import (
GerarDocumentoComPDFProprioSerializer,
GerarDocumentoComPDFProprioSerializerData,
GerarDocumentoSerializerData,
)
from setup.logging import Axiom
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_ENDPOINT"] = "https://api.smith.langchain.com"
os.environ.get("LANGCHAIN_API_KEY")
os.environ["LANGCHAIN_PROJECT"] = "VELLA"
async def gerar_documento(
serializer: Union[
GerarDocumentoSerializerData, GerarDocumentoComPDFProprioSerializerData, Any
],
listaPDFs,
axiom_instance: Axiom,
isBubble=False,
) -> Response | dict[str, Any]:
try:
summarizer = GerarDocumento(serializer, isBubble, axiom_instance)
summarizer.lista_pdfs = listaPDFs
await summarizer.get_text_and_pdf_chunks()
await summarizer.get_response_from_auxiliar_contextual_prompt()
await summarizer.generate_chunks_processados()
await summarizer.generate_query_for_vector_store()
await summarizer.create_enhanced_vector_store()
structured_summaries = await summarizer.do_last_requests()
if not isinstance(structured_summaries, list):
return Response({"erro": structured_summaries})
await summarizer.generate_complete_text()
await summarizer.get_document_title()
if isBubble:
await summarizer.send_to_bubble()
return {
"texto_completo": summarizer.texto_completo_como_html,
"titulo_do_documento": summarizer.titulo_do_documento,
"resultado": structured_summaries,
"parametros-utilizados": summarizer.gerar_resposta_compilada(),
}
except Exception as e:
custom_exception_handler_without_api_handler(e, serializer, axiom_instance)
raise
|