38 lines
1003 B
Python
38 lines
1003 B
Python
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}
|