Spaces:
Running
Running
File size: 891 Bytes
4ef118d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | """
Memory management routes.
"""
from __future__ import annotations
from fastapi import APIRouter, HTTPException
from ..models.memory import MemoryOptimizeRequest
from ..services.memory_service import optimize_user_memories
router = APIRouter(tags=["memory"])
@router.post("/memory/optimize")
async def optimize_memory(request: MemoryOptimizeRequest):
"""Optimize a user's memories using AGNO optimization strategies."""
result = optimize_user_memories(
user_id=request.user_id,
strategy=request.strategy,
apply=request.apply,
provider=request.memory_provider,
model=request.memory_model,
base_url=request.memory_base_url,
api_key=request.memory_api_key,
)
if not result.get("success"):
raise HTTPException(status_code=500, detail=result.get("message") or "Memory optimization failed")
return result
|