import { Injectable } from '@nestjs/common'; import { EMBEDDING_DIM } from '../config/env'; import { hashEmbedding } from '../llm/mock.provider'; import { EmbedKind, EmbeddingProvider } from './types'; /** 모델 다운로드 없이 파이프라인을 돌리기 위한 문자 bigram 해싱 임베딩. */ @Injectable() export class MockEmbeddingProvider extends EmbeddingProvider { readonly name = 'mock:bigram-hash'; readonly dimensions = EMBEDDING_DIM; async embed(texts: string[], _kind: EmbedKind = 'passage'): Promise { return texts.map((t) => hashEmbedding(t, EMBEDDING_DIM)); } }