Files
lotteryServer/api/agent_api.py
2026-09-07 13:24:09 +08:00

47 lines
1.1 KiB
Python

from fastapi import APIRouter
from fastapi.responses import StreamingResponse
from pydantic import BaseModel, Field
from services.agent_server.chef_service import ChefService
# agent相关的路由
agent_router = APIRouter(prefix="/agent", tags=["Agent相关"])
class ChatRequest(BaseModel):
thread_id: str = Field(description="当前会话的id")
message: str = Field(description="当前会话的问题")
class ChatResponse(BaseModel):
thread_id: str
content: str
@agent_router.post("/chat", response_model=ChatResponse)
def chat(request: ChatRequest):
result = ChefService.chat(
thread_id=request.thread_id,
message=request.message,
)
messages = result["messages"]
# 最后一条 AI 消息
last_message = messages[-1]
return ChatResponse(
thread_id=request.thread_id,
content=last_message.content,
)
@agent_router.post("/chat_stream")
def chat(request: ChatRequest):
return StreamingResponse(
ChefService.chat_stream(
thread_id=request.thread_id,
message=request.message,
),
media_type="text/plain; charset=utf-8"
)