File size: 1,671 Bytes
6cfe55f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | 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}") |