vella-backend / resumos /serializer.py
luanpoppe
feat: adicionando busca pelo modelo de um usuário para entrar no system prompt final
3143cff
raw
history blame
2.86 kB
from rest_framework import serializers
from setup.environment import default_model
# from _utils.utils import DEFAULT_SYSTEM_PROMPT
prompt_template = """
Based on the following context, provide multiple key points from the document.
For each point, create a new paragraph.
Each paragraph should be a complete, self-contained insight.
Context: {context}
Key points:
"""
class ResumoPDFSerializer(serializers.Serializer):
files = serializers.ListField(child=serializers.FileField(), required=True)
system_prompt = serializers.CharField(required=False)
user_message = serializers.CharField(required=False, default="")
model = serializers.CharField(required=False)
iterative_refinement = serializers.BooleanField(required=False, default=False)
class ResumoCursorSerializer(serializers.Serializer):
files = serializers.ListField(child=serializers.FileField(), required=True)
system_prompt = serializers.CharField(required=False, default=prompt_template)
user_message = serializers.CharField(required=False, default="")
model = serializers.CharField(required=False, default=default_model)
hf_embedding = serializers.CharField(required=False, default="all-MiniLM-L6-v2")
chunk_size = serializers.IntegerField(required=False, default=1000)
chunk_overlap = serializers.IntegerField(required=False, default=200)
system_prompt = """
Based on the following context, provide multiple key points from the document.
For each point, create a new paragraph.
Each paragraph should be a complete, self-contained insight.
Include any relevant context provided.
Context: {context}
Modelo do usuário: {modelo_usuario}
Key points:
"""
user_message = "What are the main points of this document?"
class ResumoCursorCompeltoSerializer(ResumoCursorSerializer):
system_prompt = serializers.CharField(required=False, default=system_prompt)
user_message = serializers.CharField(required=False, default=user_message)
num_chunks_retrieval = serializers.IntegerField(default=5)
embedding_weight = serializers.FloatField(default=0.5)
bm25_weight = serializers.FloatField(default=0.5)
context_window = serializers.IntegerField(default=3)
chunk_overlap = serializers.IntegerField(default=200)
num_k_rerank = serializers.IntegerField(default=5)
model_cohere_rerank = serializers.CharField(required=False, default="rerank-english-v2.0")
more_initial_chunks_for_reranking = serializers.IntegerField(default=20)
claude_context_model = serializers.CharField(required=False, default="claude-3-haiku-20240307")
gpt_temperature = serializers.FloatField(default=0)
id_modelo_do_usuario = serializers.IntegerField(required=True)