From ae69dccc39fd0eee97d123e502527a07a28abf6d Mon Sep 17 00:00:00 2001
From: Ivan Pavlovich <ivan.pavlovic@hes-so.ch>
Date: Mon, 17 Mar 2025 19:02:29 +0100
Subject: [PATCH] Regeneration du calcule de tokens et de prix des LLM avec la
 nouvelle sauvegarde locale des articles pubmed

---
 models/LLM/Tokenizer/data/token_count.json | 390 ++++++++++-----------
 models/LLM/Tokenizer/token_count.py        |  51 ++-
 models/LLM/prices/data/llm_prices.json     | 384 ++++++++++----------
 3 files changed, 412 insertions(+), 413 deletions(-)

diff --git a/models/LLM/Tokenizer/data/token_count.json b/models/LLM/Tokenizer/data/token_count.json
index 97e080c23..a4c59fb66 100644
--- a/models/LLM/Tokenizer/data/token_count.json
+++ b/models/LLM/Tokenizer/data/token_count.json
@@ -1,41 +1,41 @@
 {
     "bert-base-uncased": {
-        "ALL": 89156232,
+        "ALL": 77536060,
         "NO KEYWORDS": {
             "day": {
                 "input": {
                     "min": 0,
-                    "max": 478958,
-                    "mean": 79249.984
+                    "max": 359507,
+                    "mean": 68920.94222222222
                 },
                 "output": {
                     "min": 0,
-                    "max": 47188,
-                    "mean": 7712.846222222222
+                    "max": 32900,
+                    "mean": 6704.08
                 }
             },
             "week": {
                 "input": {
                     "min": 0,
-                    "max": 868077,
-                    "mean": 553765.4161490683
+                    "max": 670490,
+                    "mean": 481590.4347826087
                 },
                 "output": {
                     "min": 0,
-                    "max": 85164,
-                    "mean": 53894.11180124224
+                    "max": 67492,
+                    "mean": 46845.27950310559
                 }
             },
             "month": {
                 "input": {
-                    "min": 206588,
-                    "max": 2817488,
-                    "mean": 2409627.891891892
+                    "min": 47756,
+                    "max": 2483951,
+                    "mean": 2095569.189189189
                 },
                 "output": {
-                    "min": 18988,
-                    "max": 275984,
-                    "mean": 234512.2162162162
+                    "min": 4465,
+                    "max": 241157,
+                    "mean": 203840.27027027027
                 }
             }
         },
@@ -44,36 +44,36 @@
                 "input": {
                     "min": 0,
                     "max": 19599,
-                    "mean": 3528.703111111111
+                    "mean": 3090.5537777777777
                 },
                 "output": {
                     "min": 0,
                     "max": 1833,
-                    "mean": 342.41066666666666
+                    "mean": 300.0062222222222
                 }
             },
             "week": {
                 "input": {
                     "min": 0,
-                    "max": 38477,
-                    "mean": 24657.08695652174
+                    "max": 34410,
+                    "mean": 21595.48447204969
                 },
                 "output": {
                     "min": 0,
-                    "max": 3901,
-                    "mean": 2392.6211180124224
+                    "max": 3243,
+                    "mean": 2096.3167701863354
                 }
             },
             "month": {
                 "input": {
-                    "min": 16460,
-                    "max": 147094,
-                    "mean": 107291.64864864865
+                    "min": 4070,
+                    "max": 130712,
+                    "mean": 93969.54054054055
                 },
                 "output": {
-                    "min": 1457,
-                    "max": 13865,
-                    "mean": 10411.135135135135
+                    "min": 423,
+                    "max": 12361,
+                    "mean": 9121.81081081081
                 }
             }
         },
@@ -82,36 +82,36 @@
                 "input": {
                     "min": 0,
                     "max": 19599,
-                    "mean": 3528.703111111111
+                    "mean": 3090.5537777777777
                 },
                 "output": {
                     "min": 0,
                     "max": 1833,
-                    "mean": 342.41066666666666
+                    "mean": 300.0062222222222
                 }
             },
             "week": {
                 "input": {
                     "min": 0,
-                    "max": 38477,
-                    "mean": 24657.08695652174
+                    "max": 34410,
+                    "mean": 21595.48447204969
                 },
                 "output": {
                     "min": 0,
-                    "max": 3901,
-                    "mean": 2392.6211180124224
+                    "max": 3243,
+                    "mean": 2096.3167701863354
                 }
             },
             "month": {
                 "input": {
-                    "min": 16460,
-                    "max": 147094,
-                    "mean": 107291.64864864865
+                    "min": 4070,
+                    "max": 130712,
+                    "mean": 93969.54054054055
                 },
                 "output": {
-                    "min": 1457,
-                    "max": 13865,
-                    "mean": 10411.135135135135
+                    "min": 423,
+                    "max": 12361,
+                    "mean": 9121.81081081081
                 }
             }
         },
