Skip to content

Commit f99967f

Browse files
moves recency sorting into Redis query
1 parent 3a117eb commit f99967f

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

redisvl/extensions/session_manager/session.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,11 @@ def fetch_recent(
270270
last_k_filter = Num("count") > int(count) - top_k
271271
combined = self._tag_filter & last_k_filter
272272

273-
query = FilterQuery(return_fields=return_fields, filter_expression=combined)
273+
query = FilterQuery(
274+
return_fields=return_fields,
275+
filter_expression=combined,
276+
params={"sortby": "timestamp"},
277+
)
274278
hits = self._index.query(query)
275279
if raw:
276280
return hits
@@ -291,9 +295,6 @@ def _format_context(
291295
Union[str, List[str]]: A single string transcription of the session
292296
or list of strings if as_text is false.
293297
"""
294-
if hits:
295-
hits.sort(key=lambda x: x["timestamp"]) # TODO move sorting to query.py
296-
297298
if as_text:
298299
text_statements = [self._preamble["_content"]]
299300
for hit in hits:

redisvl/query/query.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ def query(self) -> Query:
179179
.return_fields(*self._return_fields)
180180
.paging(self._first, self._limit)
181181
.dialect(self._dialect)
182+
.sort_by(self._params.get("sortby"))
182183
)
183184
return query
184185

0 commit comments

Comments
 (0)