Spaces:
Sleeping
Sleeping
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)
|