* feat: Support multiple model binaries * fix: Update downloadModel with multiple binaries handler * feat: Add 3 models with multiple binaries * chore: fix model download * fix: model file lookup & model path * chore: add .prettierrc * chore: refactor docs * chore: bump model version * fix(capybara): add filename * fix(codeninja): add file name + llama model path * fix(default): add llama model path * fix(deepseek coder): add filename * fix(deepseek 33B): add filename * fix(dolphin mixtral): add filename * fix(llama2-chat): add filename * fix(llama2-70B): add filename * fix(mistral 7b): add filename + model path * fix(bakllava): correct size model * fix(llava-7b): correct size model * fix(llava-13b): correct size model * fix(mixtral-8x7b): add file name + modelpath * fix(noramaid-7b): add file name + modelpath * fix(openchat-7b): add file name + modelpath * fix(openhermes-7b): add file name + modelpath * fix(phi2-3b): add file name + modelpath * fix(phind): add file name + modelpath * fix(solarslerp): add file name + modelpath * fix(starling): add file name + modelpath * fix(stealth): add file name + modelpath * fix(tinyllama): add file name + modelpath * fix(trinity): add file name + modelpath * fix(tulu): add file name + modelpath * fix(wizardcoder): add file name + modelpath * fix(yi): add file name + modelpath * update from source -> sources Signed-off-by: James <james@jan.ai> --------- Signed-off-by: James <james@jan.ai> Co-authored-by: hiro <vuonghoainam.work@gmail.com> Co-authored-by: hahuyhoang411 <hahuyhoanghhh41@gmail.com> Co-authored-by: James <james@jan.ai>
32 lines
839 B
TypeScript
32 lines
839 B
TypeScript
import { useEffect, useState } from 'react'
|
|
|
|
import { ExtensionTypeEnum, ModelExtension, Model } from '@janhq/core'
|
|
|
|
import { extensionManager } from '@/extension/ExtensionManager'
|
|
|
|
export function useGetConfiguredModels() {
|
|
const [loading, setLoading] = useState<boolean>(false)
|
|
const [models, setModels] = useState<Model[]>([])
|
|
|
|
const getConfiguredModels = async (): Promise<Model[]> => {
|
|
const models = await extensionManager
|
|
.get<ModelExtension>(ExtensionTypeEnum.Model)
|
|
?.getConfiguredModels()
|
|
return models ?? []
|
|
}
|
|
|
|
async function fetchModels() {
|
|
setLoading(true)
|
|
const models = await getConfiguredModels()
|
|
setLoading(false)
|
|
setModels(models)
|
|
}
|
|
|
|
useEffect(() => {
|
|
fetchModels()
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
}, [])
|
|
|
|
return { loading, models }
|
|
}
|