RAG implementation, content moderation, prompt classification, new LLM chain, document storage

This commit is contained in:
2025-05-14 03:27:38 -05:00
parent 57695353d0
commit f5d29166a6
32 changed files with 2628 additions and 359 deletions
+44 -4
View File
@@ -1,6 +1,16 @@
from rest_framework_simplejwt.serializers import TokenObtainPairSerializer
from rest_framework import serializers
from .models import CustomUser, Announcement, Company, Conversation, Prompt, Feedback, FEEDBACK_CATEGORIES
from .models import (
CustomUser,
Announcement,
Company,
Conversation,
Prompt,
Feedback,
FEEDBACK_CATEGORIES,
DocumentWorkspace,
Document
)
class MyTokenObtainPairSerializer(TokenObtainPairSerializer):
@@ -25,11 +35,13 @@ class AnnouncmentSerializer(serializers.ModelSerializer):
model = Announcement
fields = "__all__"
class FeedbackSerializer(serializers.ModelSerializer):
class Meta:
model = Feedback
fields = "__all__"
class CustomUserSerializer(serializers.ModelSerializer):
email = serializers.EmailField(required=True)
username = serializers.CharField()
@@ -58,12 +70,40 @@ class ConversationSerializer(serializers.ModelSerializer):
class PromptSerializer(serializers.ModelSerializer):
class Meta:
model = Prompt
fields = ("message", "user_created", "created", "id", )
fields = (
"message",
"user_created",
"created",
"id",
)
class BasicUserSerializer(serializers.ModelSerializer):
class Meta:
model = CustomUser
fields = ("email", "first_name", "last_name", "is_active","has_usable_password","is_company_manager",'has_signed_tos')
fields = (
"email",
"first_name",
"last_name",
"is_active",
"has_usable_password",
"is_company_manager",
"has_signed_tos",
)
# document serializers
class DocumentWorkspaceSerializer(serializers.ModelSerializer):
class Meta:
model = DocumentWorkspace
fields = ['id', 'name', 'created']
read_only_fields = ['id', 'created']
class DocumentSerializer(serializers.ModelSerializer):
class Meta:
model = Document
fields = ['id', 'workspace', 'file', 'uploaded_at', 'processed', 'created', 'active']
read_only_fields = ['id', 'uploaded_at', 'processed', 'created']