File size: 2,417 Bytes
12d3e1a
 
 
 
 
 
 
 
12b0dd7
1286e81
 
 
cb23311
1286e81
7eb86f7
 
1286e81
 
 
7eb86f7
cb23311
1286e81
 
7eb86f7
1286e81
baeaaa5
12b0dd7
7eb86f7
1286e81
 
12b0dd7
 
cb23311
 
 
 
 
 
 
 
1286e81
baeaaa5
 
 
12b0dd7
baeaaa5
cb23311
1286e81
12b0dd7
7eb86f7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
67
68
69
70
71
72
73
74
75
from setup.easy_imports import (
    Response,
    AsyncAPIView,
    APIView,
    MultiPartParser,
    extend_schema,
)
from datetime import datetime
from _utils.handle_files import handle_pdf_files_from_serializer, remove_pdf_temp_files
from _utils.resumo_completo_cursor import (
    get_llm_summary_answer_by_cursor_complete,
)
from _utils.gerar_relatorio_modelo_usuario.prompts import prompt_auxiliar_inicio
from .serializer import (
    GerarDocumentoComPDFProprioSerializer,
    GerarDocumentoSerializer,
)


class GerarDocumentoView(AsyncAPIView):
    # parser_classes = [MultiPartParser]

    @extend_schema(
        request=GerarDocumentoSerializer,
    )
    async def post(self, request):
        print(f"\n\nDATA E HORA DA REQUISIÇÃO: {datetime.now()}")
        serializer = GerarDocumentoSerializer(data=request.data)
        if serializer.is_valid(raise_exception=True):
            data = serializer.validated_data
            print("\n\ndata: ", data)

            data["prompt_auxiliar"] = (
                prompt_auxiliar_inicio + "\n" + data["prompt_auxiliar"]
            )

            # listaPDFs = handle_pdf_files_from_serializer(data["files"])
            listaPDFs = [l["link_arquivo"] for l in data["files"]]

            print("\n\nlistaPDFs: ", listaPDFs)

            resposta_llm = await get_llm_summary_answer_by_cursor_complete(
                data, listaPDFs
            )
            print("\n\nresposta_llm: ", resposta_llm)

            # remove_pdf_temp_files(listaPDFs)

            return Response({"resposta": resposta_llm})


class GerarDocumentoComPDFProprioView(AsyncAPIView):
    parser_classes = [MultiPartParser]

    @extend_schema(
        request=GerarDocumentoComPDFProprioSerializer,
    )
    async def post(self, request):
        print(f"\n\nDATA E HORA DA REQUISIÇÃO: {datetime.now()}")
        serializer = GerarDocumentoComPDFProprioSerializer(data=request.data)
        if serializer.is_valid(raise_exception=True):
            data = serializer.validated_data
            print("\n\ndata: ", data)

            listaPDFs = handle_pdf_files_from_serializer(data["files"])

            resposta_llm = await get_llm_summary_answer_by_cursor_complete(
                data, listaPDFs
            )
            print("\n\nresposta_llm: ", resposta_llm)

            remove_pdf_temp_files(listaPDFs)

            return Response({"resposta": resposta_llm})