llm-checker 3.2.6 → 3.2.8
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.
- package/LICENSE +27 -9
- package/README.md +16 -3
- package/package.json +2 -2
- package/src/models/deterministic-selector.js +16 -3
package/LICENSE
CHANGED
|
@@ -1,18 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
LLM Checker No Paid Distribution License (NPDL-1.0)
|
|
2
2
|
|
|
3
3
|
Copyright (c) 2025 Pavelevich
|
|
4
4
|
|
|
5
|
-
Permission is
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
5
|
+
Permission is granted, free of charge, to any person obtaining a copy of this
|
|
6
|
+
software and associated documentation files (the "Software"), to use, copy,
|
|
7
|
+
modify, and redistribute the Software, subject to the conditions below.
|
|
11
8
|
|
|
12
|
-
|
|
9
|
+
1) No paid distribution or monetized delivery
|
|
10
|
+
You may not sell the Software. You may not charge any fee or other
|
|
11
|
+
consideration for:
|
|
12
|
+
- distributing, sublicensing, or transferring the Software (in source or
|
|
13
|
+
binary form), or
|
|
14
|
+
- providing the Software as a hosted, managed, or API service.
|
|
15
|
+
|
|
16
|
+
2) Attribution and notice
|
|
17
|
+
The above copyright notice and this license text must be included in all
|
|
13
18
|
copies or substantial portions of the Software.
|
|
14
19
|
|
|
15
|
-
|
|
20
|
+
3) Derivative works
|
|
21
|
+
You may create and redistribute derivative works only if distribution remains
|
|
22
|
+
free of charge and this license is included.
|
|
23
|
+
|
|
24
|
+
4) Trademarks
|
|
25
|
+
This license does not grant permission to use the name "LLM Checker", project
|
|
26
|
+
branding, or logos except for accurate attribution.
|
|
27
|
+
|
|
28
|
+
5) Commercial licensing
|
|
29
|
+
If you need paid distribution rights, commercial sublicensing rights, or
|
|
30
|
+
monetized hosted-service rights, you must obtain a separate commercial license
|
|
31
|
+
from the copyright holder.
|
|
32
|
+
|
|
33
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
34
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
35
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
36
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<p align="center">
|
|
17
17
|
<a href="https://www.npmjs.com/package/llm-checker"><img src="https://img.shields.io/npm/v/llm-checker?style=flat-square&color=0066FF" alt="npm version"></a>
|
|
18
18
|
<a href="https://www.npmjs.com/package/llm-checker"><img src="https://img.shields.io/npm/dm/llm-checker?style=flat-square&color=0066FF" alt="npm downloads"></a>
|
|
19
|
-
<a href="
|
|
19
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/License-NPDL--1.0-CC3300?style=flat-square" alt="License"></a>
|
|
20
20
|
<a href="https://discord.gg/mnmYrA7T"><img src="https://img.shields.io/discord/1457032977849520374?style=flat-square&color=0066FF&label=Discord" alt="Discord"></a>
|
|
21
21
|
<a href="https://nodejs.org/"><img src="https://img.shields.io/badge/node-%3E%3D16-0066FF?style=flat-square" alt="Node.js"></a>
|
|
22
22
|
</p>
|
|
@@ -97,7 +97,15 @@ LLM Checker is published in all primary channels:
|
|
|
97
97
|
- GitHub Releases: [Release history](https://github.com/Pavelevich/llm-checker/releases)
|
|
98
98
|
- GitHub Packages: [`@pavelevich/llm-checker`](https://github.com/users/Pavelevich/packages/npm/package/llm-checker)
|
|
99
99
|
|
|
100
|
-
### v3.2.
|
|
100
|
+
### v3.2.8 Highlights
|
|
101
|
+
|
|
102
|
+
- Fixed multimodal recommendation false positives from noisy metadata.
|
|
103
|
+
- Coding-only models with incidental `input_types: image` flags are no longer treated as vision models.
|
|
104
|
+
- Added regression tests to keep multimodal category picks aligned with true vision-capable models.
|
|
105
|
+
|
|
106
|
+
### v3.2.7 Highlights
|
|
107
|
+
|
|
108
|
+
- License updated to **NPDL-1.0**: paid redistribution and paid hosted/API delivery now require a separate commercial license.
|
|
101
109
|
|
|
102
110
|
- Recommendation engine now enforces feasible 30B-class coverage on high-capacity discrete multi-GPU setups (for non-speed objectives).
|
|
103
111
|
- Heterogeneous GPU inventories are preserved in output summaries and downstream recommendation inputs.
|
|
@@ -709,7 +717,12 @@ bin/
|
|
|
709
717
|
|
|
710
718
|
## License
|
|
711
719
|
|
|
712
|
-
|
|
720
|
+
LLM Checker is licensed under **NPDL-1.0** (No Paid Distribution License).
|
|
721
|
+
|
|
722
|
+
- Free use, modification, and redistribution are allowed.
|
|
723
|
+
- Selling the software or offering it as a paid hosted/API service is not allowed without a separate commercial license.
|
|
724
|
+
|
|
725
|
+
See [LICENSE](LICENSE) for full terms.
|
|
713
726
|
|
|
714
727
|
---
|
|
715
728
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "llm-checker",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.8",
|
|
4
4
|
"description": "Intelligent CLI tool with AI-powered model selection that analyzes your hardware and recommends optimal LLM models for your system",
|
|
5
5
|
"bin": {
|
|
6
6
|
"llm-checker": "bin/cli.js",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"model-context-protocol"
|
|
82
82
|
],
|
|
83
83
|
"author": "Pavelevich (https://github.com/Pavelevich)",
|
|
84
|
-
"license": "
|
|
84
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
85
85
|
"repository": {
|
|
86
86
|
"type": "git",
|
|
87
87
|
"url": "git+https://github.com/Pavelevich/llm-checker.git"
|
|
@@ -1042,6 +1042,9 @@ class DeterministicModelSelector {
|
|
|
1042
1042
|
|
|
1043
1043
|
inferModalities(model, variantTag = '') {
|
|
1044
1044
|
const inputTypes = Array.isArray(model.input_types) ? model.input_types.map((x) => String(x).toLowerCase()) : [];
|
|
1045
|
+
const primaryCategory = String(model.primary_category || '').toLowerCase();
|
|
1046
|
+
const categories = Array.isArray(model.categories) ? model.categories.map((x) => String(x).toLowerCase()) : [];
|
|
1047
|
+
const useCases = Array.isArray(model.use_cases) ? model.use_cases.map((x) => String(x).toLowerCase()) : [];
|
|
1045
1048
|
const text = [
|
|
1046
1049
|
model.model_identifier,
|
|
1047
1050
|
model.model_name,
|
|
@@ -1050,9 +1053,19 @@ class DeterministicModelSelector {
|
|
|
1050
1053
|
variantTag
|
|
1051
1054
|
].filter(Boolean).join(' ').toLowerCase();
|
|
1052
1055
|
|
|
1053
|
-
const
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
+
const hasVisionInputFlag = inputTypes.includes('image') || inputTypes.includes('vision');
|
|
1057
|
+
const hasVisionMetadataHint =
|
|
1058
|
+
primaryCategory === 'multimodal' ||
|
|
1059
|
+
categories.some((cat) => cat.includes('multimodal') || cat.includes('vision')) ||
|
|
1060
|
+
useCases.some((useCase) => useCase.includes('multimodal') || useCase.includes('vision'));
|
|
1061
|
+
const hasVisionTextHint =
|
|
1062
|
+
/(?:\bmultimodal\b|\bvision\b|\bllava\b|\bbakllava\b|\bmoondream\b|\bpixtral\b|\bidefics\b|\bpaligemma\b|\bminicpm-?v\b|\bqwen[\w.-]*vl\b|\bllama3\.2[-_ ]?vision\b|\bdeepseek-ocr\b)/.test(text);
|
|
1063
|
+
const hasVisionContextHint =
|
|
1064
|
+
/\b(image[- ]?(understanding|caption|analysis)|vision[- ]?language|vlm)\b/.test(text);
|
|
1065
|
+
|
|
1066
|
+
// Some upstream scrapers may over-report `image` support by scanning generic page text.
|
|
1067
|
+
// Trust image input flags only when accompanied by multimodal metadata or explicit vision naming.
|
|
1068
|
+
const hasVision = hasVisionTextHint || hasVisionMetadataHint || (hasVisionInputFlag && hasVisionContextHint);
|
|
1056
1069
|
|
|
1057
1070
|
return hasVision ? ['text', 'vision'] : ['text'];
|
|
1058
1071
|
}
|