feat: US-013 - Self-host ONNX embedding model

Download all-MiniLM-L6-v2 model files to public/models/ and configure
@xenova/transformers to load from local path instead of Hugging Face CDN.
Eliminates external dependency for semantic search embedding model.
This commit is contained in:
2026-02-15 20:59:03 +00:00
parent 9e9dd1ae4b
commit 667e5b249c
8 changed files with 30785 additions and 4 deletions
+5 -1
View File
@@ -1,8 +1,12 @@
import { writeFileSync } from 'node:fs'
import { resolve } from 'node:path'
import { pipeline } from '@xenova/transformers'
import { env, pipeline } from '@xenova/transformers'
import { buildEmbeddingTexts } from '@/lib/search'
// Use local model files from public/models/ (same files the browser uses)
env.localModelPath = resolve(import.meta.dirname, '..', 'public', 'models')
env.allowRemoteModels = false
async function main() {
const items = buildEmbeddingTexts()
console.log(`Found ${items.length} items to embed.`)