@@ -120,36 +120,36 @@
                 "input": {
                     "min": 0,
                     "max": 24083,
-                    "mean": 4632.119111111111
+                    "mean": 4063.0293333333334
                 },
                 "output": {
                     "min": 0,
                     "max": 2209,
-                    "mean": 443.4711111111111
+                    "mean": 389.07644444444446
                 }
             },
             "week": {
                 "input": {
                     "min": 0,
-                    "max": 51710,
-                    "mean": 32367.291925465837
+                    "max": 47071,
+                    "mean": 28390.732919254657
                 },
                 "output": {
                     "min": 0,
-                    "max": 5264,
-                    "mean": 3098.7888198757764
+                    "max": 4371,
+                    "mean": 2718.7018633540374
                 }
             },
             "month": {
                 "input": {
-                    "min": 18078,
-                    "max": 173956,
-                    "mean": 140841.45945945947
+                    "min": 4567,
+                    "max": 155888,
+                    "mean": 123538.05405405405
                 },
                 "output": {
-                    "min": 1598,
-                    "max": 16309,
-                    "mean": 13483.918918918918
+                    "min": 470,
+                    "max": 14617,
+                    "mean": 11830.027027027027
                 }
             }
         },
@@ -157,78 +157,78 @@
             "day": {
                 "input": {
                     "min": 0,
-                    "max": 33985,
-                    "mean": 6335.672
+                    "max": 34474,
+                    "mean": 5556.8497777777775
                 },
                 "output": {
                     "min": 0,
-                    "max": 3149,
-                    "mean": 609.6631111111111
+                    "max": 3196,
+                    "mean": 535.0897777777777
                 }
             },
             "week": {
                 "input": {
                     "min": 0,
-                    "max": 71519,
-                    "mean": 44271
+                    "max": 57320,
+                    "mean": 38828.91925465839
                 },
                 "output": {
                     "min": 0,
-                    "max": 7191,
-                    "mean": 4260.068322981367
+                    "max": 5828,
+                    "mean": 3738.981366459627
                 }
             },
             "month": {
                 "input": {
-                    "min": 24193,
-                    "max": 240785,
-                    "mean": 192638.67567567568
+                    "min": 6782,
+                    "max": 215671,
+                    "mean": 168958.27027027027
                 },
                 "output": {
-                    "min": 2162,
-                    "max": 22654,
-                    "mean": 18537.054054054053
+                    "min": 658,
+                    "max": 20304,
+                    "mean": 16269.621621621622
                 }
             }
         }
     },
     "roberta-base": {
-        "ALL": 87109722,
+        "ALL": 75762923,
         "NO KEYWORDS": {
             "day": {
                 "input": {
                     "min": 0,
-                    "max": 467190,
-                    "mean": 77430.864
+                    "max": 351373,
+                    "mean": 67344.82044444444
                 },
                 "output": {
                     "min": 0,
-                    "max": 43172,
-                    "mean": 7056.433777777778
+                    "max": 30100,
+                    "mean": 6133.52
                 }
             },
             "week": {
                 "input": {
                     "min": 0,
-                    "max": 848340,
-                    "mean": 541054.1739130435
+                    "max": 655753,
+                    "mean": 470577.1614906832
                 },
                 "output": {
                     "min": 0,
-                    "max": 77916,
-                    "mean": 49307.37888198758
+                    "max": 61748,
+                    "mean": 42858.44720496894
                 }
             },
             "month": {
                 "input": {
-                    "min": 201746,
-                    "max": 2748787,
-                    "mean": 2354316.810810811
+                    "min": 46810,
+                    "max": 2426045,
+                    "mean": 2047646.5675675676
                 },
                 "output": {
-                    "min": 17372,
-                    "max": 252496,
-                    "mean": 214553.72972972973
+                    "min": 4085,
+                    "max": 220633,
+                    "mean": 186492.16216216216
                 }
             }
         },
@@ -237,36 +237,36 @@
                 "input": {
                     "min": 0,
                     "max": 19177,
-                    "mean": 3461.84
+                    "mean": 3032.2613333333334
                 },
                 "output": {
                     "min": 0,
                     "max": 1677,
-                    "mean": 313.26933333333335
+                    "mean": 274.4737777777778
                 }
             },
             "week": {
                 "input": {
                     "min": 0,
-                    "max": 37719,
-                    "mean": 24189.875776397515
+                    "max": 33790,
+                    "mean": 21188.16149068323
                 },
                 "output": {
                     "min": 0,
-                    "max": 3569,
-                    "mean": 2188.9937888198756
+                    "max": 2967,
+                    "mean": 1917.9068322981366
                 }
             },
             "month": {
                 "input": {
-                    "min": 16182,
-                    "max": 144179,
-                    "mean": 105258.64864864865
+                    "min": 4004,
+                    "max": 128063,
+                    "mean": 92197.13513513513
                 },
                 "output": {
-                    "min": 1333,
-                    "max": 12685,
-                    "mean": 9525.081081081082
+                    "min": 387,
+                    "max": 11309,
+                    "mean": 8345.486486486487
                 }
             }
         },
