remove config: update_costs

This commit is contained in:
hy.li 2023-08-07 16:32:04 +08:00
parent 0601ad9c76
commit 89b4361ef4
3 changed files with 22 additions and 14 deletions

View file

@ -63,6 +63,5 @@ SD_T2I_API: "/sdapi/v1/txt2img"
#PUPPETEER_CONFIG: "./config/puppeteer-config.json"
#MMDC: "./node_modules/.bin/mmdc"
### for update_costs & calc_usage
UPDATE_COSTS: false
CALC_USAGE: false
### for calc_usage
# CALC_USAGE: false

View file

@ -79,7 +79,6 @@ class Config(metaclass=Singleton):
self.total_cost = 0.0
self.puppeteer_config = self._get("PUPPETEER_CONFIG","")
self.mmdc = self._get("MMDC","mmdc")
self.update_costs = self._get("UPDATE_COSTS",True)
self.calc_usage = self._get("CALC_USAGE",True)

View file

@ -220,13 +220,18 @@ class OpenAIGPTAPI(BaseGPTAPI, RateLimiter):
return self.get_choice_text(rsp)
def _calc_usage(self, messages: list[dict], rsp: str) -> dict:
usage = {}
if CONFIG.calc_usage:
prompt_tokens = count_message_tokens(messages, self.model)
completion_tokens = count_string_tokens(rsp, self.model)
usage['prompt_tokens'] = prompt_tokens
usage['completion_tokens'] = completion_tokens
return usage
usage = {}
try:
prompt_tokens = count_message_tokens(messages, self.model)
completion_tokens = count_string_tokens(rsp, self.model)
usage['prompt_tokens'] = prompt_tokens
usage['completion_tokens'] = completion_tokens
return usage
except Exception as e:
logger.error("usage calculation failed!", e)
CONFIG.calc_usage = False
pass
async def acompletion_batch(self, batch: list[list[dict]]) -> list[dict]:
"""返回完整JSON"""
@ -255,10 +260,15 @@ class OpenAIGPTAPI(BaseGPTAPI, RateLimiter):
return results
def _update_costs(self, usage: dict):
if CONFIG.update_costs:
prompt_tokens = int(usage['prompt_tokens'])
completion_tokens = int(usage['completion_tokens'])
self._cost_manager.update_cost(prompt_tokens, completion_tokens, self.model)
if CONFIG.calc_usage:
try:
prompt_tokens = int(usage['prompt_tokens'])
completion_tokens = int(usage['completion_tokens'])
self._cost_manager.update_cost(prompt_tokens, completion_tokens, self.model)
except Exception as e:
logger.error("updating costs failed!", e)
CONFIG.calc_usage = False
pass
def get_costs(self) -> Costs:
return self._cost_manager.get_costs()