ixg_platform/apps/ai/serializers.py

41 lines
1.5 KiB
Python

from rest_framework import serializers
from .models import AIInteraction, AgentConfig
class AIInteractionSerializer(serializers.ModelSerializer):
class Meta:
model = AIInteraction
fields = "__all__"
read_only_fields = ["id", "created_at"]
class ChatRequestSerializer(serializers.Serializer):
agent_id = serializers.IntegerField(required=False)
message = serializers.CharField()
session_id = serializers.CharField(required=False, allow_blank=True)
history = serializers.ListField(required=False, default=list)
system_prompt_override = serializers.CharField(required=False, allow_blank=True)
temperature = serializers.FloatField(required=False)
max_tokens = serializers.IntegerField(required=False)
class AgentConfigSerializer(serializers.ModelSerializer):
class Meta:
model = AgentConfig
fields = ["id", "name", "description", "provider", "model_name",
"temperature", "max_tokens", "system_prompt",
"capabilities", "is_active", "is_default",
"base_url", "created_at", "updated_at"]
read_only_fields = ["id", "created_at", "updated_at"]
class AgentConfigWriteSerializer(serializers.ModelSerializer):
class Meta:
model = AgentConfig
fields = "__all__"
read_only_fields = ["id", "created_at", "updated_at"]
extra_kwargs = {
"api_key": {"write_only": True},
"api_secret": {"write_only": True},
}