27 lines
1.4 KiB
Python
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"
|