Spaces:
Runtime error
Runtime error
| import useLLM from "@react-llm/headless"; | |
| const Loader = () => { | |
| const { loadingStatus, isReady, init, gpuDevice } = useLLM(); | |
| if (isReady) return null; | |
| if (loadingStatus.progress === 1) return null; | |
| if (gpuDevice.unsupportedReason) { | |
| return ( | |
| <div style={{ fontSize: "20px" }}> | |
| <p style={{ color: "red" }}>Sorry, unsupported!</p> | |
| <p> Reason: {gpuDevice.unsupportedReason}</p> | |
| <p> | |
| This project runs models in | |
| the browser with WebGPU and only works in Google Chrome v113 and above | |
| on Desktop with supported GPUs. Experimental support may be available for desktop Firefox and Safari Tech Preview. | |
| </p> | |
| </div> | |
| ); | |
| } | |
| if (loadingStatus.progress == 0) { | |
| return ( | |
| <div style={{ padding: "10px", width: "100%" }}> | |
| <div | |
| style={{ | |
| display: "flex", | |
| alignItems: "left", | |
| flexDirection: "column", | |
| gap: "10px", | |
| fontSize: "24px", | |
| textAlign: "left", | |
| fontFamily: "Arial" | |
| }} | |
| > | |
| <div> | |
| <h1 className="p-1"> | |
| <b>web-llm-embed</b> | |
| </h1> | |
| <div> | |
| π Edge based document chat. No data is sent to the server. Model is Vicuna 7b trained by LMSys. | |
| </div> | |
| </div> | |
| <div> | |
| π This will download the model (~4GB) and may take a few minutes. After the | |
| first time, it will be cached. | |
| </div> | |
| <button | |
| style={{ padding: "10px" }} | |
| size="lg" | |
| onClick={() => init()} | |
| > | |
| Load Model | |
| </button> | |
| </div> | |
| </div> | |
| ); | |
| } | |
| return ( | |
| <div style={{ width: "100%", margin: "10px" }}> | |
| Loading {loadingStatus.progress * 100}% | |
| </div> | |
| ); | |
| }; | |
| export default Loader; |