@@ -20,37 +20,29 @@ public class AndroidDemo : MonoBehaviour
20
20
public Text progressText ;
21
21
int cores ;
22
22
23
- void Awake ( )
24
- {
25
- ChatPanel . SetActive ( false ) ;
26
- DownloadPanel . SetActive ( false ) ;
27
- }
28
-
29
- void Start ( )
23
+ async void Start ( )
30
24
{
31
25
playerText . onSubmit . AddListener ( onInputFieldSubmit ) ;
32
26
playerText . interactable = false ;
33
- StartCoroutine ( Loading ( ) ) ;
27
+ await ShowDownloadScreen ( ) ;
28
+ await WarmUp ( ) ;
34
29
}
35
30
36
- IEnumerator < string > Loading ( )
31
+ async Task ShowDownloadScreen ( )
37
32
{
33
+ ChatPanel . SetActive ( false ) ;
38
34
DownloadPanel . SetActive ( true ) ;
39
- AIText . text = "Downloading model..." ;
40
- Task downloadTask = llm . DownloadModel (
41
- "https://huggingface.co/afrideva/smol_llama-220M-openhermes-GGUF/resolve/main/smol_llama-220m-openhermes.q4_k_m.gguf?download=true" ,
42
- SetProgress
43
- ) ;
44
- while ( ! downloadTask . IsCompleted ) yield return null ;
45
- llm . SetTemplate ( "alpaca" ) ;
35
+ // await llm.WaitUntilModelDownloaded(SetProgress);
46
36
DownloadPanel . SetActive ( false ) ;
47
-
48
37
ChatPanel . SetActive ( true ) ;
49
- cores = LLMUnitySetup . AndroidGetNumBigCores ( ) ;
50
- AIText . text += $ "\n Warming up the model...\n Will use { cores } cores";
51
- Task warmup = llmCharacter . Warmup ( ) ;
52
- while ( ! warmup . IsCompleted ) yield return null ;
38
+ }
53
39
40
+ async Task WarmUp ( )
41
+ {
42
+ llm . SetTemplate ( "alpaca" ) ;
43
+ cores = LLMUnitySetup . AndroidGetNumBigCores ( ) ;
44
+ AIText . text += $ "Warming up the model...\n Will use { cores } cores";
45
+ await llmCharacter . Warmup ( ) ;
54
46
AIText . text = $ "Ready when you are ({ cores } cores)!";
55
47
AIReplyComplete ( ) ;
56
48
}
0 commit comments