UPDATE
This commit is contained in:
+25
-9
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user