jan/web/hooks/useEngineInit.ts
NamH ec9b5bf682
fix: update new api from cortex to support 0.5.0 (#3221)
* fix: update new api from cortex to support 0.5.0

Signed-off-by: James <namnh0122@gmail.com>

* fix stop button for streaming

Signed-off-by: James <namnh0122@gmail.com>

* fix stop inference for nonstreaming

Signed-off-by: James <namnh0122@gmail.com>

* chore: remove umami prevent tracking call to vercel

Signed-off-by: James <namnh0122@gmail.com>

* add warning modal when running more than 2 model concurrently

Signed-off-by: James <namnh0122@gmail.com>

* fix: skip summarize if abort

Signed-off-by: James <namnh0122@gmail.com>

* 0.5.0-3

* add inference error popup

Signed-off-by: James <namnh0122@gmail.com>

* add back import local model

Signed-off-by: James <namnh0122@gmail.com>

* fix: max token issue (#3225)

Signed-off-by: James <namnh0122@gmail.com>

* format status

Signed-off-by: James <namnh0122@gmail.com>

* fix migration missing instructions

Signed-off-by: James <namnh0122@gmail.com>

* fix: wait for cortex process overlay should be on top (#3224)

* fix: wait for cortex process overlay should be on top

* chore: update cortex.js

* Cortex 0.5.0-5

* add import model to my model screen

Signed-off-by: James <namnh0122@gmail.com>

* fix: should migrate symlink models (#3226)

* fix import on windows (#3229)

Signed-off-by: James <namnh0122@gmail.com>

* fix yarn lint

Signed-off-by: James <namnh0122@gmail.com>

* fix: clean up port before start jan (#3232)

Signed-off-by: James <namnh0122@gmail.com>

---------

Signed-off-by: James <namnh0122@gmail.com>
Co-authored-by: Van Pham <64197333+Van-QA@users.noreply.github.com>
Co-authored-by: Louis <louis@jan.ai>
2024-08-02 09:37:04 +07:00

39 lines
1.2 KiB
TypeScript

import { Engine } from '@cortexso/cortex.js/resources'
import { useMutation, useQueryClient } from '@tanstack/react-query'
import useCortex from './useCortex'
import { engineQueryKey } from './useEngineQuery'
const useEngineInit = () => {
const { initializeEngine } = useCortex()
const queryClient = useQueryClient()
return useMutation({
mutationFn: initializeEngine,
onSuccess: async (data, engineName) => {
console.debug(`Engine ${engineName} initialized`, data)
// optimistically set the engine status to 'ready'
const queryCacheData = await queryClient.getQueryData(engineQueryKey)
if (!queryCacheData) {
return queryClient.invalidateQueries({ queryKey: engineQueryKey })
}
const engineStatuses = queryCacheData as Engine[]
engineStatuses.forEach((engine) => {
if (engine.name === engineName) {
engine.status = 'ready'
}
})
console.debug(`Updated engine status: ${engineStatuses}`)
await queryClient.setQueryData(engineQueryKey, engineStatuses)
},
onError(error, variables) {
console.error(`Engine ${variables} failed to initialize`, error)
},
})
}
export default useEngineInit