Project Files
src / embedder.ts
import type { LMStudioClient } from "@lmstudio/sdk";
export type EmbedFn = (texts: string[]) => Promise<number[][]>;
export async function getEmbedFn(client: LMStudioClient, identifier: string): Promise<EmbedFn> {
// model(key) loads or reuses by key; model() uses any already-loaded embedding model
const model = identifier
? await client.embedding.model(identifier)
: await client.embedding.model();
return async (texts: string[]) => {
const results = await model.embed(texts);
return results.map((r: { embedding: number[] }) => r.embedding);
};
}