Files
Logic/Modules/Ai/rag/models.py
T

63 lines
2.0 KiB
Python
Raw Normal View History

2026-05-11 03:27:21 +03:30
from django.db import models
class ChatAuditLog(models.Model):
STATUS_STARTED = "started"
STATUS_COMPLETED = "completed"
STATUS_FAILED = "failed"
STATUS_CHOICES = [
(STATUS_STARTED, "شروع شده"),
(STATUS_COMPLETED, "تکمیل شده"),
(STATUS_FAILED, "ناموفق"),
]
farm_uuid = models.UUIDField(
null=True,
blank=True,
help_text="شناسه مزرعه مرتبط با درخواست چت",
)
service_id = models.CharField(
max_length=64,
default="chat",
help_text="شناسه سرویس RAG استفاده شده برای این درخواست",
)
model = models.CharField(
max_length=128,
blank=True,
help_text="مدل LLM استفاده شده برای پاسخ",
)
user_query = models.TextField(help_text="متن پرسش کاربر")
system_prompt = models.TextField(
blank=True,
help_text="system prompt نهایی ارسال شده به مدل",
)
messages = models.JSONField(
default=list,
blank=True,
help_text="لیست کامل پیام‌های ارسال شده به مدل",
)
response_text = models.TextField(
blank=True,
help_text="متن کامل پاسخ دریافتی از مدل",
)
error_message = models.TextField(
blank=True,
help_text="خطای رخ داده هنگام فراخوانی مدل یا استریم",
)
status = models.CharField(
max_length=16,
choices=STATUS_CHOICES,
default=STATUS_STARTED,
)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
db_table = "rag_chatauditlog"
ordering = ["-created_at"]
verbose_name = "لاگ چت RAG"
verbose_name_plural = "لاگ‌های چت RAG"
def __str__(self):
return f"{self.service_id} - {self.farm_uuid or 'no-farm'} - {self.status}"