This commit is contained in:
2026-04-24 02:12:06 +03:30
parent 31f4bf5d38
commit 302124aa87
18 changed files with 392 additions and 406 deletions
+25 -9
View File
@@ -111,6 +111,29 @@ def _create_audit_log(
return log
def _complete_audit_log(audit_log: "ChatAuditLog", response_text: str) -> None:
from .models import ChatAuditLog
audit_log.response_text = response_text
audit_log.status = ChatAuditLog.STATUS_COMPLETED
audit_log.save(update_fields=["response_text", "status", "updated_at"])
def _fail_audit_log(
audit_log: "ChatAuditLog",
error_message: str,
response_text: str = "",
) -> None:
from .models import ChatAuditLog
audit_log.response_text = response_text
audit_log.error_message = error_message
audit_log.status = ChatAuditLog.STATUS_FAILED
audit_log.save(
update_fields=["response_text", "error_message", "status", "updated_at"]
)
def build_rag_context(
query: str,
sensor_uuid: str | None = None,
@@ -267,9 +290,7 @@ def chat_rag_stream(
yield content
full_response = "".join(response_chunks)
audit_log.response_text = full_response
audit_log.status = ChatAuditLog.STATUS_COMPLETED
audit_log.save(update_fields=["response_text", "status", "updated_at"])
_complete_audit_log(audit_log, full_response)
logger.info(
"Completed chat response id=%s farm_uuid=%s response_len=%s response=\n%s",
audit_log.id,
@@ -279,12 +300,7 @@ def chat_rag_stream(
)
except Exception as exc:
partial_response = "".join(response_chunks)
audit_log.response_text = partial_response
audit_log.error_message = str(exc)
audit_log.status = ChatAuditLog.STATUS_FAILED
audit_log.save(
update_fields=["response_text", "error_message", "status", "updated_at"]
)
_fail_audit_log(audit_log, str(exc), partial_response)
logger.exception(
"Chat request failed id=%s service_id=%s farm_uuid=%s partial_response_len=%s",
audit_log.id,