cactus-react-native 1.10.3 → 1.10.4
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.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
const RUNTIME_VERSION = '1.10.
|
|
3
|
+
const RUNTIME_VERSION = '1.10.4';
|
|
4
4
|
let registryPromise = null;
|
|
5
5
|
export function getRegistry() {
|
|
6
6
|
return registryPromise ??= fetchRegistry();
|
|
@@ -48,12 +48,14 @@ async function fetchRegistry() {
|
|
|
48
48
|
if (!version) return;
|
|
49
49
|
const key = weights.find(f => f.endsWith('-int4.zip')).replace('weights/', '').replace('-int4.zip', '');
|
|
50
50
|
const base = `https://huggingface.co/${id}/resolve/${version}/weights/${key}`;
|
|
51
|
+
const tree = await fetch(`https://huggingface.co/api/models/${id}/tree/${version}/weights`).then(r => r.ok ? r.json() : null).catch(() => null);
|
|
52
|
+
const sizeMb = suffix => Math.round((tree?.find(f => f.path === `weights/${key}${suffix}`)?.size ?? 0) / (1024 * 1024));
|
|
51
53
|
registry[key] = {
|
|
52
54
|
slug: key,
|
|
53
55
|
capabilities: tags.filter(t => !t.includes(':')),
|
|
54
56
|
quantization: {
|
|
55
57
|
int4: {
|
|
56
|
-
sizeMb:
|
|
58
|
+
sizeMb: sizeMb('-int4.zip'),
|
|
57
59
|
url: `${base}-int4.zip`,
|
|
58
60
|
...(weights.some(f => f.endsWith('-int4-apple.zip')) ? {
|
|
59
61
|
pro: {
|
|
@@ -62,7 +64,7 @@ async function fetchRegistry() {
|
|
|
62
64
|
} : {})
|
|
63
65
|
},
|
|
64
66
|
int8: {
|
|
65
|
-
sizeMb:
|
|
67
|
+
sizeMb: sizeMb('-int8.zip'),
|
|
66
68
|
url: `${base}-int8.zip`,
|
|
67
69
|
...(weights.some(f => f.endsWith('-int8-apple.zip')) ? {
|
|
68
70
|
pro: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RUNTIME_VERSION","registryPromise","getRegistry","fetchRegistry","parseVersionTag","tag","m","match","compareVersions","a","b","resolveWeightVersion","modelId","runtime","Error","res","fetch","ok","status","tags","json","compatible","map","t","name","filter","sort","length","response","catch","e","models","registry","Promise","all","id","siblings","weights","s","rfilename","f","startsWith","endsWith","some","version","key","find","replace","base","slug","capabilities","includes","quantization","int4","
|
|
1
|
+
{"version":3,"names":["RUNTIME_VERSION","registryPromise","getRegistry","fetchRegistry","parseVersionTag","tag","m","match","compareVersions","a","b","resolveWeightVersion","modelId","runtime","Error","res","fetch","ok","status","tags","json","compatible","map","t","name","filter","sort","length","response","catch","e","models","registry","Promise","all","id","siblings","weights","s","rfilename","f","startsWith","endsWith","some","version","key","find","replace","base","tree","then","r","sizeMb","suffix","Math","round","path","size","slug","capabilities","includes","quantization","int4","url","pro","apple","int8"],"sourceRoot":"../../src","sources":["modelRegistry.ts"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
package/src/modelRegistry.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CactusModel } from './types/common';
|
|
2
2
|
|
|
3
|
-
const RUNTIME_VERSION = '1.10.
|
|
3
|
+
const RUNTIME_VERSION = '1.10.4';
|
|
4
4
|
|
|
5
5
|
let registryPromise: Promise<{ [key: string]: CactusModel }> | null = null;
|
|
6
6
|
|
|
@@ -60,9 +60,9 @@ async function fetchRegistry(): Promise<{ [key: string]: CactusModel }> {
|
|
|
60
60
|
|
|
61
61
|
await Promise.all(
|
|
62
62
|
models.map(async ({ id, siblings = [], tags = [] }) => {
|
|
63
|
-
const weights: string[] = siblings
|
|
64
|
-
.map((s: any) => s.rfilename)
|
|
65
|
-
.filter((f
|
|
63
|
+
const weights: string[] = (siblings as any[])
|
|
64
|
+
.map((s: any) => s.rfilename as string)
|
|
65
|
+
.filter((f) => f.startsWith('weights/') && f.endsWith('.zip'));
|
|
66
66
|
|
|
67
67
|
if (
|
|
68
68
|
!weights.some((f) => f.endsWith('-int4.zip')) ||
|
|
@@ -80,19 +80,33 @@ async function fetchRegistry(): Promise<{ [key: string]: CactusModel }> {
|
|
|
80
80
|
|
|
81
81
|
const base = `https://huggingface.co/${id}/resolve/${version}/weights/${key}`;
|
|
82
82
|
|
|
83
|
+
const tree = await fetch(
|
|
84
|
+
`https://huggingface.co/api/models/${id}/tree/${version}/weights`
|
|
85
|
+
)
|
|
86
|
+
.then((r) =>
|
|
87
|
+
r.ok ? (r.json() as Promise<{ path: string; size?: number }[]>) : null
|
|
88
|
+
)
|
|
89
|
+
.catch(() => null);
|
|
90
|
+
|
|
91
|
+
const sizeMb = (suffix: string) =>
|
|
92
|
+
Math.round(
|
|
93
|
+
(tree?.find((f) => f.path === `weights/${key}${suffix}`)?.size ?? 0) /
|
|
94
|
+
(1024 * 1024)
|
|
95
|
+
);
|
|
96
|
+
|
|
83
97
|
registry[key] = {
|
|
84
98
|
slug: key,
|
|
85
99
|
capabilities: (tags as string[]).filter((t) => !t.includes(':')),
|
|
86
100
|
quantization: {
|
|
87
101
|
int4: {
|
|
88
|
-
sizeMb:
|
|
102
|
+
sizeMb: sizeMb('-int4.zip'),
|
|
89
103
|
url: `${base}-int4.zip`,
|
|
90
104
|
...(weights.some((f) => f.endsWith('-int4-apple.zip'))
|
|
91
105
|
? { pro: { apple: `${base}-int4-apple.zip` } }
|
|
92
106
|
: {}),
|
|
93
107
|
},
|
|
94
108
|
int8: {
|
|
95
|
-
sizeMb:
|
|
109
|
+
sizeMb: sizeMb('-int8.zip'),
|
|
96
110
|
url: `${base}-int8.zip`,
|
|
97
111
|
...(weights.some((f) => f.endsWith('-int8-apple.zip'))
|
|
98
112
|
? { pro: { apple: `${base}-int8-apple.zip` } }
|