from typing import List from fastapi import APIRouter from fastapi.responses import StreamingResponse from model import ChatRequest, SessionMessageResponse from services.agent_service import get_messages, clear_messages, search_recipes, get_user_session_messages router = APIRouter() @router.post("/chat/stream") async def chat_endpoint(request: ChatRequest): """流式对话""" return StreamingResponse( search_recipes(request), media_type="text/event-stream" ) @router.get("/chat/messages/session", response_model=List[SessionMessageResponse]) def get_session_messages(username: str): """获取历史消息""" return get_user_session_messages(username) @router.get("/chat/messages") def get_chat_messages(thread_id: str): """获取历史消息""" return get_messages(thread_id) @router.delete("/chat/messages") async def clear_chat_messages(thread_id: str): """清空历史消息""" clear_messages(thread_id) return {"success": True}