Support getting latest N chat messages via chat history API

Get latest N if N > 0, else return all messages except latest N from
the conversation
This commit is contained in:
Debanjum Singh Solanky
2024-04-15 13:59:59 +05:30
parent e5ff85f6fb
commit 9e5585776c

View File

@@ -76,6 +76,7 @@ def chat_history(
request: Request, request: Request,
common: CommonQueryParams, common: CommonQueryParams,
conversation_id: Optional[int] = None, conversation_id: Optional[int] = None,
n: Optional[int] = None,
): ):
user = request.user.object user = request.user.object
validate_conversation_config() validate_conversation_config()
@@ -109,6 +110,13 @@ def chat_history(
} }
) )
# Get latest N messages if N > 0
if n > 0:
meta_log["chat"] = meta_log["chat"][-n:]
# Else return all messages except latest N
else:
meta_log["chat"] = meta_log["chat"][:n]
update_telemetry_state( update_telemetry_state(
request=request, request=request,
telemetry_type="api", telemetry_type="api",