| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- from fastapi import APIRouter, UploadFile, File, Query
- from app.schemas.dataset import (
- DatasetPreviewResponse,
- DatasetUploadResponse,
- DatasetValidationResult,
- )
- router = APIRouter()
- @router.post("/upload", response_model=DatasetUploadResponse)
- async def upload_dataset(file: UploadFile = File(...)):
- """上传数据集文件(JSONL / CSV / Parquet / JSON)。"""
- return DatasetUploadResponse(
- id="placeholder",
- name=file.filename or "unknown",
- format="jsonl",
- record_count=0,
- file_path="",
- created_at="",
- )
- @router.get("/{dataset_id}/preview", response_model=DatasetPreviewResponse)
- async def preview_dataset(dataset_id: str, rows: int = Query(default=10, le=100)):
- """预览数据集前 N 行。"""
- return DatasetPreviewResponse(total_records=0, preview_rows=[], columns=[])
- @router.post("/{dataset_id}/validate", response_model=DatasetValidationResult)
- async def validate_dataset(dataset_id: str):
- """校验数据集格式和 Schema。"""
- return DatasetValidationResult(is_valid=True)
- @router.get("/", response_model=list[DatasetUploadResponse])
- async def list_datasets():
- """列出所有已上传数据集。"""
- return []
- @router.delete("/{dataset_id}")
- async def delete_dataset(dataset_id: str):
- """删除数据集。"""
- return {"status": "deleted"}
|