This commit is contained in:
@@ -22,8 +22,8 @@ export async function serveOnSessionBus(daemon) {
|
||||
Sleep() { daemon.sleep(); }
|
||||
Shutdown() { daemon.close(); }
|
||||
PushToTalk(pressed) { daemon.setPushToTalk?.(Boolean(pressed)); }
|
||||
Say(text) { return daemon.say?.(text); }
|
||||
Ask(text) { return daemon.ask(text); }
|
||||
async Say(text) { await daemon.say?.(text); }
|
||||
async Ask(text) { await daemon.ask(text); }
|
||||
Cancel() { daemon.cancel(); }
|
||||
SetMode(mode) { daemon.mode = mode; daemon.emit('ModeChanged', mode); }
|
||||
GetState() { return daemon.state; }
|
||||
|
||||
@@ -105,9 +105,17 @@ export async function loadAuxiliaryModel(name, modelConfig = {}, modelType = und
|
||||
if (existing) return existing;
|
||||
const sdk = await qvacSdk();
|
||||
if (typeof sdk.loadModel !== 'function') throw new Error('QVAC SDK does not expose loadModel()');
|
||||
const auxiliaryConfig = resolveModelConfigAssets(sdk, modelConfig);
|
||||
// GPU placement belongs to the LLM model configuration. ASR and TTS have
|
||||
// their own validated schemas and reject llama.cpp-only keys.
|
||||
if (!modelType || modelType === 'llm') {
|
||||
auxiliaryConfig.device = 'gpu';
|
||||
auxiliaryConfig.gpu_layers = QVAC_MASTER.gpuLayers;
|
||||
auxiliaryConfig['mmproj-use-gpu'] = true;
|
||||
}
|
||||
const loadOptions = {
|
||||
modelSrc: resolveSdkAsset(sdk, name),
|
||||
modelConfig: { ...resolveModelConfigAssets(sdk, modelConfig), device: 'gpu', gpu_layers: QVAC_MASTER.gpuLayers, 'mmproj-use-gpu': true },
|
||||
modelConfig: auxiliaryConfig,
|
||||
};
|
||||
if (modelType) loadOptions.modelType = modelType;
|
||||
const modelId = await withQvacMaster(() => sdk.loadModel(loadOptions));
|
||||
|
||||
Reference in New Issue
Block a user