immich/server/libs/domain/src/smart-info/machine-learning.interface.ts

28 lines
680 B
TypeScript
Raw Normal View History

export const IMachineLearningRepository = 'IMachineLearningRepository';
export interface MachineLearningInput {
thumbnailPath: string;
}
2023-05-17 13:07:17 -04:00
export interface BoundingBox {
x1: number;
y1: number;
x2: number;
y2: number;
}
export interface DetectFaceResult {
imageWidth: number;
imageHeight: number;
boundingBox: BoundingBox;
score: number;
embedding: number[];
}
export interface IMachineLearningRepository {
classifyImage(input: MachineLearningInput): Promise<string[]>;
encodeImage(input: MachineLearningInput): Promise<number[]>;
encodeText(input: string): Promise<number[]>;
2023-05-17 13:07:17 -04:00
detectFaces(input: MachineLearningInput): Promise<DetectFaceResult[]>;
}