feat: ✨ display model loading progress
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
parent
cd102e5357
commit
dc75582bec
@ -6,6 +6,7 @@ import {
|
|||||||
Group,
|
Group,
|
||||||
Indicator,
|
Indicator,
|
||||||
Pagination,
|
Pagination,
|
||||||
|
Progress,
|
||||||
Select,
|
Select,
|
||||||
Stack,
|
Stack,
|
||||||
Text,
|
Text,
|
||||||
@ -124,6 +125,7 @@ function FileOrganizer() {
|
|||||||
|
|
||||||
const engine = useRef<MLCEngine>(null);
|
const engine = useRef<MLCEngine>(null);
|
||||||
const [loadingModel, setLoadingModel] = useState<string | null>(null);
|
const [loadingModel, setLoadingModel] = useState<string | null>(null);
|
||||||
|
const [loadingProgress, setLoadingProgress] = useState<number | null>(null);
|
||||||
const [runningModel, setRunningModel] = useState<string | null>(null);
|
const [runningModel, setRunningModel] = useState<string | null>(null);
|
||||||
|
|
||||||
const [selectedModel, setSelectedModel] = useLocalStorage<string | null>({
|
const [selectedModel, setSelectedModel] = useLocalStorage<string | null>({
|
||||||
@ -138,12 +140,15 @@ function FileOrganizer() {
|
|||||||
const initProgressCallback: InitProgressCallback = async (
|
const initProgressCallback: InitProgressCallback = async (
|
||||||
initProgress
|
initProgress
|
||||||
) => {
|
) => {
|
||||||
|
setLoadingProgress(initProgress.progress);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
initProgress.progress === 1 &&
|
initProgress.progress === 1 &&
|
||||||
initProgress.text.startsWith("Finish loading")
|
initProgress.text.startsWith("Finish loading")
|
||||||
) {
|
) {
|
||||||
setRunningModel(selectedModel);
|
setRunningModel(selectedModel);
|
||||||
setLoadingModel(null);
|
setLoadingModel(null);
|
||||||
|
setLoadingProgress(null);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -159,6 +164,7 @@ function FileOrganizer() {
|
|||||||
runningModel,
|
runningModel,
|
||||||
setRunningModel,
|
setRunningModel,
|
||||||
setLoadingModel,
|
setLoadingModel,
|
||||||
|
setLoadingProgress,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const [selectedFile, setSelectedFile] = useState<number | null>(null);
|
const [selectedFile, setSelectedFile] = useState<number | null>(null);
|
||||||
@ -314,6 +320,8 @@ function FileOrganizer() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
console.warn(reply?.choices[0].message.content);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
@ -341,6 +349,8 @@ function FileOrganizer() {
|
|||||||
key={form.key("customer.lastName")}
|
key={form.key("customer.lastName")}
|
||||||
/>
|
/>
|
||||||
<Group ml="auto">
|
<Group ml="auto">
|
||||||
|
<Stack>
|
||||||
|
<Group>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
label={
|
label={
|
||||||
runningModel
|
runningModel
|
||||||
@ -352,7 +362,11 @@ function FileOrganizer() {
|
|||||||
>
|
>
|
||||||
<Indicator
|
<Indicator
|
||||||
color={
|
color={
|
||||||
runningModel ? (loadingModel ? "blue" : "green") : "orange"
|
runningModel
|
||||||
|
? loadingModel
|
||||||
|
? "blue"
|
||||||
|
: "green"
|
||||||
|
: "orange"
|
||||||
}
|
}
|
||||||
processing={loadingModel !== null}
|
processing={loadingModel !== null}
|
||||||
>
|
>
|
||||||
@ -364,9 +378,16 @@ function FileOrganizer() {
|
|||||||
data={modelList}
|
data={modelList}
|
||||||
value={selectedModel}
|
value={selectedModel}
|
||||||
onChange={(val) => val && setSelectedModel(val)}
|
onChange={(val) => val && setSelectedModel(val)}
|
||||||
|
searchable
|
||||||
|
clearable
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</Group>
|
</Group>
|
||||||
|
{loadingProgress !== null && (
|
||||||
|
<Progress value={loadingProgress} striped animated />
|
||||||
|
)}
|
||||||
|
</Stack>
|
||||||
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
<Flex direction="row-reverse" p="md">
|
<Flex direction="row-reverse" p="md">
|
||||||
<Stack flex={2}>
|
<Stack flex={2}>
|
||||||
|
Loading…
Reference in New Issue
Block a user