27 lines
1.4 KiB
Python

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"