mirror of
https://github.com/JefferyHcool/BiliNote.git
synced 2026-05-11 18:10:06 +08:00
- 新增自定义异常类 BizException、NoteError 和 ProviderError - 优化了模型管理相关的逻辑,包括加载、删除和测试连接等功能 - 改进了 Douyin 下载器的错误处理 - 调整了任务重试逻辑和笔记生成的异常处理- 更新了相关组件和页面以适应新的异常处理机制
51 lines
1.6 KiB
Python
51 lines
1.6 KiB
Python
from fastapi import APIRouter
|
|
from pydantic import BaseModel
|
|
|
|
from app.services.model import ModelService
|
|
from app.utils.response import ResponseWrapper as R
|
|
router = APIRouter()
|
|
modelService = ModelService()
|
|
class CreateModelRequest(BaseModel):
|
|
provider_id: str
|
|
model_name: str
|
|
|
|
# 返回体:模型信息
|
|
class ModelItem(BaseModel):
|
|
id: int
|
|
model_name: str
|
|
@router.get("/model_list")
|
|
def model_list():
|
|
try:
|
|
return R.success(modelService.get_all_models(True),msg="获取模型列表成功")
|
|
except Exception as e:
|
|
return R.error(e)
|
|
@router.get("/models/delete/{model_id}")
|
|
def delete_model(model_id: int):
|
|
try:
|
|
success = modelService.delete_model_by_id(model_id)
|
|
if success:
|
|
return R.success(msg="模型删除成功")
|
|
else:
|
|
return R.error("模型不存在或删除失败")
|
|
except Exception as e:
|
|
return R.error(f"删除模型失败: {e}")
|
|
@router.get("/model_list/{provider_id}")
|
|
def model_list(provider_id):
|
|
|
|
return R.success(modelService.get_all_models_by_id(provider_id))
|
|
|
|
|
|
@router.post("/models")
|
|
def create_model(data: CreateModelRequest):
|
|
success = ModelService.add_new_model(data.provider_id, data.model_name)
|
|
if not success:
|
|
return R.error("模型添加失败")
|
|
return R.success(msg="模型添加成功")
|
|
|
|
@router.get("/model_enable/{provider_id}")
|
|
def get_enabled_models_by_provider(provider_id: str):
|
|
try:
|
|
models = modelService.get_enabled_models_by_provider(provider_id)
|
|
return R.success(models, msg="获取启用模型成功")
|
|
except Exception as e:
|
|
return R.error(f"获取启用模型失败: {e}") |