From c4366968adda1241d8b5152f9fe13cbae1e77347 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=9C=E8=8F=AF?= Date: Wed, 31 May 2023 11:20:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E8=88=8A=E6=96=87=E6=AA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 228 ------------------------------------------------------ 1 file changed, 228 deletions(-) diff --git a/README.md b/README.md index 6bdaf28..3f753bf 100644 --- a/README.md +++ b/README.md @@ -257,231 +257,3 @@ WS | /api/{name}/{item_id} | Websocket 連接對象 * GET查詢以外的操作都必須在headers中攜帶token驗證身份權限 * GET查詢私有模型也必須登錄, 否則不會被展示 - - ------------------------------------------------------------ - - -### 圖片列表 - -GET /api/images -```javascript -{ - page: 1, // 当前页码 - pageSize: 20, // 分页数 - next: true, // 是否存在下一页 - list: [{ - id: 1234, // 原图ID - width: 512, // 原图宽度 - height: 512, // 原图高度 - createdAt: '', // 創建時間 - updatedAt: '', // 更新時間 - user: { // 来源用户 - id: 1234, - user_name: 'LAST', - }, - article: { // 来源文章 - id: 1234, - title: 'GAMEX', - } - }] -} -``` - - -列表视图:(输出控制) - -Method | URL | Info --------|--------------------------------|---------------------------------- -GET | /api/images | 标准顺序查询 -GET | /api/images?page=1&pageSize=20 | 指定页码和指定分页大小 -DELETE | /api/images/{image_id} | 刪除指定圖片 - - -筛选规则:(数据过滤) - -Method | URL | Info --------|--------------------------------|---------------------------------- -GET | /api/images?user=1234 | 筛选指定某用户发表的图片 -GET | /api/images?choice=1234 | 筛选指定精选集下的图片 -GET | /api/images?like=1234 | 筛选指定用户点赞的图片 -GET | /api/images?tag=1234 | 筛选含有指定标签的图片 -GET | /api/images?tag=1234,1235 | 筛选含有多个标签之一的图片(并集) -GET | /api/images?tag=1234&tag=1235 | 筛选含有指定多个标签的图片(交集) -GET | /api/images?user=1234&tag=123 | 筛选指定用户的指定标签图片(交集) -GET | /api/images?date=20220214+ | 时间范围(之后) -GET | /api/images?date=20220214- | 时间范围(之前) -GET | /api/images?date=2022~2023 | 时间范围(之间) - - -排序规则:(权重强化) - -Method | URL | Info --------|--------------------------------|---------------------------------- -GET | /api/images?similar=1234 | 根据指定图片的相似图片(指定图片ID) -GET | /api/images?sort=date+ | 排序规则(相似图片查询时此项无效) -GET | /api/images?sort=like | 根据用户偏好推荐(指定用户的偏好) -GET | /api/images?sort=history | 根据浏览记录推荐(指定用户的记录) -GET | /api/images?sort=choice | 根据精选集推荐(指定精选集ID,取一组权重) - -* 注意, 筛选规则为多条件取交集, 单条件的复数取并集 -* 权重强化属于排序规则而非过滤规则 - - -### 模型列表 - -GET /api/models -```javascript -{ - page: 1, // 当前页码 - pageSize: 20, // 分页数 - next: true, // 是否存在下一页 - list: [{ - id: 'xxxxx', // 模型ID - name: 'xxx', // 模型名稱 - createdAt: '', // 創建時間 - updatedAt: '', // 更新時間 - }] -} -``` - -篩選規則:(數據過濾) - -Method | URL | Info --------|--------------------------------|---------------------------------- -GET | /api/models | 獲取所有模型 -GET | /api/models?user=1234 | 僅取指定用戶的(按用戶ID過濾) -GET | /api/models?tag=xxx | 按標籤分類篩選 -GET | /api/models?public=true | 僅取公開的 -GET | /api/models?public=false | 僅取私有的 -POST | /api/models | 創建一個模型 - -* 如果未登錄, 返回的結果將過濾掉無權限查看的內容 -* 如果已登錄, 返回的結果將包含私有的 - -POST /api/models -```javascript -// 發送數據 -{ - name: '', // 設定名稱 - type: '', // 指定訓練類型 - source: '', // 指定源模型ID - type: '', // 模型類型(RoLa|SD2|SD1.5) - data: { - oss: [], // 直接上傳到OSS的圖片地址列表 - images: [], // 指定圖片的ID們 - choices: [], // 精選集的ID們 - }, // 指定數據集(可以是上傳到OSS的文件列表, 也可以是已有的圖片ID, 也可以是精選集ID) -} - -// 返回數據 -{ - id: 'xxx', // 模型ID - name: '', // 模型名稱 - status: '', // 模型狀態(必須訓練完成的才可用) - createdAt: '', // 創建時間 - updatedAt: '', // 更新時間 -} -``` - -### 模型詳情 - -GET /api/models/{model_id} -```javascript -{ - id: 'xxxxx', // 模型ID - name: 'xxx', // 模型名稱 - createdAt: '', // 創建時間 - updatedAt: '', // 更新時間 -} -``` - -PATCH /api/models/{model_id} -```javascript -{ - name: 'xxx', // 修改模型名稱 - status: 'ready', // (initial|ready|waiting|running|success|error) -} -``` -* 修改指定字段, 只傳遞需要修改的字段 -* status 初始默認爲 'initial', 修改爲 'ready' 即就緒狀態, 服務器將爲此任務自動排期 -* 當模型訓練任務被加入等待隊列時, 其狀態自動變更爲 'waiting' -* 當模型訓練任務被執行時, 其狀態自動變更爲 'running', 並開始更新進度條 Progress -* 當模型訓練完成時狀態自動變更爲'success', 失敗時爲'error' -* 訓練中的模型將被鎖定, 無法修改刪除等操作 - -DELETE /api/models/{model_id} -* 刪除指定模型 - - - -### 獲取標籤 - -GET /api/tags -```javascript -{ - page: 1, // 当前页码 - pageSize: 20, // 分页数 - next: true, // 是否存在下一页 - list: [{ - id: 'xxxxx', // 標籤ID - name: 'xxx', // 標籤名稱 - createdAt: '', // 創建時間 - updatedAt: '', // 更新時間 - }] -} -``` - -篩選規則:(數據過濾) - -Method | URL | Info --------|--------------------------------|------------------ -GET | /api/tags?user=1234 | 按用戶ID篩選 -GET | /api/tags?tag=xxx | 按標籤分類篩選 -DELETE | /api/tags/{tag_id} | 刪除指定標籤 - -### 獲取任務 -GET /api/tasks -```javascript -{ - page: 1, // 当前页码 - pageSize: 20, // 分页数 - next: true, // 是否存在下一页 - list: [{ - id: 'xxxxx', // 任務ID - name: 'xxx', // 任務名稱 - status: 'xxx', // 任務狀態(waiting|running|success|error) - progress: 100, // 任務進度(0~100) - data: {}, // 任務數據 - createdAt: '', // 創建時間 - updatedAt: '', // 更新時間 - }] -} -``` - -篩選規則:(數據過濾) - -Method | URL | Info --------|--------------------------------|------------------ -GET | /api/tasks?user=1234 | 按用戶ID篩選 -GET | /api/tasks?tag=xxx | 按標籤分類篩選 -DELETE | /api/tasks/{task_id} | 刪除指定任務 - -### 監聽任務 - -WebSocket /api/tasks/{task_id} -```javascript -{ - id: 'xxxx', // 任務ID - status: 'xxx', // 任務狀態(waiting|running|success|error) - progress: 100, // 任務進度(0~100) - data: {}, // 返回數據 -} -``` - -* 使用websocket建立連接以對指定任務監聽狀態變化 -* 離開頁面時,或是任務結束時, 應斷開websocket連接 -* 當任務狀態發生變化時, 服務端向瀏覽器主動發送消息 -* 返回數據:任務執行中爲預覽, 任務完成時爲生成結果 - -