fix: temporary adaptation for calculating LLM usage for diarization in seconds based on tokens
parent
4dcdcbb743
commit
0d64df79c3
|
@ -128,6 +128,7 @@ class TranscriptionReportService:
|
|||
# Executa agregação principal
|
||||
self.mongo_results = list(collection.aggregate(pipeline))
|
||||
self.unique_ids = [doc["_id"] for doc in self.mongo_results]
|
||||
|
||||
|
||||
# TEST
|
||||
# print("======> self.mongo_results: ", self.mongo_results)
|
||||
|
@ -137,7 +138,35 @@ class TranscriptionReportService:
|
|||
|
||||
# stt = rowMongo.get('usageByType', {}).get('stt', {})
|
||||
|
||||
# if not stt:
|
||||
# if not stt:
|
||||
|
||||
# # print("==========> rowMongo: ", rowMongo)
|
||||
|
||||
# # input_text = rowMongo.get('usageByType', {}).get('input-text-gemini-2.5-flash', {})
|
||||
# # input_audio = rowMongo.get('usageByType', {}).get('input-audio-gemini-2.5-flash', {})
|
||||
# # output = rowMongo.get('usageByType', {}).get('output-text-gemini-2.5-flash', {})
|
||||
|
||||
# # input_text_usage_cost = input_text.get("usageCost", 0)
|
||||
# # input_audio_usage_cost = input_audio.get("usageCost", 0)
|
||||
# # output_usage_cost = output.get("usageCost", 0)
|
||||
|
||||
# # token_by_second = 1920 / 60
|
||||
# # usageSeconds = round(input_audio.get('usage', 0) / token_by_second)
|
||||
|
||||
# # total_cost_stt = (input_text_usage_cost + input_audio_usage_cost + output_usage_cost)
|
||||
|
||||
# # print("============> total_cost_stt: ", total_cost_stt)
|
||||
# # print("============> usageSeconds: ", usageSeconds)
|
||||
# # print("")
|
||||
|
||||
# # print("======> stt_model: ", input_audio.get('product', 'unknown'))
|
||||
# # print("======> stt_provider: ", input_audio.get('provider', 'unknown'))
|
||||
# # print("======> stt_cost: ", total_cost_stt)
|
||||
# # print("======> stt_usageSeconds: ", f"{usageSeconds}")
|
||||
|
||||
# # exit()
|
||||
|
||||
|
||||
# stt = rowMongo.get('usageByType', {}).get('input-audio', {})
|
||||
|
||||
# # minutes
|
||||
|
@ -232,22 +261,32 @@ class TranscriptionReportService:
|
|||
|
||||
stt = usage_by_type.get("stt", {})
|
||||
if not stt:
|
||||
stt = usage_by_type.get("input-audio", {})
|
||||
|
||||
token_by_second = 1920 / 60 # tokens por segundo usando modelo gemini 2.5 flash input audio
|
||||
usageSeconds = round(stt.get("usage", 0) / token_by_second)
|
||||
|
||||
model_name = stt.get("product", "unknown")
|
||||
# AJUSTE PROVISORIO. REFATORAR PARA NÃO USAR CODIGO STATICO COM NOME DO MODELO
|
||||
input_text = rowMongo.get('usageByType', {}).get('input-text-gemini-2.5-flash', {})
|
||||
input_audio = rowMongo.get('usageByType', {}).get('input-audio-gemini-2.5-flash', {})
|
||||
output = rowMongo.get('usageByType', {}).get('output-text-gemini-2.5-flash', {})
|
||||
|
||||
input_text_usage_cost = input_text.get("usageCost", 0)
|
||||
input_audio_usage_cost = input_audio.get("usageCost", 0)
|
||||
output_usage_cost = output.get("usageCost", 0)
|
||||
|
||||
token_by_second = 1920 / 60
|
||||
usageSeconds = round(input_audio.get('usage', 0) / token_by_second)
|
||||
|
||||
total_cost_stt = (input_text_usage_cost + input_audio_usage_cost + output_usage_cost)
|
||||
|
||||
model_name = input_audio.get("product", "unknown")
|
||||
|
||||
if "-input-audio" in model_name:
|
||||
# Ajuste para situações como gemini-2.5-flash-input-audio para modificar para gemini-2.5-flash
|
||||
model_name = model_name.replace("-input-audio", "")
|
||||
|
||||
row["stt_model"] = model_name
|
||||
row["stt_model"] = model_name
|
||||
row["stt_provider"] = input_audio.get("provider", "unknown")
|
||||
row["stt_cost"] = total_cost_stt
|
||||
row["stt_usage"] = usageSeconds
|
||||
|
||||
row["stt_provider"] = stt.get("provider", "unknown")
|
||||
row["stt_cost"] = rowMongo["totalCost"]
|
||||
row["stt_usage"] = usageSeconds
|
||||
else:
|
||||
row["stt_model"] = stt.get("product", "unknown")
|
||||
row["stt_provider"] = stt.get("provider", "unknown")
|
||||
|
|
Loading…
Reference in New Issue