🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

fastembed

Package Overview
Dependencies
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fastembed - npm Package Compare versions

Comparing version
2.0.0
to
2.1.0
+45
-0
lib/cjs/fastembed.d.ts

@@ -20,2 +20,10 @@ /// <reference types="node" />

}
export declare enum SparseEmbeddingModel {
SpladePPEnV1 = "prithivida/Splade_PP_en_v1",
CUSTOM = "custom"
}
export type SparseVector = {
values: number[];
indices: number[];
};
export interface InitOptionsBase {

@@ -32,2 +40,7 @@ executionProviders?: ExecutionProvider[];

}
interface SparseModelInfo {
model: SparseEmbeddingModel;
vocabSize: number;
description: string;
}
export interface InitStandardOptions extends InitOptionsBase {

@@ -44,2 +57,13 @@ model: Exclude<EmbeddingModel, EmbeddingModel.CUSTOM>;

export type InitOptions = InitStandardOptions | InitCustomOptions;
export interface InitSparseStandardOptions extends InitOptionsBase {
model: Exclude<SparseEmbeddingModel, SparseEmbeddingModel.CUSTOM>;
modelAbsoluteDirPath?: undefined;
modelName?: string;
}
export interface InitSparseCustomOptions extends InitOptionsBase {
model: SparseEmbeddingModel.CUSTOM;
modelAbsoluteDirPath: fs.PathLike;
modelName: string;
}
export type InitSparseOptions = InitSparseStandardOptions | InitSparseCustomOptions;
declare abstract class Embedding {

@@ -51,2 +75,8 @@ abstract listSupportedModels(): ModelInfo[];

}
declare abstract class SparseEmbedding {
abstract listSupportedModels(): SparseModelInfo[];
abstract embed(texts: string[], batchSize?: number): AsyncGenerator<SparseVector[], void, unknown>;
abstract passageEmbed(texts: string[], batchSize: number): AsyncGenerator<SparseVector[], void, unknown>;
abstract queryEmbed(query: string): Promise<SparseVector>;
}
export declare class FlagEmbedding extends Embedding {

@@ -68,3 +98,18 @@ private tokenizer;

}
export declare class SparseTextEmbedding extends SparseEmbedding {
private tokenizer;
private session;
private model;
private vocabSize;
private constructor();
static init(options: InitSparseStandardOptions): Promise<SparseTextEmbedding>;
static init(options: InitSparseCustomOptions): Promise<SparseTextEmbedding>;
private static loadTokenizer;
private static retrieveModel;
embed(textStrings: string[], batchSize?: number): AsyncGenerator<SparseVector[], void, unknown>;
passageEmbed(texts: string[], batchSize?: number): AsyncGenerator<SparseVector[], void, unknown>;
queryEmbed(query: string): Promise<SparseVector>;
listSupportedModels(): SparseModelInfo[];
}
export {};
//# sourceMappingURL=fastembed.d.ts.map
+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"fastembed.d.ts","sourceRoot":"","sources":["../../src/fastembed.ts"],"names":[],"mappings":";AACA,OAAO,EAAgB,MAAM,IAAI,CAAC;AAOlC,oBAAY,iBAAiB;IAC3B,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,oBAAY,cAAc;IACxB,aAAa,0BAA0B;IACvC,SAAS,qBAAqB;IAC9B,YAAY,0BAA0B;IACtC,UAAU,sBAAsB;IAChC,aAAa,2BAA2B;IACxC,UAAU,2BAA2B;IACrC,SAAS,+BAA+B;IACxC,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,UAAU,SAAS;IACjB,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAmDD,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACtD,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC;IAC7B,oBAAoB,EAAE,EAAE,CAAC,QAAQ,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAClE,uBAAe,SAAS;IACtB,QAAQ,CAAC,mBAAmB,IAAI,SAAS,EAAE;IAE3C,QAAQ,CAAC,KAAK,CACZ,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC;IAE5C,QAAQ,CAAC,YAAY,CACnB,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,MAAM,GAChB,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC;IAE5C,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CACtD;AAED,qBAAa,aAAc,SAAQ,SAAS;IAExC,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK;IAHf,OAAO;WAOM,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;WAC1D,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAmDrE,OAAO,CAAC,MAAM,CAAC,aAAa;mBA6DP,mBAAmB;mBAqEnB,iBAAiB;mBAgBjB,aAAa;IAwB3B,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,GAAE,MAAY;IAwF3D,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,GAAE,MAAY;IAK/C,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIlD,mBAAmB,IAAI,SAAS,EAAE;CAwCnC"}
{"version":3,"file":"fastembed.d.ts","sourceRoot":"","sources":["../../src/fastembed.ts"],"names":[],"mappings":"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"}