@@ -275,36 +275,36 @@
                 "input": {
                     "min": 0,
                     "max": 19177,
-                    "mean": 3461.84
+                    "mean": 3032.2613333333334
                 },
                 "output": {
                     "min": 0,
                     "max": 1677,
-                    "mean": 313.26933333333335
+                    "mean": 274.4737777777778
                 }
             },
             "week": {
                 "input": {
                     "min": 0,
-                    "max": 37719,
-                    "mean": 24189.875776397515
+                    "max": 33790,
+                    "mean": 21188.16149068323
                 },
                 "output": {
                     "min": 0,
-                    "max": 3569,
-                    "mean": 2188.9937888198756
+                    "max": 2967,
+                    "mean": 1917.9068322981366
                 }
             },
             "month": {
                 "input": {
-                    "min": 16182,
-                    "max": 144179,
-                    "mean": 105258.64864864865
+                    "min": 4004,
+                    "max": 128063,
+                    "mean": 92197.13513513513
                 },
                 "output": {
-                    "min": 1333,
-                    "max": 12685,
-                    "mean": 9525.081081081082
+                    "min": 387,
+                    "max": 11309,
+                    "mean": 8345.486486486487
                 }
             }
         },
@@ -313,36 +313,36 @@
                 "input": {
                     "min": 0,
                     "max": 23618,
-                    "mean": 4548.530666666667
+                    "mean": 3990.280888888889
                 },
                 "output": {
                     "min": 0,
                     "max": 2021,
-                    "mean": 405.7288888888889
+                    "mean": 355.96355555555556
                 }
             },
             "week": {
                 "input": {
                     "min": 0,
-                    "max": 50629,
-                    "mean": 31783.211180124224
+                    "max": 46302,
+                    "mean": 27882.39751552795
                 },
                 "output": {
                     "min": 0,
-                    "max": 4816,
-                    "mean": 2835.0621118012423
+                    "max": 3999,
+                    "mean": 2487.3229813664598
                 }
             },
             "month": {
                 "input": {
-                    "min": 17788,
-                    "max": 170739,
-                    "mean": 138299.9189189189
+                    "min": 4519,
+                    "max": 152970,
+                    "mean": 121326.1081081081
                 },
                 "output": {
-                    "min": 1462,
-                    "max": 14921,
-                    "mean": 12336.351351351352
+                    "min": 430,
+                    "max": 13373,
+                    "mean": 10823.216216216217
                 }
             }
         },
@@ -350,78 +350,78 @@
             "day": {
                 "input": {
                     "min": 0,
-                    "max": 33290,
-                    "mean": 6221.055111111111
+                    "max": 33755,
+                    "mean": 5456.723555555555
                 },
                 "output": {
                     "min": 0,
-                    "max": 2881,
-                    "mean": 557.7768888888888
+                    "max": 2924,
+                    "mean": 489.5502222222222
                 }
             },
             "week": {
                 "input": {
                     "min": 0,
-                    "max": 70202,
-                    "mean": 43470.105590062114
+                    "max": 56165,
+                    "mean": 38129.27950310559
                 },
                 "output": {
                     "min": 0,
-                    "max": 6579,
-                    "mean": 3897.509316770186
+                    "max": 5332,
+                    "mean": 3420.7701863354037
                 }
             },
             "month": {
                 "input": {
-                    "min": 23801,
-                    "max": 236368,
-                    "mean": 189153.7027027027
+                    "min": 6731,
+                    "max": 211691,
+                    "mean": 165913.8918918919
                 },
                 "output": {
-                    "min": 1978,
-                    "max": 20726,
-                    "mean": 16959.432432432433
+                    "min": 602,
+                    "max": 18576,
+                    "mean": 14884.972972972973
                 }
             }
         }
     },
     "facebook/bart-large": {
-        "ALL": 87109722,
+        "ALL": 75762923,
         "NO KEYWORDS": {
             "day": {
                 "input": {
                     "min": 0,
-                    "max": 467190,
-                    "mean": 77430.864
+                    "max": 351373,
+                    "mean": 67344.82044444444
                 },
                 "output": {
                     "min": 0,
-                    "max": 43172,
-                    "mean": 7056.433777777778
+                    "max": 30100,
+                    "mean": 6133.52
                 }
             },
             "week": {
                 "input": {
                     "min": 0,
-                    "max": 848340,
-                    "mean": 541054.1739130435
+                    "max": 655753,
+                    "mean": 470577.1614906832
                 },
                 "output": {
                     "min": 0,
-                    "max": 77916,
-                    "mean": 49307.37888198758
+                    "max": 61748,
+                    "mean": 42858.44720496894
                 }
             },
             "month": {
                 "input": {
-                    "min": 201746,
-                    "max": 2748787,
-                    "mean": 2354316.810810811
+                    "min": 46810,
+                    "max": 2426045,
+                    "mean": 2047646.5675675676
                 },
                 "output": {
-                    "min": 17372,
-                    "max": 252496,
-                    "mean": 214553.72972972973
+                    "min": 4085,
+                    "max": 220633,
+                    "mean": 186492.16216216216
                 }
             }
         },
@@ -430,36 +430,36 @@
                 "input": {
                     "min": 0,
                     "max": 19177,
-                    "mean": 3461.84
+                    "mean": 3032.2613333333334
                 },
                 "output": {
                     "min": 0,
                     "max": 1677,
-                    "mean": 313.26933333333335
+                    "mean": 274.4737777777778
                 }
             },
             "week": {
                 "input": {
                     "min": 0,
-                    "max": 37719,
-                    "mean": 24189.875776397515
+                    "max": 33790,
+                    "mean": 21188.16149068323
                 },
                 "output": {
                     "min": 0,
-                    "max": 3569,
-                    "mean": 2188.9937888198756
+                    "max": 2967,
+                    "mean": 1917.9068322981366
                 }
             },
             "month": {
                 "input": {
-                    "min": 16182,
-                    "max": 144179,
-                    "mean": 105258.64864864865
+                    "min": 4004,
+                    "max": 128063,
+                    "mean": 92197.13513513513
                 },
                 "output": {
-                    "min": 1333,
-                    "max": 12685,
-                    "mean": 9525.081081081082
+                    "min": 387,
+                    "max": 11309,
+                    "mean": 8345.486486486487
                 }
             }
         },
