Skip to content
This repository was archived by the owner on Jul 4, 2025. It is now read-only.

Commit ecc95c7

Browse files
authored
fix: add pre_prompt to engine settings (#664)
1 parent 31f5e14 commit ecc95c7

File tree

3 files changed

+22
-5
lines changed

3 files changed

+22
-5
lines changed

cortex-js/src/file-manager/file-manager.service.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export class FileManagerService {
1010
private configFile = '.cortexrc';
1111
private cortexDirectoryName = 'cortex';
1212
private modelFolderName = 'models';
13+
private presetFolderName = 'presets';
1314
private extensionFoldername = 'extensions';
1415
private cortexCppFolderName = 'cortex-cpp';
1516

@@ -96,6 +97,16 @@ export class FileManagerService {
9697
return join(dataFolderPath, this.modelFolderName);
9798
}
9899

100+
/**
101+
* Get the presets data folder path
102+
* Usually it is located at the home directory > cortex > presets
103+
* @returns the path to the presets folder
104+
*/
105+
async getPresetsPath(): Promise<string> {
106+
const dataFolderPath = await this.getDataFolderPath();
107+
return join(dataFolderPath, this.presetFolderName);
108+
}
109+
99110
/**
100111
* Get the extensions data folder path
101112
* Usually it is located at the home directory > cortex > extensions

cortex-js/src/infrastructure/commanders/usecases/models.cli.usecases.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import { UpdateModelDto } from '@/infrastructure/dtos/models/update-model.dto';
2727
import { FileManagerService } from '@/file-manager/file-manager.service';
2828
import { join, basename } from 'path';
2929
import { load } from 'js-yaml';
30-
import { existsSync, readFileSync } from 'fs';
30+
import { existsSync, readdirSync, readFileSync } from 'fs';
3131
import { isLocalModel, normalizeModelId } from '../utils/normalize-model-id';
3232
import {
3333
HUGGING_FACE_DOWNLOAD_FILE_MAIN_URL,
@@ -395,11 +395,16 @@ export class ModelsCliUsecases {
395395
}
396396

397397
private async parsePreset(preset?: string): Promise<object> {
398-
const presetPath = join(
399-
await this.fileService.getDataFolderPath(),
400-
'presets',
401-
`${preset}.yaml`,
398+
const presetsFolder = await this.fileService.getPresetsPath();
399+
400+
const presetFile = readdirSync(presetsFolder).find(
401+
(file) =>
402+
file.toLowerCase() === `${preset?.toLowerCase()}.yaml` ||
403+
file.toLowerCase() === `${preset?.toLocaleLowerCase()}.yml`,
402404
);
405+
if (!presetFile) throw new Error(`Preset ${preset} not found`);
406+
const presetPath = join(presetsFolder, presetFile);
407+
403408
if (!preset || !existsSync(presetPath)) return {};
404409
return preset
405410
? (load(readFileSync(join(presetPath), 'utf-8')) as object)

cortex-js/src/infrastructure/commanders/utils/model-parameter.parser.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export class ModelParameterParser {
1515
llama_model_path: 'string',
1616
mmproj: 'string',
1717
cont_batching: 'boolean',
18+
pre_prompt: 'string',
1819
};
1920

2021
private modelRuntimeParamTypes: { [key: string]: string } = {

0 commit comments

Comments
 (0)