Rag-project / utils /redis_memory.py
Genos77's picture
Upload 32 files
00027a8 verified
raw
history blame contribute delete
628 Bytes
import redis.asyncio as redis
from config import settings
import json
redis_client = redis.from_url(settings.REDIS_URL)
TTL_SECONDS = 86400
async def get_chat_history(session_id: str, limit: int = 10):
key = f"chat:{session_id}"
raw = await redis_client.lrange(key, -limit, -1)
return [json.loads(msg.decode()) for msg in raw]
async def add_to_history(session_id: str, role: str, content: str):
key = f"chat:{session_id}"
message = json.dumps({"role": role, "content": content})
await redis_client.rpush(key, message)
await redis_client.expire(key, TTL_SECONDS)