Spaces:
Running
Running
luanpoppe
commited on
Commit
·
7eb86f7
1
Parent(s):
7fa7a9c
feat: adicionando opção de enviar o PDF próprio para gerar documento para testes
Browse files- gerar_documento/serializer.py +28 -1
- gerar_documento/urls.py +10 -2
- gerar_documento/views.py +30 -4
- ragas_api/serializer.py +3 -3
gerar_documento/serializer.py
CHANGED
@@ -14,7 +14,7 @@ class FileInfoSerializer(serializers.Serializer):
|
|
14 |
link_arquivo = serializers.URLField()
|
15 |
|
16 |
|
17 |
-
class
|
18 |
system_prompt = None
|
19 |
|
20 |
files = serializers.ListField(child=FileInfoSerializer(), required=True)
|
@@ -45,3 +45,30 @@ class ResumoCursorCompeltoSerializer(ResumoCursorSerializer):
|
|
45 |
gpt_temperature = serializers.FloatField(default=0)
|
46 |
id_modelo_do_usuario = serializers.IntegerField(required=False)
|
47 |
should_have_contextual_chunks = serializers.BooleanField(default=False)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
link_arquivo = serializers.URLField()
|
15 |
|
16 |
|
17 |
+
class GerarDocumentoSerializer(ResumoCursorSerializer):
|
18 |
system_prompt = None
|
19 |
|
20 |
files = serializers.ListField(child=FileInfoSerializer(), required=True)
|
|
|
45 |
gpt_temperature = serializers.FloatField(default=0)
|
46 |
id_modelo_do_usuario = serializers.IntegerField(required=False)
|
47 |
should_have_contextual_chunks = serializers.BooleanField(default=False)
|
48 |
+
|
49 |
+
|
50 |
+
class GerarDocumentoComPDFProprioSerializer(ResumoCursorSerializer):
|
51 |
+
system_prompt = None
|
52 |
+
prompt_auxiliar = serializers.CharField(
|
53 |
+
required=False, default=prompt_auxiliar_padrao
|
54 |
+
)
|
55 |
+
prompt_gerar_documento = serializers.CharField(
|
56 |
+
required=False, default=prompt_gerar_documento
|
57 |
+
)
|
58 |
+
user_message = serializers.CharField(required=False, default=user_message)
|
59 |
+
num_chunks_retrieval = serializers.IntegerField(default=5)
|
60 |
+
embedding_weight = serializers.FloatField(default=0.5)
|
61 |
+
bm25_weight = serializers.FloatField(default=0.5)
|
62 |
+
context_window = serializers.IntegerField(default=3)
|
63 |
+
chunk_overlap = serializers.IntegerField(default=200)
|
64 |
+
num_k_rerank = serializers.IntegerField(default=5)
|
65 |
+
model_cohere_rerank = serializers.CharField(
|
66 |
+
required=False, default="rerank-english-v2.0"
|
67 |
+
)
|
68 |
+
more_initial_chunks_for_reranking = serializers.IntegerField(default=20)
|
69 |
+
claude_context_model = serializers.CharField(
|
70 |
+
required=False, default="claude-3-haiku-20240307"
|
71 |
+
)
|
72 |
+
gpt_temperature = serializers.FloatField(default=0)
|
73 |
+
id_modelo_do_usuario = serializers.IntegerField(required=False, default=11)
|
74 |
+
should_have_contextual_chunks = serializers.BooleanField(default=False)
|
gerar_documento/urls.py
CHANGED
@@ -1,11 +1,19 @@
|
|
1 |
from django.urls import path
|
2 |
|
3 |
-
from gerar_documento.views import
|
|
|
|
|
|
|
4 |
|
5 |
urlpatterns = [
|
6 |
path(
|
7 |
"gerar-documento",
|
8 |
-
|
9 |
name="summary-cursor-completo-pdf",
|
10 |
),
|
|
|
|
|
|
|
|
|
|
|
11 |
]
|
|
|
1 |
from django.urls import path
|
2 |
|
3 |
+
from gerar_documento.views import (
|
4 |
+
GerarDocumentoView,
|
5 |
+
GerarDocumentoComPDFProprioView,
|
6 |
+
)
|
7 |
|
8 |
urlpatterns = [
|
9 |
path(
|
10 |
"gerar-documento",
|
11 |
+
GerarDocumentoView.as_view(),
|
12 |
name="summary-cursor-completo-pdf",
|
13 |
),
|
14 |
+
path(
|
15 |
+
"gerar-documento/pdf",
|
16 |
+
GerarDocumentoComPDFProprioView.as_view(),
|
17 |
+
name="generate-document-with-own-pdf",
|
18 |
+
),
|
19 |
]
|
gerar_documento/views.py
CHANGED
@@ -12,19 +12,20 @@ from _utils.resumo_completo_cursor import (
|
|
12 |
)
|
13 |
from _utils.gerar_relatorio_modelo_usuario.prompts import prompt_auxiliar_inicio
|
14 |
from .serializer import (
|
15 |
-
|
|
|
16 |
)
|
17 |
|
18 |
|
19 |
-
class
|
20 |
# parser_classes = [MultiPartParser]
|
21 |
|
22 |
@extend_schema(
|
23 |
-
request=
|
24 |
)
|
25 |
async def post(self, request):
|
26 |
print(f"\n\nDATA E HORA DA REQUISIÇÃO: {datetime.now()}")
|
27 |
-
serializer =
|
28 |
if serializer.is_valid(raise_exception=True):
|
29 |
data = serializer.validated_data
|
30 |
print("\n\ndata: ", data)
|
@@ -46,3 +47,28 @@ class ResumoSimplesCursorCompletoView(AsyncAPIView):
|
|
46 |
# remove_pdf_temp_files(listaPDFs)
|
47 |
|
48 |
return Response({"resposta": resposta_llm})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
)
|
13 |
from _utils.gerar_relatorio_modelo_usuario.prompts import prompt_auxiliar_inicio
|
14 |
from .serializer import (
|
15 |
+
GerarDocumentoComPDFProprioSerializer,
|
16 |
+
GerarDocumentoSerializer,
|
17 |
)
|
18 |
|
19 |
|
20 |
+
class GerarDocumentoView(AsyncAPIView):
|
21 |
# parser_classes = [MultiPartParser]
|
22 |
|
23 |
@extend_schema(
|
24 |
+
request=GerarDocumentoSerializer,
|
25 |
)
|
26 |
async def post(self, request):
|
27 |
print(f"\n\nDATA E HORA DA REQUISIÇÃO: {datetime.now()}")
|
28 |
+
serializer = GerarDocumentoSerializer(data=request.data)
|
29 |
if serializer.is_valid(raise_exception=True):
|
30 |
data = serializer.validated_data
|
31 |
print("\n\ndata: ", data)
|
|
|
47 |
# remove_pdf_temp_files(listaPDFs)
|
48 |
|
49 |
return Response({"resposta": resposta_llm})
|
50 |
+
|
51 |
+
|
52 |
+
class GerarDocumentoComPDFProprioView(AsyncAPIView):
|
53 |
+
parser_classes = [MultiPartParser]
|
54 |
+
|
55 |
+
@extend_schema(
|
56 |
+
request=GerarDocumentoComPDFProprioSerializer,
|
57 |
+
)
|
58 |
+
async def post(self, request):
|
59 |
+
print(f"\n\nDATA E HORA DA REQUISIÇÃO: {datetime.now()}")
|
60 |
+
serializer = GerarDocumentoComPDFProprioSerializer(data=request.data)
|
61 |
+
if serializer.is_valid(raise_exception=True):
|
62 |
+
data = serializer.validated_data
|
63 |
+
print("\n\ndata: ", data)
|
64 |
+
|
65 |
+
listaPDFs = handle_pdf_files_from_serializer(data["files"])
|
66 |
+
|
67 |
+
resposta_llm = await get_llm_summary_answer_by_cursor_complete(
|
68 |
+
data, listaPDFs
|
69 |
+
)
|
70 |
+
print("\n\nresposta_llm: ", resposta_llm)
|
71 |
+
|
72 |
+
remove_pdf_temp_files(listaPDFs)
|
73 |
+
|
74 |
+
return Response({"resposta": resposta_llm})
|
ragas_api/serializer.py
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
from rest_framework import serializers
|
2 |
-
from gerar_documento.serializer import
|
3 |
|
4 |
|
5 |
-
class RagasSerializer(
|
6 |
files = serializers.ListField(child=serializers.FileField(), required=True)
|
7 |
id_modelo_do_usuario = serializers.IntegerField(required=False)
|
8 |
hf_embedding = serializers.CharField(required=False, default="all-MiniLM-L6-v2")
|
9 |
|
10 |
|
11 |
-
class RagasFromTextSerializer(
|
12 |
files = None
|
13 |
id_modelo_do_usuario = serializers.IntegerField(required=False, default=9)
|
14 |
user_message = serializers.CharField(required=True)
|
|
|
1 |
from rest_framework import serializers
|
2 |
+
from gerar_documento.serializer import GerarDocumentoSerializer
|
3 |
|
4 |
|
5 |
+
class RagasSerializer(GerarDocumentoSerializer):
|
6 |
files = serializers.ListField(child=serializers.FileField(), required=True)
|
7 |
id_modelo_do_usuario = serializers.IntegerField(required=False)
|
8 |
hf_embedding = serializers.CharField(required=False, default="all-MiniLM-L6-v2")
|
9 |
|
10 |
|
11 |
+
class RagasFromTextSerializer(GerarDocumentoSerializer):
|
12 |
files = None
|
13 |
id_modelo_do_usuario = serializers.IntegerField(required=False, default=9)
|
14 |
user_message = serializers.CharField(required=True)
|