Files

39 lines
1.1 KiB
Python

"""Admin view of the last day of model request and response text."""
from __future__ import annotations
from fastapi import APIRouter, Request
from pydantic import BaseModel, Field
from app.gateway.routers.admin_users import _require_admin
from deerflow.models.model_exchange_log import query_model_exchanges
router = APIRouter(prefix="/api/admin/model-exchanges", tags=["admin-model-exchanges"])
class ModelExchangeRecord(BaseModel):
id: str
at: str
model: str = ""
user_id: str = ""
enable_thinking: str = "unset"
request_preview: str = ""
response_preview: str = ""
request_text: str = ""
response_text: str = ""
request_body: str = ""
response_raw: str = ""
response_content: str = ""
response_reasoning: str = ""
reasoning_field: str = ""
class ModelExchangeListResponse(BaseModel):
records: list[ModelExchangeRecord] = Field(default_factory=list)
@router.get("", response_model=ModelExchangeListResponse)
async def list_model_exchanges(request: Request) -> ModelExchangeListResponse:
await _require_admin(request)
return ModelExchangeListResponse(records=query_model_exchanges())