mirror of
https://gh-proxy.org/https://github.com/klinsmaya/SQLBot.git
synced 2026-11-11 02:36:54 +08:00
feat: Check default llm before chat
This commit is contained in:
@@ -110,7 +110,7 @@ def get_default_config() -> LLMConfig:
|
||||
select(AiModelDetail).where(AiModelDetail.default_model == True)
|
||||
).first()
|
||||
if not db_model:
|
||||
raise ValueError("The system default model has not been set")
|
||||
raise Exception("The system default model has not been set")
|
||||
|
||||
additional_params = {}
|
||||
if db_model.config:
|
||||
|
||||
@@ -38,6 +38,33 @@ async def check_llm(info: AiModelCreator, trans: Trans):
|
||||
|
||||
return StreamingResponse(generate(), media_type="application/x-ndjson")
|
||||
|
||||
@router.get("/default")
|
||||
async def check_default(session: SessionDep, trans: Trans):
|
||||
db_model = session.exec(
|
||||
select(AiModelDetail).where(AiModelDetail.default_model == True)
|
||||
).first()
|
||||
if not db_model:
|
||||
raise Exception(trans('i18n_llm.miss_default'))
|
||||
|
||||
@router.put("/default/{id}")
|
||||
async def set_default(session: SessionDep, id: int):
|
||||
db_model = session.get(AiModelDetail, id)
|
||||
if not db_model:
|
||||
raise ValueError(f"AiModelDetail with id {id} not found")
|
||||
if db_model.default_model:
|
||||
return
|
||||
|
||||
try:
|
||||
session.exec(
|
||||
update(AiModelDetail).values(default_model=False)
|
||||
)
|
||||
db_model.default_model = True
|
||||
session.add(db_model)
|
||||
session.commit()
|
||||
except Exception as e:
|
||||
session.rollback()
|
||||
raise e
|
||||
|
||||
@router.get("", response_model=list[AiModelGridItem])
|
||||
async def query(
|
||||
session: SessionDep,
|
||||
@@ -119,22 +146,5 @@ async def delete_model(
|
||||
session.delete(item)
|
||||
session.commit()
|
||||
|
||||
@router.put("/default/{id}")
|
||||
async def set_default(session: SessionDep, id: int):
|
||||
db_model = session.get(AiModelDetail, id)
|
||||
if not db_model:
|
||||
raise ValueError(f"AiModelDetail with id {id} not found")
|
||||
if db_model.default_model:
|
||||
return
|
||||
|
||||
try:
|
||||
session.exec(
|
||||
update(AiModelDetail).values(default_model=False)
|
||||
)
|
||||
db_model.default_model = True
|
||||
session.add(db_model)
|
||||
session.commit()
|
||||
except Exception as e:
|
||||
session.rollback()
|
||||
raise e
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
},
|
||||
"i18n_llm": {
|
||||
"validate_error": "Validation failed [{msg}]",
|
||||
"delete_default_error": "Cannot delete default model [{key}]!"
|
||||
"delete_default_error": "Cannot delete default model [{key}]!",
|
||||
"miss_default": "The default large language model has not been configured"
|
||||
}
|
||||
}
|
||||
@@ -30,6 +30,7 @@
|
||||
},
|
||||
"i18n_llm": {
|
||||
"validate_error": "校验失败[{msg}]",
|
||||
"delete_default_error": "无法删除默认模型[{key}]!"
|
||||
"delete_default_error": "无法删除默认模型[{key}]!",
|
||||
"miss_default": "尚未配置默认大语言模型"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user