Perplexica/src/lib/providers/transformers.ts
2025-04-08 16:00:45 +05:30

31 lines
787 B
TypeScript

import { EmbeddingModel, getModelsList, RawModel } from '.'
import { HuggingFaceTransformersEmbeddings } from '../huggingfaceTransformer'
const loadModels = () => {
return getModelsList()?.embeddingModels[
'transformers'
] as unknown as RawModel[]
}
export const loadTransformersEmbeddingsModels = async () => {
try {
const models = loadModels()
const embeddingModels: Record<string, EmbeddingModel> = {}
models.forEach(model => {
embeddingModels[model.key] = {
displayName: model.displayName,
model: new HuggingFaceTransformersEmbeddings({
modelName: model.key,
}),
}
})
return embeddingModels
} catch (err) {
console.error(`Error loading Transformers embeddings model: ${err}`)
return {}
}
}