lemonade-sdk 8.1.4__py3-none-any.whl → 8.2.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of lemonade-sdk might be problematic. Click here for more details.

Files changed (53) hide show
  1. lemonade/cache.py +6 -1
  2. lemonade/cli.py +47 -5
  3. lemonade/common/inference_engines.py +13 -4
  4. lemonade/common/status.py +4 -4
  5. lemonade/common/system_info.py +544 -1
  6. lemonade/profilers/agt_power.py +437 -0
  7. lemonade/profilers/hwinfo_power.py +429 -0
  8. lemonade/tools/accuracy.py +143 -48
  9. lemonade/tools/adapter.py +6 -1
  10. lemonade/tools/bench.py +26 -8
  11. lemonade/tools/flm/__init__.py +1 -0
  12. lemonade/tools/flm/utils.py +303 -0
  13. lemonade/tools/huggingface/bench.py +6 -1
  14. lemonade/tools/llamacpp/bench.py +146 -27
  15. lemonade/tools/llamacpp/load.py +30 -2
  16. lemonade/tools/llamacpp/utils.py +393 -33
  17. lemonade/tools/oga/bench.py +5 -26
  18. lemonade/tools/oga/load.py +60 -121
  19. lemonade/tools/oga/migration.py +403 -0
  20. lemonade/tools/report/table.py +76 -8
  21. lemonade/tools/server/flm.py +133 -0
  22. lemonade/tools/server/llamacpp.py +220 -553
  23. lemonade/tools/server/serve.py +684 -168
  24. lemonade/tools/server/static/js/chat.js +666 -342
  25. lemonade/tools/server/static/js/model-settings.js +24 -3
  26. lemonade/tools/server/static/js/models.js +597 -73
  27. lemonade/tools/server/static/js/shared.js +79 -14
  28. lemonade/tools/server/static/logs.html +191 -0
  29. lemonade/tools/server/static/styles.css +491 -66
  30. lemonade/tools/server/static/webapp.html +83 -31
  31. lemonade/tools/server/tray.py +158 -38
  32. lemonade/tools/server/utils/macos_tray.py +226 -0
  33. lemonade/tools/server/utils/{system_tray.py → windows_tray.py} +13 -0
  34. lemonade/tools/server/webapp.py +4 -1
  35. lemonade/tools/server/wrapped_server.py +559 -0
  36. lemonade/version.py +1 -1
  37. lemonade_install/install.py +54 -611
  38. {lemonade_sdk-8.1.4.dist-info → lemonade_sdk-8.2.2.dist-info}/METADATA +29 -72
  39. lemonade_sdk-8.2.2.dist-info/RECORD +83 -0
  40. lemonade_server/cli.py +145 -37
  41. lemonade_server/model_manager.py +521 -37
  42. lemonade_server/pydantic_models.py +28 -1
  43. lemonade_server/server_models.json +246 -92
  44. lemonade_server/settings.py +39 -39
  45. lemonade/tools/quark/__init__.py +0 -0
  46. lemonade/tools/quark/quark_load.py +0 -173
  47. lemonade/tools/quark/quark_quantize.py +0 -439
  48. lemonade_sdk-8.1.4.dist-info/RECORD +0 -77
  49. {lemonade_sdk-8.1.4.dist-info → lemonade_sdk-8.2.2.dist-info}/WHEEL +0 -0
  50. {lemonade_sdk-8.1.4.dist-info → lemonade_sdk-8.2.2.dist-info}/entry_points.txt +0 -0
  51. {lemonade_sdk-8.1.4.dist-info → lemonade_sdk-8.2.2.dist-info}/licenses/LICENSE +0 -0
  52. {lemonade_sdk-8.1.4.dist-info → lemonade_sdk-8.2.2.dist-info}/licenses/NOTICE.md +0 -0
  53. {lemonade_sdk-8.1.4.dist-info → lemonade_sdk-8.2.2.dist-info}/top_level.txt +0 -0
