From 121bc46da4742a26055db9314bb63727277f2814 Mon Sep 17 00:00:00 2001 From: Jhen-Jie Hong Date: Wed, 20 Nov 2024 17:05:08 +0800 Subject: [PATCH] feat(example): add lora comments --- example/src/App.tsx | 41 ++++++++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/example/src/App.tsx b/example/src/App.tsx index 4c9f87e..6d549fe 100644 --- a/example/src/App.tsx +++ b/example/src/App.tsx @@ -95,7 +95,7 @@ export default function App() { const handleInitContext = async ( file: DocumentPickerResponse, - loraFile?: DocumentPickerResponse, + loraFile: DocumentPickerResponse | null, ) => { await handleReleaseContext() await getModelInfo(file.uri) @@ -179,6 +179,15 @@ export default function App() { return file } + const pickLora = async () => { + let loraFile + const loraRes = await DocumentPicker.pick({ + type: Platform.OS === 'ios' ? 'public.data' : 'application/octet-stream', + }).catch((e) => console.log('No lora file picked, error: ', e.message)) + if (loraRes?.[0]) loraFile = await copyFileIfNeeded('lora', loraRes[0]) + return loraFile + } + const handlePickModel = async () => { const modelRes = await DocumentPicker.pick({ type: Platform.OS === 'ios' ? 'public.data' : 'application/octet-stream', @@ -186,12 +195,10 @@ export default function App() { if (!modelRes?.[0]) return const modelFile = await copyFileIfNeeded('model', modelRes?.[0]) - let loraFile + let loraFile = null // Example: Apply lora adapter (Currently only select one lora file) (Uncomment to use) - // const loraRes = await DocumentPicker.pick({ - // type: Platform.OS === 'ios' ? 'public.data' : 'application/octet-stream', - // }).catch(e => console.log('No lora file picked, error: ', e.message)) - // if (loraRes?.[0]) loraFile = await copyFileIfNeeded('lora', loraRes[0]) + // loraFile = await pickLora() + loraFile = null handleInitContext(modelFile, loraFile) } @@ -278,6 +285,26 @@ export default function App() { addSystemMessage(`Session load failed: ${e.message}`) }) return + case '/lora': + pickLora() + .then((loraFile) => { + if (loraFile) + context.applyLoraAdapters([{ path: loraFile.uri }]) + }) + .then(context.getLoadedLoraAdapters) + .then((loraList) => + addSystemMessage( + `Loaded lora adapters: ${JSON.stringify(loraList)}`, + ), + ) + return + case '/lora-list': + context.getLoadedLoraAdapters().then((loraList) => { + addSystemMessage( + `Loaded lora adapters: ${JSON.stringify(loraList)}`, + ) + }) + return } } const textMessage: MessageType.Text = { @@ -417,7 +444,7 @@ export default function App() { dry_base: 1.75, dry_allowed_length: 2, dry_penalty_last_n: -1, - dry_sequence_breakers: ["\n", ":", "\"", "*"], + dry_sequence_breakers: ['\n', ':', '"', '*'], mirostat: 0, mirostat_tau: 5, mirostat_eta: 0.1,