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

Commit 6bc5805

Browse files
committed
update
1 parent 506933b commit 6bc5805

File tree

6 files changed

+45
-58
lines changed

6 files changed

+45
-58
lines changed

cortex-js/src/domain/models/model.interface.ts

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,5 @@
11
import { Model as OpenAiModel } from 'openai/resources/models';
22

3-
export const LocalEngines = [
4-
'cortex.llamacpp',
5-
'cortex.onnx',
6-
'cortex.tensorrt',
7-
] as const;
8-
9-
export const RemoteEngines = [
10-
'anthropic',
11-
'mistral',
12-
'martian',
13-
'openrouter',
14-
'openai',
15-
'groq',
16-
'triton_trtllm',
17-
'cohere',
18-
] as const;
19-
20-
export const LlmEngines = [...LocalEngines, ...RemoteEngines] as const;
21-
export type LlmEngine = (typeof LlmEngines)[number];
22-
233
export interface Model
244
extends OpenAiModel,
255
ModelSettingParams,
@@ -86,7 +66,7 @@ export interface ModelSettingParams {
8666
/**
8767
* The model engine.
8868
*/
89-
engine?: LlmEngine;
69+
engine?: string;
9070

9171
/**
9272
* The prompt to use for internal configuration

cortex-js/src/infrastructure/commanders/types/model-stat.interface.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
import { LlmEngine } from '@/domain/models/model.interface';
2-
31
export interface ModelStat {
42
modelId: string;
5-
engine?: LlmEngine;
3+
engine?: string;
64
duration?: string;
75
status: string;
86
vram?: string;

cortex-js/src/infrastructure/dtos/models/create-model.dto.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
IsString,
77
Min,
88
} from 'class-validator';
9-
import { LlmEngine, Model } from '@/domain/models/model.interface';
9+
import { Model } from '@/domain/models/model.interface';
1010
import { ModelArtifactDto } from './model-artifact.dto';
1111
import { ApiProperty, getSchemaPath } from '@nestjs/swagger';
1212

@@ -135,7 +135,7 @@ export class CreateModelDto implements Partial<Model> {
135135
})
136136
@IsOptional()
137137
@IsString()
138-
engine?: LlmEngine;
138+
engine?: string;
139139

140140
@ApiProperty({
141141
description: 'The owner of the model.',

cortex-js/src/infrastructure/dtos/models/model-settings.dto.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { LlmEngine, ModelSettingParams } from '@/domain/models/model.interface';
1+
import { ModelSettingParams } from '@/domain/models/model.interface';
22
import { ApiProperty } from '@nestjs/swagger';
33
import {
44
IsArray,
@@ -138,5 +138,5 @@ export class ModelSettingsDto implements ModelSettingParams {
138138
description: 'The engine to use.',
139139
})
140140
@IsOptional()
141-
engine?: LlmEngine;
141+
engine?: string;
142142
}

cortex-js/src/infrastructure/dtos/models/model.dto.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { LlmEngine, Model } from '@/domain/models/model.interface';
1+
import { Model } from '@/domain/models/model.interface';
22
import { ApiProperty } from '@nestjs/swagger';
33
import {
44
IsArray,
@@ -198,5 +198,5 @@ export class ModelDto implements Partial<Model> {
198198
example: 'cortex.llamacpp',
199199
})
200200
@IsOptional()
201-
engine?: LlmEngine;
201+
engine?: string;
202202
}

cortex-js/src/usecases/models/models.usecases.ts

Lines changed: 37 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ import {
3838
import { DownloadType } from '@/domain/models/download.interface';
3939
import { DownloadManagerService } from '@/download-manager/download-manager.service';
4040
import { EventEmitter2 } from '@nestjs/event-emitter';
41-
import { ModelId, ModelStatus } from '@/domain/models/model.event';
41+
import { ModelEvent, ModelId, ModelStatus } from '@/domain/models/model.event';
4242

4343
@Injectable()
4444
export class ModelsUsecases {
@@ -170,10 +170,12 @@ export class ModelsUsecases {
170170
status: 'starting',
171171
metadata: {},
172172
};
173-
this.eventEmitter.emit('model.event', {
174-
id: modelId,
175-
action: 'starting',
176-
});
173+
const modelEvent: ModelEvent = {
174+
model: modelId,
175+
event: 'starting',
176+
metadata: {},
177+
};
178+
this.eventEmitter.emit('model.event', modelEvent);
177179

178180
const parser = new ModelParameterParser();
179181
const loadModelSettings: ModelSettingParams = {
@@ -200,11 +202,12 @@ export class ModelsUsecases {
200202
status: 'started',
201203
metadata: {},
202204
};
203-
204-
this.eventEmitter.emit('model.event', {
205-
id: modelId,
206-
action: 'started',
207-
});
205+
const modelEvent: ModelEvent = {
206+
model: modelId,
207+
event: 'started',
208+
metadata: {},
209+
};
210+
this.eventEmitter.emit('model.event', modelEvent);
208211
})
209212
.then(() => ({
210213
message: 'Model loaded successfully',
@@ -213,11 +216,12 @@ export class ModelsUsecases {
213216
.catch(async (e) => {
214217
// remove the model from this.activeModelStatus.
215218
delete this.activeModelStatuses[modelId];
216-
217-
this.eventEmitter.emit('model.event', {
218-
id: modelId,
219-
action: 'starting-failed',
220-
});
219+
const modelEvent: ModelEvent = {
220+
model: modelId,
221+
event: 'starting-failed',
222+
metadata: {},
223+
};
224+
this.eventEmitter.emit('model.event', modelEvent);
221225
console.error('Starting model failed', e.code, e.message, e.stack);
222226
if (e.code === AxiosError.ERR_BAD_REQUEST) {
223227
return {
@@ -255,30 +259,35 @@ export class ModelsUsecases {
255259
status: 'stopping',
256260
metadata: {},
257261
};
258-
this.eventEmitter.emit('model.event', {
259-
id: modelId,
260-
action: 'stopping',
261-
});
262+
const modelEvent: ModelEvent = {
263+
model: modelId,
264+
event: 'stopping',
265+
metadata: {},
266+
};
267+
this.eventEmitter.emit('model.event', modelEvent);
262268

263269
return engine
264270
.unloadModel(modelId)
265271
.then(() => {
266272
delete this.activeModelStatuses[modelId];
267-
268-
this.eventEmitter.emit('model.event', {
269-
id: modelId,
270-
action: 'stopped',
271-
});
273+
const modelEvent: ModelEvent = {
274+
model: modelId,
275+
event: 'stopped',
276+
metadata: {},
277+
};
278+
this.eventEmitter.emit('model.event', modelEvent);
272279
})
273280
.then(() => ({
274281
message: 'Model is stopped',
275282
modelId,
276283
}))
277284
.catch(async (e) => {
278-
this.eventEmitter.emit('model.event', {
279-
id: modelId,
280-
action: 'stopping-failed',
281-
});
285+
const modelEvent: ModelEvent = {
286+
model: modelId,
287+
event: 'stopping-failed',
288+
metadata: {},
289+
};
290+
this.eventEmitter.emit('model.event', modelEvent);
282291
await this.telemetryUseCases.createCrashReport(
283292
e,
284293
TelemetrySource.CORTEX_CPP,

0 commit comments

Comments
 (0)