refac: model access control behaviour

This commit is contained in:
Timothy Jaeryang Baek
2024-11-17 19:15:09 -08:00
parent 85731f400c
commit 3faf9d2067
4 changed files with 36 additions and 12 deletions

View File

@@ -362,8 +362,6 @@ async def get_ollama_tags(
user.id, type="read", access_control=model_info.access_control
):
filtered_models.append(model)
else:
filtered_models.append(model)
models["models"] = filtered_models
return models
@@ -960,6 +958,12 @@ async def generate_chat_completion(
status_code=403,
detail="Model not found",
)
else:
if user.role != "admin":
raise HTTPException(
status_code=403,
detail="Model not found",
)
if ":" not in payload["model"]:
payload["model"] = f"{payload['model']}:latest"
@@ -1048,6 +1052,12 @@ async def generate_openai_chat_completion(
status_code=403,
detail="Model not found",
)
else:
if user.role != "admin":
raise HTTPException(
status_code=403,
detail="Model not found",
)
if ":" not in payload["model"]:
payload["model"] = f"{payload['model']}:latest"
@@ -1130,8 +1140,6 @@ async def get_openai_models(
user.id, type="read", access_control=model_info.access_control
):
filtered_models.append(model)
else:
filtered_models.append(model)
models = filtered_models
return {

View File

@@ -424,8 +424,6 @@ async def get_models(url_idx: Optional[int] = None, user=Depends(get_verified_us
user.id, type="read", access_control=model_info.access_control
):
filtered_models.append(model)
else:
filtered_models.append(model)
models["data"] = filtered_models
return models
@@ -512,6 +510,12 @@ async def generate_chat_completion(
status_code=403,
detail="Model not found",
)
else:
if user.role != "admin":
raise HTTPException(
status_code=403,
detail="Model not found",
)
# Attemp to get urlIdx from the model
models = await get_all_models()