@@ -468,36 +468,36 @@
                 "input": {
                     "min": 0,
                     "max": 19177,
-                    "mean": 3461.84
+                    "mean": 3032.2613333333334
                 },
                 "output": {
                     "min": 0,
                     "max": 1677,
-                    "mean": 313.26933333333335
+                    "mean": 274.4737777777778
                 }
             },
             "week": {
                 "input": {
                     "min": 0,
-                    "max": 37719,
-                    "mean": 24189.875776397515
+                    "max": 33790,
+                    "mean": 21188.16149068323
                 },
                 "output": {
                     "min": 0,
-                    "max": 3569,
-                    "mean": 2188.9937888198756
+                    "max": 2967,
+                    "mean": 1917.9068322981366
                 }
             },
             "month": {
                 "input": {
-                    "min": 16182,
-                    "max": 144179,
-                    "mean": 105258.64864864865
+                    "min": 4004,
+                    "max": 128063,
+                    "mean": 92197.13513513513
                 },
                 "output": {
-                    "min": 1333,
-                    "max": 12685,
-                    "mean": 9525.081081081082
+                    "min": 387,
+                    "max": 11309,
+                    "mean": 8345.486486486487
                 }
             }
         },
@@ -506,36 +506,36 @@
                 "input": {
                     "min": 0,
                     "max": 23618,
-                    "mean": 4548.530666666667
+                    "mean": 3990.280888888889
                 },
                 "output": {
                     "min": 0,
                     "max": 2021,
-                    "mean": 405.7288888888889
+                    "mean": 355.96355555555556
                 }
             },
             "week": {
                 "input": {
                     "min": 0,
-                    "max": 50629,
-                    "mean": 31783.211180124224
+                    "max": 46302,
+                    "mean": 27882.39751552795
                 },
                 "output": {
                     "min": 0,
-                    "max": 4816,
-                    "mean": 2835.0621118012423
+                    "max": 3999,
+                    "mean": 2487.3229813664598
                 }
             },
             "month": {
                 "input": {
-                    "min": 17788,
-                    "max": 170739,
-                    "mean": 138299.9189189189
+                    "min": 4519,
+                    "max": 152970,
+                    "mean": 121326.1081081081
                 },
                 "output": {
-                    "min": 1462,
-                    "max": 14921,
-                    "mean": 12336.351351351352
+                    "min": 430,
+                    "max": 13373,
+                    "mean": 10823.216216216217
                 }
             }
         },
@@ -543,37 +543,37 @@
             "day": {
                 "input": {
                     "min": 0,
-                    "max": 33290,
-                    "mean": 6221.055111111111
+                    "max": 33755,
+                    "mean": 5456.723555555555
                 },
                 "output": {
                     "min": 0,
-                    "max": 2881,
-                    "mean": 557.7768888888888
+                    "max": 2924,
+                    "mean": 489.5502222222222
                 }
             },
             "week": {
                 "input": {
                     "min": 0,
-                    "max": 70202,
-                    "mean": 43470.105590062114
+                    "max": 56165,
+                    "mean": 38129.27950310559
                 },
                 "output": {
                     "min": 0,
-                    "max": 6579,
-                    "mean": 3897.509316770186
+                    "max": 5332,
+                    "mean": 3420.7701863354037
                 }
             },
             "month": {
                 "input": {
-                    "min": 23801,
-                    "max": 236368,
-                    "mean": 189153.7027027027
+                    "min": 6731,
+                    "max": 211691,
+                    "mean": 165913.8918918919
                 },
                 "output": {
-                    "min": 1978,
-                    "max": 20726,
-                    "mean": 16959.432432432433
+                    "min": 602,
+                    "max": 18576,
+                    "mean": 14884.972972972973
                 }
             }
         }
diff --git a/models/LLM/Tokenizer/token_count.py b/models/LLM/Tokenizer/token_count.py
index 7a620050b..ed90fd6c7 100644
--- a/models/LLM/Tokenizer/token_count.py
+++ b/models/LLM/Tokenizer/token_count.py
@@ -10,31 +10,6 @@ sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "../../.
 from testModel.utils import get_article_data
 from variables.pubmed import NCDS, NCDS_MESH_TERM, KEYWORDS_MESH_TERM, KEYWORDS_MESH_SUBHEADING, KEYWORDS_MESH_SITE_PROPOSITION, KEYWORDS_MESH_PROPOSITION
 
