Spaces:
Running
Running
File size: 2,100 Bytes
63cd221 |
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 |
from dataclasses import dataclass, field
from typing import List, Optional, Union
from rest_framework import serializers
from _utils.gerar_documento_utils.prompts import (
prompt_gerar_documento,
)
from gerar_documento.serializer import FileInfoSerializer, FileInfoSerializerData
from gerar_documento.serializer_base import (
GerarDocumentoParametros,
GerarDocumentoParametrosData,
)
from setup.environment import default_model
from django.core.files.uploadedfile import UploadedFile
user_message = "What are the main points of this document?"
class SimpleLLMInitialSerializer(serializers.Serializer):
files = serializers.ListField(child=serializers.FileField(), required=False)
user_text = serializers.CharField(required=False, default=user_message)
model = serializers.CharField(required=False, default=default_model)
prompt = serializers.CharField(required=False, default=prompt_gerar_documento)
llm_ultimas_requests = serializers.CharField(
required=False, default="gemini-2.0-flash"
)
@dataclass
class SimpleLLMInitialSerializerData:
files: List[dict] = field(default_factory=list)
user_text: str = ""
model: str = default_model
prompt: str = ""
llm_ultimas_requests: str = "gemini-2.0-flash"
class SimpleLLMSerializer(SimpleLLMInitialSerializer):
files = serializers.ListField(child=FileInfoSerializer(), required=False)
bubble_editor_version = serializers.CharField(
required=False, default="version-test"
) # Será o valor utilizado dentro da URL da requisição pro Bubble
doc_id = serializers.CharField(required=True)
form_response_id = serializers.CharField(required=True)
version = serializers.CharField(required=True)
def get_obj(self):
return SimpleSerializerData(**self.validated_data) # type: ignore
@dataclass
class SimpleSerializerData(SimpleLLMInitialSerializerData):
files: List[FileInfoSerializerData] = field(default_factory=list)
bubble_editor_version: str = "version-test"
doc_id: str = ""
form_response_id: str = ""
version: str = ""
|