@@ -28,9 +28,11 @@ function loadModelSettings() {
28
28
  const topKInput = document.getElementById('setting-top-k');
29
29
  const topPInput = document.getElementById('setting-top-p');
30
30
  const repeatInput = document.getElementById('setting-repeat-penalty');
31
+ const thinkingCheckbox = document.getElementById('enable-thinking');
32
+
31
33
 
32
34
  // Check if DOM elements exist
33
- if (!tempInput || !topKInput || !topPInput || !repeatInput) {
35
+ if (!tempInput || !topKInput || !topPInput || !repeatInput || !thinkingCheckbox) {
34
36
  return;
35
37
  }
36
38
 
@@ -47,11 +49,18 @@ function loadModelSettings() {
47
49
  if (modelSettings.repeat_penalty !== undefined) {
48
50
  repeatInput.value = modelSettings.repeat_penalty;
49
51
  }
52
+ if (modelSettings.enable_thinking !== undefined) {
53
+ thinkingCheckbox.checked = modelSettings.enable_thinking;
54
+
55
+ } else {
56
+ thinkingCheckbox.checked = true; // default to enabled
57
+
58
+ }
50
59
  }
51
60
 
52
61
  // Auto-save model settings whenever inputs change
53
62
  function setupAutoSaveSettings() {
54
- const inputs = ['setting-temperature', 'setting-top-k', 'setting-top-p', 'setting-repeat-penalty'];
63
+ const inputs = ['setting-temperature', 'setting-top-k', 'setting-top-p', 'setting-repeat-penalty', 'enable-thinking'];
55
64
 
56
65
  inputs.forEach(inputId => {
57
66
  const input = document.getElementById(inputId);
@@ -63,6 +72,12 @@ function setupAutoSaveSettings() {
63
72
  updateModelSettings();
64
73
  });
65
74
  }
75
+ const thinkingCheckbox = document.getElementById('enable-thinking');
76
+ if (thinkingCheckbox) {
77
+ thinkingCheckbox.addEventListener('change', function() {
78
+ updateModelSettings();
79
+ });
80
+ }
66
81
  });
67
82
  }
68
83
 
@@ -72,9 +87,10 @@ function updateModelSettings() {
72
87
  const topKInput = document.getElementById('setting-top-k');
73
88
  const topPInput = document.getElementById('setting-top-p');
74
89
  const repeatInput = document.getElementById('setting-repeat-penalty');
90
+ const thinkingCheckbox = document.getElementById('enable-thinking');
75
91
 
76
92
  // Check if DOM elements exist (might not be available if DOM isn't ready)
77
- if (!tempInput || !topKInput || !topPInput || !repeatInput) {
93
+ if (!tempInput || !topKInput || !topPInput || !repeatInput || !thinkingCheckbox) {
78
94
  return;
79
95
  }
80
96
 
@@ -93,6 +109,7 @@ function updateModelSettings() {
93
109
  if (repeatInput.value && repeatInput.value.trim() !== '') {
94
110
  modelSettings.repeat_penalty = parseFloat(repeatInput.value);
95
111
  }
112
+ modelSettings.enable_thinking = thinkingCheckbox.checked;
96
113
 
97
114
  // Save to localStorage
98
115
  localStorage.setItem('lemonade_model_settings', JSON.stringify(modelSettings));
@@ -107,6 +124,7 @@ function resetModelSettings() {
107
124
  document.getElementById('setting-top-k').value = '';
108
125
  document.getElementById('setting-top-p').value = '';
109
126
  document.getElementById('setting-repeat-penalty').value = '';
127
+ document.getElementById('enable-thinking').checked = true;
110
128
 
111
129
  localStorage.removeItem('lemonade_model_settings');
112
130
  }
@@ -135,6 +153,9 @@ function getCurrentModelSettings() {
135
153
  if (modelSettings.repeat_penalty !== undefined) {
136
154
  currentSettings.repeat_penalty = modelSettings.repeat_penalty;
137
155
  }
156
+ if (modelSettings.enable_thinking !== undefined) {
157
+ currentSettings.enable_thinking = modelSettings.enable_thinking;
158
+ }
138
159
 
139
160
  console.log('getCurrentModelSettings returning:', currentSettings);
140
161
  return currentSettings;