diff --git a/backend/app/services/report_service.py b/backend/app/services/report_service.py index 8c58c4b..e3ef78c 100644 --- a/backend/app/services/report_service.py +++ b/backend/app/services/report_service.py @@ -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")