optimize TenantLLMService.increase_usage for "can't update token usag… (#4755)
…e error " message ### What problem does this PR solve? optimize TenantLLMService.increase_usage Performance ### Type of change - [x] Performance Improvement Co-authored-by: che_shuai <che_shuai@massclouds.com>
This commit is contained in:
parent
2aa0cdde8f
commit
588207d7c1
@ -175,38 +175,35 @@ class TenantLLMService(CommonService):
|
|||||||
if not e:
|
if not e:
|
||||||
raise LookupError("Tenant not found")
|
raise LookupError("Tenant not found")
|
||||||
|
|
||||||
if llm_type == LLMType.EMBEDDING.value:
|
llm_map = {
|
||||||
mdlnm = tenant.embd_id
|
LLMType.EMBEDDING.value: tenant.embd_id,
|
||||||
elif llm_type == LLMType.SPEECH2TEXT.value:
|
LLMType.SPEECH2TEXT.value: tenant.asr_id,
|
||||||
mdlnm = tenant.asr_id
|
LLMType.IMAGE2TEXT.value: tenant.img2txt_id,
|
||||||
elif llm_type == LLMType.IMAGE2TEXT.value:
|
LLMType.CHAT.value: tenant.llm_id if not llm_name else llm_name,
|
||||||
mdlnm = tenant.img2txt_id
|
LLMType.RERANK.value: tenant.rerank_id if not llm_name else llm_name,
|
||||||
elif llm_type == LLMType.CHAT.value:
|
LLMType.TTS.value: tenant.tts_id if not llm_name else llm_name
|
||||||
mdlnm = tenant.llm_id if not llm_name else llm_name
|
}
|
||||||
elif llm_type == LLMType.RERANK:
|
|
||||||
mdlnm = tenant.rerank_id if not llm_name else llm_name
|
mdlnm = llm_map.get(llm_type)
|
||||||
elif llm_type == LLMType.TTS:
|
if mdlnm is None:
|
||||||
mdlnm = tenant.tts_id if not llm_name else llm_name
|
raise ValueError("LLM type error")
|
||||||
else:
|
|
||||||
assert False, "LLM type error"
|
|
||||||
|
|
||||||
llm_name, llm_factory = TenantLLMService.split_model_name_and_factory(mdlnm)
|
llm_name, llm_factory = TenantLLMService.split_model_name_and_factory(mdlnm)
|
||||||
|
|
||||||
num = 0
|
|
||||||
try:
|
try:
|
||||||
if llm_factory:
|
num = cls.model.update(
|
||||||
tenant_llms = cls.query(tenant_id=tenant_id, llm_name=llm_name, llm_factory=llm_factory)
|
used_tokens=cls.model.used_tokens + used_tokens
|
||||||
else:
|
).where(
|
||||||
tenant_llms = cls.query(tenant_id=tenant_id, llm_name=llm_name)
|
cls.model.tenant_id == tenant_id,
|
||||||
if not tenant_llms:
|
cls.model.llm_name == llm_name,
|
||||||
return num
|
cls.model.llm_factory == llm_factory if llm_factory else True
|
||||||
else:
|
).execute()
|
||||||
tenant_llm = tenant_llms[0]
|
|
||||||
num = cls.model.update(used_tokens=tenant_llm.used_tokens + used_tokens) \
|
|
||||||
.where(cls.model.tenant_id == tenant_id, cls.model.llm_factory == tenant_llm.llm_factory, cls.model.llm_name == llm_name) \
|
|
||||||
.execute()
|
|
||||||
except Exception:
|
except Exception:
|
||||||
logging.exception("TenantLLMService.increase_usage got exception")
|
logging.exception(
|
||||||
|
"TenantLLMService.increase_usage got exception,Failed to update used_tokens for tenant_id=%s, llm_name=%s",
|
||||||
|
tenant_id, llm_name)
|
||||||
|
return 0
|
||||||
|
|
||||||
return num
|
return num
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user