from django.db import models from django.conf import settings from model_registry.models import AiModel class InferenceAuditLog(models.Model): """บันทึกทุกคำสั่งรัน Inference ที่เข้ามาใน Gateway""" # ข้อมูลผู้ใช้/โมเดล # ใช้ ForeignKey ไปยัง CustomUser และ AiModel user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, null=True, verbose_name="ผู้ใช้งาน") model = models.ForeignKey(AiModel, on_delete=models.SET_NULL, null=True, verbose_name="Model ที่ถูกเรียก") # ข้อมูลการประมวลผล timestamp = models.DateTimeField(auto_now_add=True, verbose_name="เวลาเรียกใช้") endpoint_url = models.CharField(max_length=500, verbose_name="FastAPI Endpoint") http_status = models.IntegerField(verbose_name="HTTP Status Code") latency_ms = models.FloatField(verbose_name="Latency (ms)") is_success = models.BooleanField(default=False, verbose_name="สำเร็จหรือไม่") # ผลลัพธ์ response_summary = models.TextField(blank=True, null=True, verbose_name="ผลลัพธ์สรุป/ข้อความ error") class Meta: ordering = ['-timestamp'] verbose_name = "Inference Audit Log" verbose_name_plural = "Inference Audit Logs"