Редактировать history_manager.py
This commit is contained in:
@@ -73,21 +73,9 @@ class HistoryManager:
|
|||||||
Возвращает:
|
Возвращает:
|
||||||
List[Dict[str, str]]: список сообщений с ключами 'role' и 'content'
|
List[Dict[str, str]]: список сообщений с ключами 'role' и 'content'
|
||||||
"""
|
"""
|
||||||
# Так как PostgresService.get_history не поддерживает offset,
|
|
||||||
# мы запрашиваем на offset больше записей, а затем обрезаем.
|
|
||||||
# Это неэффективно для больших offset, но допустимо для умеренных значений.
|
|
||||||
# В будущем следует добавить поддержку offset в PostgresService.
|
|
||||||
fetch_limit = limit + offset
|
|
||||||
raw_history: List[Dict[str, Any]] = await self.db.get_history(
|
raw_history: List[Dict[str, Any]] = await self.db.get_history(
|
||||||
user_jid, room_jid, limit=fetch_limit
|
user_jid, room_jid, limit=limit, offset=offset
|
||||||
)
|
)
|
||||||
# Применяем offset и limit
|
|
||||||
if offset > 0:
|
|
||||||
raw_history = raw_history[offset:offset + limit]
|
|
||||||
else:
|
|
||||||
raw_history = raw_history[:limit]
|
|
||||||
|
|
||||||
# Преобразуем в формат, ожидаемый LLM
|
|
||||||
return [
|
return [
|
||||||
{"role": rec['role'], "content": rec['content']}
|
{"role": rec['role'], "content": rec['content']}
|
||||||
for rec in raw_history
|
for rec in raw_history
|
||||||
|
|||||||
Reference in New Issue
Block a user