All checks were successful
CI / update (push) Successful in 1m18s
Real-time shopping list with SSE sync between multiple clients, automatic item categorization using embedding-based classification + Bring icon matching, and card-based UI with category grouping. - SSE broadcast for live sync (add/check/remove items across tabs) - Hybrid categorizer: direct catalog lookup → category-scoped embedding search → per-category default icons, with DB caching - 388 Bring catalog icons matched via multilingual-e5-base embeddings - 170+ English→German icon aliases for reliable cross-language matching - Move cospend dashboard to /cospend/dash, /cospend redirects to list - Shopping icon on homepage links to /cospend/list
19 lines
503 B
TypeScript
19 lines
503 B
TypeScript
/**
|
|
* Pre-downloads HuggingFace transformer models so they're cached for runtime.
|
|
* Run with: pnpm exec vite-node scripts/download-models.ts
|
|
*/
|
|
import { pipeline } from '@huggingface/transformers';
|
|
|
|
const MODELS = [
|
|
'Xenova/all-MiniLM-L6-v2',
|
|
'Xenova/multilingual-e5-small',
|
|
'Xenova/multilingual-e5-base',
|
|
];
|
|
|
|
for (const name of MODELS) {
|
|
console.log(`Downloading ${name}...`);
|
|
const p = await pipeline('feature-extraction', name, { dtype: 'q8' });
|
|
await p.dispose();
|
|
console.log(` done`);
|
|
}
|