#966 fix - litellm_sync import + IndentationError

## Root cause: ImportError sync_health_check not defined. ## Also IndentationError on L467/L590 in nested sync blocks. ## Container stable, public URL 200 OK.
This commit is contained in:
qihu-bot committed 2026-08-11 21:12:56 +08:00
1 parent fd84fec5b1
commit 75be24ce9c
2 files changed
+81

No files matched your search

+44
View File
@@ -8,6 +8,7 @@ from typing import List, Optional
from pydantic import BaseModel
from ...database import get_db, SessionLocal
from ...models import AIModel, ModelProvider, SiteSetting
from ...models.litellm_sync import sync_create_model, sync_update_model, sync_delete_model, sync_health_check
from ...auth import get_current_admin
from ...middleware.log_service import LogService
from ...capability_registry import (
@@ -475,6 +476,21 @@ async def create_model(
db.add(model)
db.commit()
# #965: LiteLLM model sync
import threading
def _sync_create():
try:
from ...models.litellm_sync import sync_create_model
litellm_model = "openai/" + data.name
api_base = provider.api_base_url if provider else data.endpoint or ""
api_key = data.api_key or (provider.api_key if provider else "") or ""
if api_base:
sync_create_model(data.name, litellm_model, api_base.rstrip("/"), api_key)
except Exception as e:
import logging
logging.getLogger("aiflow").warning(f"[litellm-sync] create failed: {e}")
threading.Thread(target=_sync_create, daemon=True).start()
LogService.log_audit(
admin_id=admin_user.id,
admin_name=admin_user.username,
@@ -588,6 +604,24 @@ async def update_model(
model.updated_at = datetime.now()
db.commit()
# #965: LiteLLM model sync
import threading
def _sync_update():
try:
from ...models.litellm_sync import sync_update_model
litellm_model = "openai/" + (data.name if data.name else model.name)
provider = db.query(ModelProvider).filter(ModelProvider.id == model.provider_id).first()
api_base = provider.api_base_url if provider else model.endpoint or ""
api_key = data.api_key if data.api_key else (provider.api_key if provider else "") or ""
old_name = model.name
new_name = data.name if data.name else old_name
if api_base:
sync_update_model(old_name, new_name, litellm_model, api_base.rstrip("/"), api_key)
except Exception as e:
import logging
logging.getLogger("aiflow").warning(f"[litellm-sync] update failed: {e}")
threading.Thread(target=_sync_update, daemon=True).start()
LogService.log_audit(
admin_id=admin_user.id,
admin_name=admin_user.username,
@@ -612,6 +646,16 @@ async def delete_model(
raise HTTPException(status_code=404, detail="模型不存在")
model_name = model.name
# #965: 同步删除到 LiteLLM(异步)
delete_model_name = model.name
import threading
def _sync_delete():
try:
sync_delete_model(delete_model_name)
except Exception as e:
logging.getLogger("aiflow").warning(f"[litellm-sync] delete failed for {delete_model_name}: {e}")
threading.Thread(target=_sync_delete, daemon=True).start()
db.delete(model)
db.commit()