Spaces:
Running
Running
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" | |
) | |
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 | |
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 = "" | |