-DATA_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../../dataSources/PubMed/data"))
-RESULT_DATA_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "./data"))
-
-INTERVALS = [
-    "day",
-    "week",
-    "month"
-]
-
-CATEGORIES = [
-    "NO KEYWORDS",
-    "KEYWORDS",
-    "SUBHEADINGS",
-    "SITE PROPOSITION",
-    "PROPOSITION"
-]
-
-TOKENIZERS = [
-    #"openai-community/gpt-4",
-    #"meta-llama/Llama-2-7b-hf",
-    "bert-base-uncased",
-    "roberta-base",
-    "facebook/bart-large"
-]
-
 def lower_keywords(mesh_terms):
     res = []
 
@@ -78,6 +53,30 @@ def add_token_number(article_date, start_date, input_token_num, output_token_num
     counts[tokenizer_name][category]["month"]["input"][month_index] += input_token_num
     counts[tokenizer_name][category]["month"]["output"][month_index] += output_token_num
 
+INTERVALS = [
+    "day",
+    "week",
+    "month"
+]
+
+CATEGORIES = [
+    "NO KEYWORDS",
+    "KEYWORDS",
+    "SUBHEADINGS",
+    "SITE PROPOSITION",
+    "PROPOSITION"
+]
+
+TOKENIZERS = [
+    #"openai-community/gpt-4",
+    #"meta-llama/Llama-2-7b-hf",
+    "bert-base-uncased",
+    "roberta-base",
+    "facebook/bart-large"
+]
+
+TMP_DATA_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../../dataSources/PubMed/tmp"))
+RESULT_DATA_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "./data"))
 
 ncds_mesh_terms = [mesh_term.lower() for ncd, mesh_term in NCDS_MESH_TERM.items()]
 keywords_mesh_terms = lower_keywords(KEYWORDS_MESH_TERM)
