33 lines
794 B
Python
33 lines
794 B
Python
import uuid
|
|
|
|
from fastapi import APIRouter
|
|
from fastapi.responses import StreamingResponse
|
|
|
|
from model import ChatRequest
|
|
from service import get_messages, clear_messages, search_recipes
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.post("/chat/stream")
|
|
async def chat_endpoint(request: ChatRequest):
|
|
"""流式对话"""
|
|
return StreamingResponse(
|
|
search_recipes(request.message, str(uuid.uuid4())),
|
|
media_type="text/event-stream"
|
|
)
|
|
|
|
|
|
@router.get("/chat/messages")
|
|
async def get_chat_messages(thread_id: str):
|
|
"""获取历史消息"""
|
|
messages = get_messages(thread_id)
|
|
return {"messages": messages}
|
|
|
|
|
|
@router.delete("/chat/messages")
|
|
async def clear_chat_messages(thread_id: str):
|
|
"""清空历史消息"""
|
|
clear_messages(thread_id)
|
|
return {"success": True}
|