@@ -29,3 +29,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.FlagEmbedding = exports.EmbeddingModel = exports.ExecutionProvider = void 0;
exports.SparseTextEmbedding = exports.FlagEmbedding = exports.SparseEmbeddingModel = exports.EmbeddingModel = exports.ExecutionProvider = void 0;
const tokenizers_1 = require("@anush008/tokenizers");

@@ -38,2 +38,3 @@ const fs_1 = __importDefault(require("fs"));

const tar_1 = __importDefault(require("tar"));
const hub_1 = require("@huggingface/hub");
var ExecutionProvider;

@@ -58,2 +59,7 @@ (function (ExecutionProvider) {

})(EmbeddingModel || (exports.EmbeddingModel = EmbeddingModel = {}));
var SparseEmbeddingModel;
(function (SparseEmbeddingModel) {
SparseEmbeddingModel["SpladePPEnV1"] = "prithivida/Splade_PP_en_v1";
SparseEmbeddingModel["CUSTOM"] = "custom";
})(SparseEmbeddingModel || (exports.SparseEmbeddingModel = SparseEmbeddingModel = {}));
function normalize(v) {

@@ -74,2 +80,4 @@ const norm = Math.sqrt(v.reduce((acc, val) => acc + val * val, 0));

}
class SparseEmbedding {
}
class FlagEmbedding extends Embedding {

@@ -331,2 +339,201 @@ constructor(tokenizer, session, model) {

exports.FlagEmbedding = FlagEmbedding;
// Sparse embedding implementation class
class SparseTextEmbedding extends SparseEmbedding {
constructor(tokenizer, session, model, vocabSize) {
super();
this.tokenizer = tokenizer;
this.session = session;
this.model = model;
this.vocabSize = vocabSize;
}
static async init({ model = SparseEmbeddingModel.SpladePPEnV1, executionProviders = [ExecutionProvider.CPU], maxLength = 512, cacheDir = "local_cache", showDownloadProgress = true, modelAbsoluteDirPath = "", modelName = "", } = {}) {
if (model === SparseEmbeddingModel.CUSTOM) {
if (!modelAbsoluteDirPath) {
throw new Error("For custom model, modelAbsoluteDirPath is required in SparseTextEmbedding.init");
}
if (!modelName) {
throw new Error("For custom model, modelName is required in SparseTextEmbedding.init");
}
}
const modelDir = model === SparseEmbeddingModel.CUSTOM
? modelAbsoluteDirPath
: await SparseTextEmbedding.retrieveModel(model, cacheDir, showDownloadProgress);
const { tokenizer, vocabSize } = this.loadTokenizer(modelDir, maxLength);
const defaultModelName = "model.onnx";
const modelPath = path_1.default.join(modelDir.toString(), "onnx", modelName || defaultModelName);
if (!fs_1.default.existsSync(modelPath)) {
throw new Error(`Model file not found at ${modelPath}`);
}
const session = await ort.InferenceSession.create(modelPath, {
executionProviders,
graphOptimizationLevel: "all",
});
return new SparseTextEmbedding(tokenizer, session, model, vocabSize);
}
static loadTokenizer(modelDir, maxLength) {
const tokenizerPath = path_1.default.join(modelDir.toString(), "tokenizer.json");
if (!fs_1.default.existsSync(tokenizerPath)) {
throw new Error(`Tokenizer file not found at ${tokenizerPath}`);
}
const configPath = path_1.default.join(modelDir.toString(), "config.json");
if (!fs_1.default.existsSync(configPath)) {
throw new Error(`Config file not found at ${configPath}`);
}
const config = JSON.parse(fs_1.default.readFileSync(configPath, "utf-8"));
const tokenizerFilePath = path_1.default.join(modelDir.toString(), "tokenizer_config.json");
if (!fs_1.default.existsSync(tokenizerFilePath)) {
throw new Error(`Tokenizer file not found at ${tokenizerFilePath}`);
}
const tokenizerConfig = JSON.parse(fs_1.default.readFileSync(tokenizerFilePath, "utf-8"));
maxLength = Math.min(maxLength, tokenizerConfig["model_max_length"]);
const tokensMapPath = path_1.default.join(modelDir.toString(), "special_tokens_map.json");
if (!fs_1.default.existsSync(tokensMapPath)) {
throw new Error(`Tokens map file not found at ${tokensMapPath}`);
}
const tokensMap = JSON.parse(fs_1.default.readFileSync(tokensMapPath, "utf-8"));
const tokenizer = tokenizers_1.Tokenizer.fromFile(tokenizerPath);
tokenizer.setTruncation(maxLength);
tokenizer.setPadding({
maxLength,
padId: config["pad_token_id"],
padToken: tokenizerConfig["pad_token"],
});
for (let token of Object.values(tokensMap)) {
if (typeof token === "string") {
tokenizer.addSpecialTokens([token]);
}
else if (isAddedTokenMap(token)) {
const addedToken = new tokenizers_1.AddedToken(token["content"], true, {
singleWord: token["single_word"],
leftStrip: token["lstrip"],
rightStrip: token["rstrip"],
normalized: token["normalized"],
});
tokenizer.addAddedTokens([addedToken]);
}
}
const vocabSize = config["vocab_size"] || 30522;
return { tokenizer, vocabSize };
}
static async retrieveModel(model, cacheDir, showDownloadProgress = true) {
if (!fs_1.default.existsSync(cacheDir)) {
fs_1.default.mkdirSync(cacheDir, {
mode: 0o777,
});
}
const modelDir = path_1.default.join(cacheDir.toString(), model.replace("/", "_"));
if (fs_1.default.existsSync(modelDir)) {
return modelDir;
}
fs_1.default.mkdirSync(modelDir, { mode: 0o777 });
// Download required files from hf
const filesToDownload = [
"onnx/model.onnx",
"tokenizer.json",
"tokenizer_config.json",
"config.json",
"special_tokens_map.json",
];
for (const fileName of filesToDownload) {
const outputPath = path_1.default.join(modelDir, fileName);
const outputDir = path_1.default.dirname(outputPath);
if (!fs_1.default.existsSync(outputDir)) {
fs_1.default.mkdirSync(outputDir, { recursive: true, mode: 0o777 });
}
// Use HuggingFace Hub library to download
const downloaded = await (0, hub_1.downloadFileToCacheDir)({
repo: model,
path: fileName,
});
// Copy from HF cache to our cache directory
// In Node.js, downloadFile returns a string path
if (downloaded && typeof downloaded === "string") {
fs_1.default.copyFileSync(downloaded, outputPath);
}
}
return modelDir;
}
async *embed(textStrings, batchSize = 256) {
for (let i = 0; i < textStrings.length; i += batchSize) {
const batchTexts = textStrings.slice(i, i + batchSize);
const encodedTexts = await Promise.all(batchTexts.map((textString) => this.tokenizer.encode(textString)));
const idsArray = [];
const maskArray = [];
const typeIdsArray = [];
encodedTexts.forEach((text) => {
const ids = text.getIds().map(BigInt);
const mask = text.getAttentionMask();
const typeIds = text.getTypeIds().map(BigInt);
idsArray.push(ids);
maskArray.push(mask);
typeIdsArray.push(typeIds);
});
const maxLength = idsArray[0].length;
const batchInputIds = new ort.Tensor("int64", idsArray.flat(), [batchTexts.length, maxLength]);
const batchAttentionMask = new ort.Tensor("int64", maskArray.flat().map(BigInt), [batchTexts.length, maxLength]);
const batchTokenTypeId = new ort.Tensor("int64", typeIdsArray.flat(), [batchTexts.length, maxLength]);
const inputs = {
input_ids: batchInputIds,
input_mask: batchAttentionMask,
segment_ids: batchTokenTypeId,
};
const output = await this.session.run(inputs);
// SPLADE postprocessing: log(1 + ReLU(logits))
// @ts-expect-error this is incorrect it is there?
const logits = output.output.cpuData;
const dims = output.output.dims;
const [currentBatchSize, seqLen, vocabSize] = dims;
const sparseVectors = [];
for (let batchIdx = 0; batchIdx < currentBatchSize; batchIdx++) {
const values = new Float32Array(vocabSize).fill(0);
// Apply log(1 + ReLU(logits)) and max pooling
for (let seqIdx = 0; seqIdx < seqLen; seqIdx++) {
const attentionValue = maskArray[batchIdx][seqIdx];
if (attentionValue > 0) {
for (let vocabIdx = 0; vocabIdx < vocabSize; vocabIdx++) {
const logitIdx = batchIdx * seqLen * vocabSize + seqIdx * vocabSize + vocabIdx;
const logitValue = logits[logitIdx];
// ReLU
const reluValue = Math.max(0, logitValue);
// log(1 + ReLU)
const logValue = Math.log(1 + reluValue);
// Max pooling over sequence
values[vocabIdx] = Math.max(values[vocabIdx], logValue);
}
}
}
// Convert to sparse representation (only non-zero values)
const sparseVector = {
values: [],
indices: []
};
for (let tokenId = 0; tokenId < vocabSize; tokenId++) {
if (values[tokenId] > 0) {
sparseVector.indices.push(tokenId);
sparseVector.values.push(values[tokenId]);
}
}
sparseVectors.push(sparseVector);
}
yield sparseVectors;
}
}
passageEmbed(texts, batchSize = 256) {
// SPLADE doesn't use passage/query prefixes like dense models
return this.embed(texts, batchSize);
}
async queryEmbed(query) {
return (await this.embed([query]).next()).value[0];
}
listSupportedModels() {
return [
{
model: SparseEmbeddingModel.SpladePPEnV1,
vocabSize: 30522,
description: "SPLADE++ English model for sparse retrieval",
},
];
}
}
exports.SparseTextEmbedding = SparseTextEmbedding;
function isAddedTokenMap(token) {

@@ -333,0 +540,0 @@ return (typeof token === "object" &&

@@ -1,1 +0,1 @@

{"version":3,"file":"fastembed.js","sourceRoot":"","sources":["../../src/fastembed.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"fastembed.js","sourceRoot":"","sources":["../../src/fastembed.ts"],"names":[],"mappings":"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"}

@@ -1,2 +0,2 @@

export { EmbeddingModel, ExecutionProvider, FlagEmbedding, } from "./fastembed.js";
export { EmbeddingModel, ExecutionProvider, FlagEmbedding, SparseEmbeddingModel, SparseTextEmbedding, SparseVector } from "./fastembed.js";
//# sourceMappingURL=index.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,gBAAgB,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACb,MAAM,gBAAgB,CAAC"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FlagEmbedding = exports.ExecutionProvider = exports.EmbeddingModel = void 0;
exports.SparseTextEmbedding = exports.SparseEmbeddingModel = exports.FlagEmbedding = exports.ExecutionProvider = exports.EmbeddingModel = void 0;
var fastembed_js_1 = require("./fastembed.js");

@@ -8,2 +8,4 @@ Object.defineProperty(exports, "EmbeddingModel", { enumerable: true, get: function () { return fastembed_js_1.EmbeddingModel; } });

Object.defineProperty(exports, "FlagEmbedding", { enumerable: true, get: function () { return fastembed_js_1.FlagEmbedding; } });
Object.defineProperty(exports, "SparseEmbeddingModel", { enumerable: true, get: function () { return fastembed_js_1.SparseEmbeddingModel; } });
Object.defineProperty(exports, "SparseTextEmbedding", { enumerable: true, get: function () { return fastembed_js_1.SparseTextEmbedding; } });
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,+CAIwB;AAHtB,8GAAA,cAAc,OAAA;AACd,iHAAA,iBAAiB,OAAA;AACjB,6GAAA,aAAa,OAAA"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,+CAOwB;AANtB,8GAAA,cAAc,OAAA;AACd,iHAAA,iBAAiB,OAAA;AACjB,6GAAA,aAAa,OAAA;AACb,oHAAA,oBAAoB,OAAA;AACpB,mHAAA,mBAAmB,OAAA"}

@@ -20,2 +20,10 @@ /// <reference types="node" />

}
export declare enum SparseEmbeddingModel {
SpladePPEnV1 = "prithivida/Splade_PP_en_v1",
CUSTOM = "custom"
}
export type SparseVector = {
values: number[];
indices: number[];
};
export interface InitOptionsBase {

@@ -32,2 +40,7 @@ executionProviders?: ExecutionProvider[];

}
interface SparseModelInfo {
model: SparseEmbeddingModel;
vocabSize: number;
description: string;
}
export interface InitStandardOptions extends InitOptionsBase {

@@ -44,2 +57,13 @@ model: Exclude<EmbeddingModel, EmbeddingModel.CUSTOM>;

export type InitOptions = InitStandardOptions | InitCustomOptions;
export interface InitSparseStandardOptions extends InitOptionsBase {
model: Exclude<SparseEmbeddingModel, SparseEmbeddingModel.CUSTOM>;
modelAbsoluteDirPath?: undefined;
modelName?: string;
}
export interface InitSparseCustomOptions extends InitOptionsBase {
model: SparseEmbeddingModel.CUSTOM;
modelAbsoluteDirPath: fs.PathLike;
modelName: string;
}
export type InitSparseOptions = InitSparseStandardOptions | InitSparseCustomOptions;
declare abstract class Embedding {

@@ -51,2 +75,8 @@ abstract listSupportedModels(): ModelInfo[];

}
declare abstract class SparseEmbedding {
abstract listSupportedModels(): SparseModelInfo[];
abstract embed(texts: string[], batchSize?: number): AsyncGenerator<SparseVector[], void, unknown>;
abstract passageEmbed(texts: string[], batchSize: number): AsyncGenerator<SparseVector[], void, unknown>;
abstract queryEmbed(query: string): Promise<SparseVector>;
}
export declare class FlagEmbedding extends Embedding {

@@ -68,3 +98,18 @@ private tokenizer;

}
export declare class SparseTextEmbedding extends SparseEmbedding {
private tokenizer;
private session;
private model;
private vocabSize;
private constructor();
static init(options: InitSparseStandardOptions): Promise<SparseTextEmbedding>;
static init(options: InitSparseCustomOptions): Promise<SparseTextEmbedding>;
private static loadTokenizer;
private static retrieveModel;
embed(textStrings: string[], batchSize?: number): AsyncGenerator<SparseVector[], void, unknown>;
passageEmbed(texts: string[], batchSize?: number): AsyncGenerator<SparseVector[], void, unknown>;
queryEmbed(query: string): Promise<SparseVector>;
listSupportedModels(): SparseModelInfo[];
}
export {};
//# sourceMappingURL=fastembed.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"fastembed.d.ts","sourceRoot":"","sources":["../../src/fastembed.ts"],"names":[],"mappings":";AACA,OAAO,EAAgB,MAAM,IAAI,CAAC;AAOlC,oBAAY,iBAAiB;IAC3B,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,oBAAY,cAAc;IACxB,aAAa,0BAA0B;IACvC,SAAS,qBAAqB;IAC9B,YAAY,0BAA0B;IACtC,UAAU,sBAAsB;IAChC,aAAa,2BAA2B;IACxC,UAAU,2BAA2B;IACrC,SAAS,+BAA+B;IACxC,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,UAAU,SAAS;IACjB,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAmDD,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACtD,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC;IAC7B,oBAAoB,EAAE,EAAE,CAAC,QAAQ,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAClE,uBAAe,SAAS;IACtB,QAAQ,CAAC,mBAAmB,IAAI,SAAS,EAAE;IAE3C,QAAQ,CAAC,KAAK,CACZ,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC;IAE5C,QAAQ,CAAC,YAAY,CACnB,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,MAAM,GAChB,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC;IAE5C,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CACtD;AAED,qBAAa,aAAc,SAAQ,SAAS;IAExC,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK;IAHf,OAAO;WAOM,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;WAC1D,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAmDrE,OAAO,CAAC,MAAM,CAAC,aAAa;mBA6DP,mBAAmB;mBAqEnB,iBAAiB;mBAgBjB,aAAa;IAwB3B,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,GAAE,MAAY;IAwF3D,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,GAAE,MAAY;IAK/C,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIlD,mBAAmB,IAAI,SAAS,EAAE;CAwCnC"}
{"version":3,"file":"fastembed.d.ts","sourceRoot":"","sources":["../../src/fastembed.ts"],"names":[],"mappings":"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"}

@@ -8,2 +8,3 @@ import { AddedToken, Tokenizer } from "@anush008/tokenizers";

import tar from "tar";
import { downloadFileToCacheDir } from "@huggingface/hub";
export var ExecutionProvider;

@@ -28,2 +29,7 @@ (function (ExecutionProvider) {

})(EmbeddingModel || (EmbeddingModel = {}));
export var SparseEmbeddingModel;
(function (SparseEmbeddingModel) {
SparseEmbeddingModel["SpladePPEnV1"] = "prithivida/Splade_PP_en_v1";
SparseEmbeddingModel["CUSTOM"] = "custom";
})(SparseEmbeddingModel || (SparseEmbeddingModel = {}));
function normalize(v) {

@@ -44,2 +50,4 @@ const norm = Math.sqrt(v.reduce((acc, val) => acc + val * val, 0));

}
class SparseEmbedding {
}
export class FlagEmbedding extends Embedding {

@@ -300,2 +308,200 @@ constructor(tokenizer, session, model) {

}
// Sparse embedding implementation class
export class SparseTextEmbedding extends SparseEmbedding {
constructor(tokenizer, session, model, vocabSize) {
super();
this.tokenizer = tokenizer;
this.session = session;
this.model = model;
this.vocabSize = vocabSize;
}
static async init({ model = SparseEmbeddingModel.SpladePPEnV1, executionProviders = [ExecutionProvider.CPU], maxLength = 512, cacheDir = "local_cache", showDownloadProgress = true, modelAbsoluteDirPath = "", modelName = "", } = {}) {
if (model === SparseEmbeddingModel.CUSTOM) {
if (!modelAbsoluteDirPath) {
throw new Error("For custom model, modelAbsoluteDirPath is required in SparseTextEmbedding.init");
}
if (!modelName) {
throw new Error("For custom model, modelName is required in SparseTextEmbedding.init");
}
}
const modelDir = model === SparseEmbeddingModel.CUSTOM
? modelAbsoluteDirPath
: await SparseTextEmbedding.retrieveModel(model, cacheDir, showDownloadProgress);
const { tokenizer, vocabSize } = this.loadTokenizer(modelDir, maxLength);
const defaultModelName = "model.onnx";
const modelPath = path.join(modelDir.toString(), "onnx", modelName || defaultModelName);
if (!fs.existsSync(modelPath)) {
throw new Error(`Model file not found at ${modelPath}`);
}
const session = await ort.InferenceSession.create(modelPath, {
executionProviders,
graphOptimizationLevel: "all",
});
return new SparseTextEmbedding(tokenizer, session, model, vocabSize);
}
static loadTokenizer(modelDir, maxLength) {
const tokenizerPath = path.join(modelDir.toString(), "tokenizer.json");
if (!fs.existsSync(tokenizerPath)) {
throw new Error(`Tokenizer file not found at ${tokenizerPath}`);
}
const configPath = path.join(modelDir.toString(), "config.json");
if (!fs.existsSync(configPath)) {
throw new Error(`Config file not found at ${configPath}`);
}
const config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
const tokenizerFilePath = path.join(modelDir.toString(), "tokenizer_config.json");
if (!fs.existsSync(tokenizerFilePath)) {
throw new Error(`Tokenizer file not found at ${tokenizerFilePath}`);
}
const tokenizerConfig = JSON.parse(fs.readFileSync(tokenizerFilePath, "utf-8"));
maxLength = Math.min(maxLength, tokenizerConfig["model_max_length"]);
const tokensMapPath = path.join(modelDir.toString(), "special_tokens_map.json");
if (!fs.existsSync(tokensMapPath)) {
throw new Error(`Tokens map file not found at ${tokensMapPath}`);
}
const tokensMap = JSON.parse(fs.readFileSync(tokensMapPath, "utf-8"));
const tokenizer = Tokenizer.fromFile(tokenizerPath);
tokenizer.setTruncation(maxLength);
tokenizer.setPadding({
maxLength,
padId: config["pad_token_id"],
padToken: tokenizerConfig["pad_token"],
});
for (let token of Object.values(tokensMap)) {
if (typeof token === "string") {
tokenizer.addSpecialTokens([token]);
}
else if (isAddedTokenMap(token)) {
const addedToken = new AddedToken(token["content"], true, {
singleWord: token["single_word"],
leftStrip: token["lstrip"],
rightStrip: token["rstrip"],
normalized: token["normalized"],
});
tokenizer.addAddedTokens([addedToken]);
}
}
const vocabSize = config["vocab_size"] || 30522;
return { tokenizer, vocabSize };
}
static async retrieveModel(model, cacheDir, showDownloadProgress = true) {
if (!fs.existsSync(cacheDir)) {
fs.mkdirSync(cacheDir, {
mode: 0o777,
});
}
const modelDir = path.join(cacheDir.toString(), model.replace("/", "_"));
if (fs.existsSync(modelDir)) {
return modelDir;
}
fs.mkdirSync(modelDir, { mode: 0o777 });
// Download required files from hf
const filesToDownload = [
"onnx/model.onnx",
"tokenizer.json",
"tokenizer_config.json",
"config.json",
"special_tokens_map.json",
];
for (const fileName of filesToDownload) {
const outputPath = path.join(modelDir, fileName);
const outputDir = path.dirname(outputPath);
if (!fs.existsSync(outputDir)) {
fs.mkdirSync(outputDir, { recursive: true, mode: 0o777 });
}
// Use HuggingFace Hub library to download
const downloaded = await downloadFileToCacheDir({
repo: model,
path: fileName,
});
// Copy from HF cache to our cache directory
// In Node.js, downloadFile returns a string path
if (downloaded && typeof downloaded === "string") {
fs.copyFileSync(downloaded, outputPath);
}
}
return modelDir;
}
async *embed(textStrings, batchSize = 256) {
for (let i = 0; i < textStrings.length; i += batchSize) {
const batchTexts = textStrings.slice(i, i + batchSize);
const encodedTexts = await Promise.all(batchTexts.map((textString) => this.tokenizer.encode(textString)));
const idsArray = [];
const maskArray = [];
const typeIdsArray = [];
encodedTexts.forEach((text) => {
const ids = text.getIds().map(BigInt);
const mask = text.getAttentionMask();
const typeIds = text.getTypeIds().map(BigInt);
idsArray.push(ids);
maskArray.push(mask);
typeIdsArray.push(typeIds);
});
const maxLength = idsArray[0].length;
const batchInputIds = new ort.Tensor("int64", idsArray.flat(), [batchTexts.length, maxLength]);
const batchAttentionMask = new ort.Tensor("int64", maskArray.flat().map(BigInt), [batchTexts.length, maxLength]);
const batchTokenTypeId = new ort.Tensor("int64", typeIdsArray.flat(), [batchTexts.length, maxLength]);
const inputs = {
input_ids: batchInputIds,
input_mask: batchAttentionMask,
segment_ids: batchTokenTypeId,
};
const output = await this.session.run(inputs);
// SPLADE postprocessing: log(1 + ReLU(logits))
// @ts-expect-error this is incorrect it is there?
const logits = output.output.cpuData;
const dims = output.output.dims;
const [currentBatchSize, seqLen, vocabSize] = dims;
const sparseVectors = [];
for (let batchIdx = 0; batchIdx < currentBatchSize; batchIdx++) {
const values = new Float32Array(vocabSize).fill(0);
// Apply log(1 + ReLU(logits)) and max pooling
for (let seqIdx = 0; seqIdx < seqLen; seqIdx++) {
const attentionValue = maskArray[batchIdx][seqIdx];
if (attentionValue > 0) {
for (let vocabIdx = 0; vocabIdx < vocabSize; vocabIdx++) {
const logitIdx = batchIdx * seqLen * vocabSize + seqIdx * vocabSize + vocabIdx;
const logitValue = logits[logitIdx];
// ReLU
const reluValue = Math.max(0, logitValue);
// log(1 + ReLU)
const logValue = Math.log(1 + reluValue);
// Max pooling over sequence
values[vocabIdx] = Math.max(values[vocabIdx], logValue);
}
}
}
// Convert to sparse representation (only non-zero values)
const sparseVector = {
values: [],
indices: []
};
for (let tokenId = 0; tokenId < vocabSize; tokenId++) {
if (values[tokenId] > 0) {
sparseVector.indices.push(tokenId);
sparseVector.values.push(values[tokenId]);
}
}
sparseVectors.push(sparseVector);
}
yield sparseVectors;
}
}
passageEmbed(texts, batchSize = 256) {
// SPLADE doesn't use passage/query prefixes like dense models
return this.embed(texts, batchSize);
}
async queryEmbed(query) {
return (await this.embed([query]).next()).value[0];
}
listSupportedModels() {
return [
{
model: SparseEmbeddingModel.SpladePPEnV1,
vocabSize: 30522,
description: "SPLADE++ English model for sparse retrieval",
},
];
}
}
function isAddedTokenMap(token) {

@@ -302,0 +508,0 @@ return (typeof token === "object" &&

@@ -1,1 +0,1 @@

{"version":3,"file":"fastembed.js","sourceRoot":"","sources":["../../src/fastembed.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"fastembed.js","sourceRoot":"","sources":["../../src/fastembed.ts"],"names":[],"mappings":"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"}

@@ -1,2 +0,2 @@

export { EmbeddingModel, ExecutionProvider, FlagEmbedding, } from "./fastembed.js";
export { EmbeddingModel, ExecutionProvider, FlagEmbedding, SparseEmbeddingModel, SparseTextEmbedding, SparseVector } from "./fastembed.js";
//# sourceMappingURL=index.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,gBAAgB,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACb,MAAM,gBAAgB,CAAC"}

@@ -1,2 +0,2 @@

export { EmbeddingModel, ExecutionProvider, FlagEmbedding, } from "./fastembed.js";
export { EmbeddingModel, ExecutionProvider, FlagEmbedding, SparseEmbeddingModel, SparseTextEmbedding } from "./fastembed.js";
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,gBAAgB,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC"}
{
"name": "fastembed",
"version": "2.0.0",
"version": "2.1.0",
"description": "NodeJS implementation of @Qdrant/fastembed",

@@ -42,2 +42,3 @@ "keywords": [

"@anush008/tokenizers": "^0.0.0",
"@huggingface/hub": "^2.7.1",
"onnxruntime-node": "1.21.0",

@@ -44,0 +45,0 @@ "progress": "^2.0.3",