@@ -86,7 +85,7 @@ keywords_site_proposition_mesh_terms = lower_keywords(KEYWORDS_MESH_SITE_PROPOSI
 keywords_proposition_mesh_terms = lower_keywords(KEYWORDS_MESH_PROPOSITION)
 
 
-file_path = f"{DATA_DIR}/save_3_years.json"
+file_path = f"{TMP_DATA_DIR}/save_3_years.json"
 with open(file_path, "r", encoding="utf-8") as file:
     data = json.load(file)
 
diff --git a/models/LLM/prices/data/llm_prices.json b/models/LLM/prices/data/llm_prices.json
index 2e2629707..09118ec84 100644
--- a/models/LLM/prices/data/llm_prices.json
+++ b/models/LLM/prices/data/llm_prices.json
@@ -1,338 +1,338 @@
 {
     "Mistral Large": {
-        "ALL": 702.3351359999999,
+        "ALL": 610.8317493333334,
         "NO KEYWORDS": {
-            "day": 0.03153566877192982,
-            "week": 0.22035793396534814,
-            "month": 0.9588547937411096
+            "day": 0.02742357295906432,
+            "week": 0.1916243452108532,
+            "month": 0.833824853485064
         },
         "KEYWORDS": {
-            "day": 0.0014062348538011697,
-            "week": 0.009826175220660347,
-            "month": 0.04275714082503557
+            "day": 0.0012317829239766082,
+            "week": 0.008607178816606734,
+            "month": 0.03745285917496444
         },
         "SUBHEADINGS": {
-            "day": 0.0014062348538011697,
-            "week": 0.009826175220660347,
-            "month": 0.04275714082503557
+            "day": 0.0012317829239766082,
+            "week": 0.008607178816606734,
+            "month": 0.03745285917496444
         },
         "SITE PROPOSITION": {
-            "day": 0.001841470222222222,
-            "week": 0.012867416149068325,
-            "month": 0.05599064864864864
+            "day": 0.0016154317660818712,
+            "week": 0.011287954887218045,
+            "month": 0.049117857752489336
         },
         "PROPOSITION": {
-            "day": 0.0025214139883040936,
-            "week": 0.01761857600523047,
-            "month": 0.07666461450924608
+            "day": 0.0022118807953216374,
+            "week": 0.015455688787185354,
+            "month": 0.06725313229018491
         }
     },
     "Mistral Small": {
-        "ALL": 35.116756800000005,
+        "ALL": 30.54158746666667,
         "NO KEYWORDS": {
-            "day": 0.0015767834385964914,
-            "week": 0.011017896698267408,
-            "month": 0.04794273968705548
+            "day": 0.001371178647953216,
+            "week": 0.009581217260542662,
+            "month": 0.0416912426742532
         },
         "KEYWORDS": {
-            "day": 7.031174269005849e-05,
-            "week": 0.0004913087610330174,
-            "month": 0.002137857041251779
+            "day": 6.158914619883041e-05,
+            "week": 0.0004303589408303367,
+            "month": 0.001872642958748222
         },
         "SUBHEADINGS": {
-            "day": 7.031174269005849e-05,
-            "week": 0.0004913087610330174,
-            "month": 0.002137857041251779
+            "day": 6.158914619883041e-05,
+            "week": 0.0004303589408303367,
+            "month": 0.001872642958748222
         },
         "SITE PROPOSITION": {
-            "day": 9.20735111111111e-05,
-            "week": 0.0006433708074534163,
-            "month": 0.0027995324324324323
+            "day": 8.077158830409357e-05,
+            "week": 0.0005643977443609024,
+            "month": 0.002455892887624467
         },
         "PROPOSITION": {
-            "day": 0.0001260706994152047,
-            "week": 0.0008809288002615234,
-            "month": 0.003833230725462305
+            "day": 0.00011059403976608189,
+            "week": 0.0007727844393592678,
+            "month": 0.003362656614509246
         }
     },
     "GPT-4o": {
-        "ALL": 1097.39865,
+        "ALL": 954.4246083333335,
         "NO KEYWORDS": {
-            "day": 0.04229139040935673,
-            "week": 0.29551437397842434,
-            "month": 1.2858868705547655
+            "day": 0.03677566619883041,
+            "week": 0.25697282281791434,
+            "month": 1.118179039829303
         },
         "KEYWORDS": {
-            "day": 0.0018852869005847954,
-            "week": 0.013173588591042826,
-            "month": 0.05732291251778096
+            "day": 0.0016514330994152047,
+            "week": 0.011539516999019287,
+            "month": 0.05021249288762447
         },
         "SUBHEADINGS": {
-            "day": 0.0018852869005847954,
-            "week": 0.013173588591042826,
-            "month": 0.05732291251778096
+            "day": 0.0016514330994152047,
+            "week": 0.011539516999019287,
+            "month": 0.05021249288762447
         },
         "SITE PROPOSITION": {
-            "day": 0.00246696,
-            "week": 0.017238074534161492,
-            "month": 0.07500891891891892
+            "day": 0.002164158596491228,
+            "week": 0.01512222621771821,
+            "month": 0.06580211948790897
         },
         "PROPOSITION": {
-            "day": 0.00337876970760234,
-            "week": 0.023609415658712,
-            "month": 0.1027328627311522
+            "day": 0.0029640865497076027,
+            "week": 0.020711784897025173,
+            "month": 0.090124253200569
         }
     },
     "GPT-4o mini": {
-        "ALL": 65.843919,
+        "ALL": 57.265476500000005,
         "NO KEYWORDS": {
-            "day": 0.0025374834245614035,
-            "week": 0.017730862438705457,
-            "month": 0.07715321223328592
+            "day": 0.0022065399719298244,
+            "week": 0.015418369369074859,
+            "month": 0.06709074238975818
         },
         "KEYWORDS": {
-            "day": 0.0001131172140350877,
-            "week": 0.0007904153154625694,
-            "month": 0.003439374751066857
+            "day": 9.908598596491227e-05,
+            "week": 0.0006923710199411571,
+            "month": 0.003012749573257468
         },
         "SUBHEADINGS": {
-            "day": 0.0001131172140350877,
-            "week": 0.0007904153154625694,
-            "month": 0.003439374751066857
+            "day": 9.908598596491227e-05,
+            "week": 0.0006923710199411571,
+            "month": 0.003012749573257468
         },
         "SITE PROPOSITION": {
-            "day": 0.00014801759999999998,
-            "week": 0.0010342844720496896,
-            "month": 0.004500535135135135
+            "day": 0.00012984951578947368,
+            "week": 0.0009073335730630925,
+            "month": 0.003948127169274538
         },
         "PROPOSITION": {
-            "day": 0.00020272618245614036,
-            "week": 0.0014165649395227198,
-            "month": 0.006163971763869132
+            "day": 0.00017784519298245612,
+            "week": 0.0012427070938215105,
+            "month": 0.005407455192034139
         }
     },
     "DeepSeek-V3": {
-        "ALL": 120.27489204000001,
+        "ALL": 104.60493707333335,
         "NO KEYWORDS": {
-            "day": 0.004590444599766082,
-            "week": 0.03207608804184374,
-            "month": 0.13957432904694167
+            "day": 0.003991741549473684,
+            "week": 0.027892603994769533,
+            "month": 0.12137052008534852
         },
         "KEYWORDS": {
-            "day": 0.00020463093192982457,
-            "week": 0.0014298745243543642,
-            "month": 0.006221886443812235
+            "day": 0.00017924841029239767,
+            "week": 0.00125251218372017,
+            "month": 0.005450120583214794
         },
         "SUBHEADINGS": {
-            "day": 0.00020463093192982457,
-            "week": 0.0014298745243543642,
-            "month": 0.006221886443812235
+            "day": 0.00017924841029239767,
+            "week": 0.00125251218372017,
+            "month": 0.005450120583214794
         },
         "SITE PROPOSITION": {
-            "day": 0.00026775265777777773,
-            "week": 0.00187094248447205,
-            "month": 0.008141128108108108
+            "day": 0.00023488807953216375,
+            "week": 0.001641298692383132,
+            "month": 0.007141867283072547
         },
         "PROPOSITION": {
-            "day": 0.00036672314619883045,
-            "week": 0.002562506456358287,
-            "month": 0.011150365931721196
+            "day": 0.00032171523181286554,
+            "week": 0.0022480101601830664,
+            "month": 0.009781882048364153
         }
     },
     "Gemini 2.0 Flash": {
-        "ALL": 43.89594600000001,
+        "ALL": 38.17698433333334,
         "NO KEYWORDS": {
-            "day": 0.0016916556163742691,
-            "week": 0.011820574959136973,
-            "month": 0.051435474822190616
+            "day": 0.0014710266479532163,
+            "week": 0.010278912912716575,
+            "month": 0.04472716159317212
         },
         "KEYWORDS": {
-            "day": 7.541147602339182e-05,
-            "week": 0.000526943543641713,
-            "month": 0.002292916500711238
+            "day": 6.605732397660819e-05,
+            "week": 0.0004615806799607715,
+            "month": 0.0020084997155049786
         },
         "SUBHEADINGS": {
-            "day": 7.541147602339182e-05,
-            "week": 0.000526943543641713,
-            "month": 0.002292916500711238
+            "day": 6.605732397660819e-05,
+            "week": 0.0004615806799607715,
+            "month": 0.0020084997155049786
         },
         "SITE PROPOSITION": {
-            "day": 9.86784e-05,
-            "week": 0.0006895229813664598,
-            "month": 0.003000356756756757
+            "day": 8.656634385964913e-05,
+            "week": 0.0006048890487087284,
+            "month": 0.002632084779516359
         },
         "PROPOSITION": {
-            "day": 0.00013515078830409358,
-            "week": 0.00094437662634848,
-            "month": 0.004109314509246088
+            "day": 0.00011856346198830411,
+            "week": 0.0008284713958810069,
+            "month": 0.00360497012802276
         }
     },
     "Gemini 2.0 Flash-Lite": {
-        "ALL": 32.9219595,
+        "ALL": 28.632738250000003,
         "NO KEYWORDS": {
-            "day": 0.0012687417122807017,
-            "week": 0.008865431219352729,
-            "month": 0.03857660611664296
+            "day": 0.0011032699859649122,
+            "week": 0.007709184684537429,
+            "month": 0.03354537119487909
         },
         "KEYWORDS": {
-            "day": 5.655860701754385e-05,
-            "week": 0.0003952076577312847,
-            "month": 0.0017196873755334285
+            "day": 4.9542992982456136e-05,
+            "week": 0.00034618550997057856,
+            "month": 0.001506374786628734
         },
         "SUBHEADINGS": {
-            "day": 5.655860701754385e-05,
-            "week": 0.0003952076577312847,
-            "month": 0.0017196873755334285
+            "day": 4.9542992982456136e-05,
+            "week": 0.00034618550997057856,
+            "month": 0.001506374786628734
         },
         "SITE PROPOSITION": {
-            "day": 7.400879999999999e-05,
-            "week": 0.0005171422360248448,
-            "month": 0.0022502675675675674
+            "day": 6.492475789473684e-05,
+            "week": 0.00045366678653154625,
+            "month": 0.001974063584637269
         },
         "PROPOSITION": {
-            "day": 0.00010136309122807018,
-            "week": 0.0007082824697613599,
-            "month": 0.003081985881934566
+            "day": 8.892259649122806e-05,
+            "week": 0.0006213535469107552,
+            "month": 0.0027037275960170694
         }
     },
     "Claude 3.7 Sonnet": {
-        "ALL": 1580.2540560000002,
+        "ALL": 1374.371436,
         "NO KEYWORDS": {
-            "day": 0.054195833824561404,
-            "week": 0.37869759660019614,
-            "month": 1.6478462987197726
+            "day": 0.047126239438596486,
+            "week": 0.3292982569467146,
+            "month": 1.4328924153627312
         },
         "KEYWORDS": {
-            "day": 0.0024153362807017545,
-            "week": 0.01687734978751226,
-            "month": 0.07343927880512092
+            "day": 0.002115765052631579,
+            "week": 0.014784072572736187,
+            "month": 0.06433069416785206
         },
         "SUBHEADINGS": {
-            "day": 0.0024153362807017545,
-            "week": 0.01687734978751226,
-            "month": 0.07343927880512092
+            "day": 0.002115765052631579,
+            "week": 0.014784072572736187,
+            "month": 0.06433069416785206
         },
         "SITE PROPOSITION": {
-            "day": 0.0031584986666666664,
-            "week": 0.022070254658385094,
-            "month": 0.09603543243243243
+            "day": 0.0027708329824561403,
+            "week": 0.019361410591696635,
+            "month": 0.08424830014224752
         },
         "PROPOSITION": {
-            "day": 0.0043269263157894745,
-            "week": 0.030234733573063097,
-            "month": 0.13156194879089617
+            "day": 0.00379598652631579,
+            "week": 0.02652475057208238,
+            "month": 0.11541850924608818
         }
     },
     "Claude 3.5 Haiku": {
-        "ALL": 421.4010816,
+        "ALL": 366.49904960000003,
         "NO KEYWORDS": {
-            "day": 0.014452222353216375,
-            "week": 0.1009860257600523,
-            "month": 0.439425679658606
+            "day": 0.012566997183625729,
+            "week": 0.0878128685191239,
+            "month": 0.3821046440967283
         },
         "KEYWORDS": {
-            "day": 0.0006440896748538011,
-            "week": 0.00450062661000327,
-            "month": 0.01958380768136558
+            "day": 0.0005642040140350878,
+            "week": 0.00394241935272965,
+            "month": 0.017154851778093883
         },
         "SUBHEADINGS": {
-            "day": 0.0006440896748538011,
-            "week": 0.00450062661000327,
-            "month": 0.01958380768136558
+            "day": 0.0005642040140350878,
+            "week": 0.00394241935272965,
+            "month": 0.017154851778093883
         },
         "SITE PROPOSITION": {
-            "day": 0.000842266311111111,
-            "week": 0.005885401242236026,
-            "month": 0.02560944864864865
+            "day": 0.0007388887953216375,
+            "week": 0.0051630428244524365,
+            "month": 0.022466213371266006
         },
         "PROPOSITION": {
-            "day": 0.0011538470175438598,
-            "week": 0.008062595619483491,
-            "month": 0.03508318634423897
+            "day": 0.0010122630736842104,
+            "week": 0.007073266819221968,
+            "month": 0.030778269132290183
         }
     },
     "Claude 3 Opus": {
-        "ALL": 7901.27028,
+        "ALL": 6871.857179999999,
         "NO KEYWORDS": {
-            "day": 0.27097916912280706,
-            "week": 1.8934879830009808,
-            "month": 8.239231493598862
+            "day": 0.23563119719298242,
+            "week": 1.6464912847335729,
+            "month": 7.164462076813654
         },
         "KEYWORDS": {
-            "day": 0.012076681403508772,
-            "week": 0.0843867489375613,
-            "month": 0.36719639402560456
+            "day": 0.010578825263157895,
+            "week": 0.07392036286368094,
+            "month": 0.3216534708392603
         },
         "SUBHEADINGS": {
-            "day": 0.012076681403508772,
-            "week": 0.0843867489375613,
-            "month": 0.36719639402560456
+            "day": 0.010578825263157895,
+            "week": 0.07392036286368094,
+            "month": 0.3216534708392603
         },
         "SITE PROPOSITION": {
-            "day": 0.01579249333333333,
-            "week": 0.11035127329192547,
-            "month": 0.4801771621621621
+            "day": 0.013854164912280701,
+            "week": 0.09680705295848317,
+            "month": 0.42124150071123756
         },
         "PROPOSITION": {
-            "day": 0.02163463157894737,
-            "week": 0.15117366786531547,
-            "month": 0.6578097439544808
+            "day": 0.018979932631578947,
+            "week": 0.1326237528604119,
+            "month": 0.5770925462304409
         }
     },
     "Command A": {
-        "ALL": 1097.39865,
+        "ALL": 954.4246083333335,
         "NO KEYWORDS": {
-            "day": 0.04229139040935673,
-            "week": 0.29551437397842434,
-            "month": 1.2858868705547655
+            "day": 0.03677566619883041,
+            "week": 0.25697282281791434,
+            "month": 1.118179039829303
         },
         "KEYWORDS": {
-            "day": 0.0018852869005847954,
-            "week": 0.013173588591042826,
-            "month": 0.05732291251778096
+            "day": 0.0016514330994152047,
+            "week": 0.011539516999019287,
+            "month": 0.05021249288762447
         },
         "SUBHEADINGS": {
-            "day": 0.0018852869005847954,
-            "week": 0.013173588591042826,
-            "month": 0.05732291251778096
+            "day": 0.0016514330994152047,
+            "week": 0.011539516999019287,
+            "month": 0.05021249288762447
         },
         "SITE PROPOSITION": {
-            "day": 0.00246696,
-            "week": 0.017238074534161492,
-            "month": 0.07500891891891892
+            "day": 0.002164158596491228,
+            "week": 0.01512222621771821,
+            "month": 0.06580211948790897
         },
         "PROPOSITION": {
-            "day": 0.00337876970760234,
-            "week": 0.023609415658712,
-            "month": 0.1027328627311522
+            "day": 0.0029640865497076027,
+            "week": 0.020711784897025173,
+            "month": 0.090124253200569
         }
     },
     "Command R+": {
-        "ALL": 1097.39865,
+        "ALL": 954.4246083333335,
         "NO KEYWORDS": {
-            "day": 0.04229139040935673,
-            "week": 0.29551437397842434,
-            "month": 1.2858868705547655
+            "day": 0.03677566619883041,
+            "week": 0.25697282281791434,
+            "month": 1.118179039829303
         },
         "KEYWORDS": {
-            "day": 0.0018852869005847954,
-            "week": 0.013173588591042826,
-            "month": 0.05732291251778096
+            "day": 0.0016514330994152047,
+            "week": 0.011539516999019287,
+            "month": 0.05021249288762447
         },
         "SUBHEADINGS": {
-            "day": 0.0018852869005847954,
-            "week": 0.013173588591042826,
-            "month": 0.05732291251778096
+            "day": 0.0016514330994152047,
+            "week": 0.011539516999019287,
+            "month": 0.05021249288762447
         },
         "SITE PROPOSITION": {
-            "day": 0.00246696,
-            "week": 0.017238074534161492,
-            "month": 0.07500891891891892
+            "day": 0.002164158596491228,
+            "week": 0.01512222621771821,
+            "month": 0.06580211948790897
         },
         "PROPOSITION": {
-            "day": 0.00337876970760234,
-            "week": 0.023609415658712,
-            "month": 0.1027328627311522
+            "day": 0.0029640865497076027,
+            "week": 0.020711784897025173,
+            "month": 0.090124253200569
         }
     }
 }
\ No newline at end of file
-- 
GitLab