🎩 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
1.14.2
to
1.14.3
+135
-168
lib/cjs/fastembed.js

@@ -25,23 +25,2 @@ "use strict";

};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var g = generator.apply(thisArg, _arguments || []), i, q = [];
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
function fulfill(value) { resume("next", value); }
function reject(value) { resume("throw", value); }
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
};
var __importDefault = (this && this.__importDefault) || function (mod) {

@@ -122,19 +101,17 @@ return (mod && mod.__esModule) ? mod : { "default": mod };

}
static init({ model = EmbeddingModel.BGESmallENV15, executionProviders = [ExecutionProvider.CPU], maxLength = 512, cacheDir = "local_cache", showDownloadProgress = true, } = {}) {
return __awaiter(this, void 0, void 0, function* () {
const modelDir = yield FlagEmbedding.retrieveModel(model, cacheDir, showDownloadProgress);
const tokenizer = this.loadTokenizer(modelDir, maxLength);
const modelPath = path_1.default.join(modelDir.toString(), model === EmbeddingModel.MLE5Large ||
model === EmbeddingModel.AllMiniLML6V2
? "model.onnx"
: "model_optimized.onnx");
if (!fs_1.default.existsSync(modelPath)) {
throw new Error(`Model file not found at ${modelPath}`);
}
const session = yield ort.InferenceSession.create(modelPath, {
executionProviders,
graphOptimizationLevel: "all",
});
return new FlagEmbedding(tokenizer, session, model);
static async init({ model = EmbeddingModel.BGESmallENV15, executionProviders = [ExecutionProvider.CPU], maxLength = 512, cacheDir = "local_cache", showDownloadProgress = true, } = {}) {
const modelDir = await FlagEmbedding.retrieveModel(model, cacheDir, showDownloadProgress);
const tokenizer = this.loadTokenizer(modelDir, maxLength);
const modelPath = path_1.default.join(modelDir.toString(), model === EmbeddingModel.MLE5Large ||
model === EmbeddingModel.AllMiniLML6V2
? "model.onnx"
: "model_optimized.onnx");
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 FlagEmbedding(tokenizer, session, model);
}

@@ -185,139 +162,131 @@ static loadTokenizer(modelDir, maxLength) {

}
static downloadFileFromGCS(outputFilePath, model, showDownloadProgress = true) {
return __awaiter(this, void 0, void 0, function* () {
if (fs_1.default.existsSync(outputFilePath)) {
return outputFilePath;
}
// The AllMiniLML6V2 model URL doesn't follow the same naming convention as the other models
// So, we transform "fast-all-MiniLM-L6-v2" -> "sentence-transformers-all-MiniLM-L6-v2" in the download URL
// The model directory name in the GCS storage remains "fast-all-MiniLM-L6-v2"
if (model === EmbeddingModel.AllMiniLML6V2) {
model = "sentence-transformers" + model.substring(model.indexOf("-"));
}
const url = `https://storage.googleapis.com/qdrant-fastembed/${model}.tar.gz`;
const fileStream = fs_1.default.createWriteStream(outputFilePath);
return new Promise((resolve, reject) => {
https_1.default
.get(url, { headers: { "User-Agent": "Mozilla/5.0" } }, (response) => {
const totalSizeInBytes = parseInt(response.headers["content-length"] || "0", 10);
if (totalSizeInBytes === 0) {
console.warn(`Warning: Content-length header is missing or zero in the response from ${url}.`);
}
if (showDownloadProgress) {
const progressBar = new progress_1.default(`Downloading ${model} [:bar] :percent :etas`, {
complete: "=",
width: 20,
total: totalSizeInBytes,
});
response.on("data", (chunk) => {
progressBar.tick(chunk.length, { speed: "N/A" });
});
}
response.on("error", (error) => {
reject(error);
static async downloadFileFromGCS(outputFilePath, model, showDownloadProgress = true) {
if (fs_1.default.existsSync(outputFilePath)) {
return outputFilePath;
}
// The AllMiniLML6V2 model URL doesn't follow the same naming convention as the other models
// So, we transform "fast-all-MiniLM-L6-v2" -> "sentence-transformers-all-MiniLM-L6-v2" in the download URL
// The model directory name in the GCS storage remains "fast-all-MiniLM-L6-v2"
if (model === EmbeddingModel.AllMiniLML6V2) {
model = "sentence-transformers" + model.substring(model.indexOf("-"));
}
const url = `https://storage.googleapis.com/qdrant-fastembed/${model}.tar.gz`;
const fileStream = fs_1.default.createWriteStream(outputFilePath);
return new Promise((resolve, reject) => {
https_1.default
.get(url, { headers: { "User-Agent": "Mozilla/5.0" } }, (response) => {
const totalSizeInBytes = parseInt(response.headers["content-length"] || "0", 10);
if (totalSizeInBytes === 0) {
console.warn(`Warning: Content-length header is missing or zero in the response from ${url}.`);
}
if (showDownloadProgress) {
const progressBar = new progress_1.default(`Downloading ${model} [:bar] :percent :etas`, {
complete: "=",
width: 20,
total: totalSizeInBytes,
});
response.pipe(fileStream);
fileStream.on("finish", () => {
fileStream.close();
resolve(outputFilePath);
response.on("data", (chunk) => {
progressBar.tick(chunk.length, { speed: "N/A" });
});
fileStream.on("error", (error) => {
reject(error);
});
})
.on("error", (error) => {
fs_1.default.unlink(outputFilePath, () => {
reject(error);
});
}
response.on("error", (error) => {
reject(error);
});
response.pipe(fileStream);
fileStream.on("finish", () => {
fileStream.close();
resolve(outputFilePath);
});
fileStream.on("error", (error) => {
reject(error);
});
})
.on("error", (error) => {
fs_1.default.unlink(outputFilePath, () => {
reject(error);
});
});
});
}
static decompressToCache(targzPath, cacheDir) {
return __awaiter(this, void 0, void 0, function* () {
// Implementation for decompressing a .tar.gz file to a cache directory
if (path_1.default.extname(targzPath.toString()) === ".gz") {
yield tar_1.default.x({
file: targzPath,
// @ts-ignore
cwd: cacheDir,
});
}
else {
throw new Error(`Unsupported file extension: ${targzPath}`);
}
});
static async decompressToCache(targzPath, cacheDir) {
// Implementation for decompressing a .tar.gz file to a cache directory
if (path_1.default.extname(targzPath.toString()) === ".gz") {
await tar_1.default.x({
file: targzPath,
// @ts-ignore
cwd: cacheDir,
});
}
else {
throw new Error(`Unsupported file extension: ${targzPath}`);
}
}
static retrieveModel(model, cacheDir, showDownloadProgress = true) {
return __awaiter(this, void 0, void 0, function* () {
if (!fs_1.default.existsSync(cacheDir)) {
fs_1.default.mkdirSync(cacheDir, {
mode: 0o777,
});
}
const modelDir = path_1.default.join(cacheDir.toString(), model);
if (fs_1.default.existsSync(modelDir)) {
return modelDir;
}
const modelTarGz = path_1.default.join(cacheDir.toString(), `${model}.tar.gz`);
yield this.downloadFileFromGCS(modelTarGz, model, showDownloadProgress);
yield this.decompressToCache(modelTarGz, cacheDir);
fs_1.default.unlinkSync(modelTarGz);
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);
if (fs_1.default.existsSync(modelDir)) {
return modelDir;
});
}
const modelTarGz = path_1.default.join(cacheDir.toString(), `${model}.tar.gz`);
await this.downloadFileFromGCS(modelTarGz, model, showDownloadProgress);
await this.decompressToCache(modelTarGz, cacheDir);
fs_1.default.unlinkSync(modelTarGz);
return modelDir;
}
embed(textStrings, batchSize = 256) {
return __asyncGenerator(this, arguments, function* embed_1() {
for (let i = 0; i < textStrings.length; i += batchSize) {
const batchTexts = textStrings.slice(i, i + batchSize);
const encodedTexts = yield __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().map(BigInt);
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(), [batchTexts.length, maxLength]);
const batchTokenTypeId = new ort.Tensor("int64", typeIdsArray.flat(), [batchTexts.length, maxLength]);
const inputs = {
input_ids: batchInputIds,
attention_mask: batchAttentionMask,
token_type_ids: batchTokenTypeId,
};
// Exclude token_type_ids for MLE5Large
if (this.model === EmbeddingModel.MLE5Large) {
delete inputs.token_type_ids;
}
const output = yield __await(this.session.run(inputs));
// Remove attention pooling
// Ref: https://github.com/qdrant/fastembed/commit/a335c8898f11042fdb311fce2dab3acf50c23011
// const lastHiddenState: number[][][] = create3DArray(
// output.last_hidden_state.data as unknown[] as number[],
// output.last_hidden_state.dims as number[]
// );
// const embeddings = lastHiddenState.map((layer, layerIdx) => {
// const weightedSum = layer.reduce((acc, tokenEmbedding, idx) => {
// const attentionWeight = maskArray[layerIdx][idx];
// return acc.map(
// (val, i) => val + tokenEmbedding[i] * Number(attentionWeight)
// );
// }, new Array(layer[0].length).fill(0));
// const inputMaskSum = maskArray[layerIdx].reduce(
// (acc, attentionWeight) => acc + Number(attentionWeight),
// 0
// );
// return weightedSum.map((val) => val / Math.max(inputMaskSum, 1e-9));
// });
// const embeddings = lastHiddenState.map((sentence) => sentence[0]);
const embeddings = getEmbeddings(output.last_hidden_state.data, output.last_hidden_state.dims);
yield yield __await(embeddings.map(normalize));
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().map(BigInt);
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(), [batchTexts.length, maxLength]);
const batchTokenTypeId = new ort.Tensor("int64", typeIdsArray.flat(), [batchTexts.length, maxLength]);
const inputs = {
input_ids: batchInputIds,
attention_mask: batchAttentionMask,
token_type_ids: batchTokenTypeId,
};
// Exclude token_type_ids for MLE5Large
if (this.model === EmbeddingModel.MLE5Large) {
delete inputs.token_type_ids;
}
});
const output = await this.session.run(inputs);
// Remove attention pooling
// Ref: https://github.com/qdrant/fastembed/commit/a335c8898f11042fdb311fce2dab3acf50c23011
// const lastHiddenState: number[][][] = create3DArray(
// output.last_hidden_state.data as unknown[] as number[],
// output.last_hidden_state.dims as number[]
// );
// const embeddings = lastHiddenState.map((layer, layerIdx) => {
// const weightedSum = layer.reduce((acc, tokenEmbedding, idx) => {
// const attentionWeight = maskArray[layerIdx][idx];
// return acc.map(
// (val, i) => val + tokenEmbedding[i] * Number(attentionWeight)
// );
// }, new Array(layer[0].length).fill(0));
// const inputMaskSum = maskArray[layerIdx].reduce(
// (acc, attentionWeight) => acc + Number(attentionWeight),
// 0
// );
// return weightedSum.map((val) => val / Math.max(inputMaskSum, 1e-9));
// });
// const embeddings = lastHiddenState.map((sentence) => sentence[0]);
const embeddings = getEmbeddings(output.last_hidden_state.data, output.last_hidden_state.dims);
yield embeddings.map(normalize);
}
}

@@ -328,6 +297,4 @@ passageEmbed(texts, batchSize = 256) {

}
queryEmbed(query) {
return __awaiter(this, void 0, void 0, function* () {
return (yield this.embed([`query: ${query}`]).next()).value[0];
});
async queryEmbed(query) {
return (await this.embed([`query: ${query}`]).next()).value[0];
}

@@ -334,0 +301,0 @@ listSupportedModels() {

@@ -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,3 +0,2 @@

import { EmbeddingModel, ExecutionProvider, FlagEmbedding } from "./fastembed";
export { EmbeddingModel, ExecutionProvider, FlagEmbedding };
export { EmbeddingModel, ExecutionProvider, FlagEmbedding, } 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,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC"}
{"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"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FlagEmbedding = exports.ExecutionProvider = exports.EmbeddingModel = void 0;
const fastembed_1 = require("./fastembed");
Object.defineProperty(exports, "EmbeddingModel", { enumerable: true, get: function () { return fastembed_1.EmbeddingModel; } });
Object.defineProperty(exports, "ExecutionProvider", { enumerable: true, get: function () { return fastembed_1.ExecutionProvider; } });
Object.defineProperty(exports, "FlagEmbedding", { enumerable: true, get: function () { return fastembed_1.FlagEmbedding; } });
var fastembed_js_1 = require("./fastembed.js");
Object.defineProperty(exports, "EmbeddingModel", { enumerable: true, get: function () { return fastembed_js_1.EmbeddingModel; } });
Object.defineProperty(exports, "ExecutionProvider", { enumerable: true, get: function () { return fastembed_js_1.ExecutionProvider; } });
Object.defineProperty(exports, "FlagEmbedding", { enumerable: true, get: function () { return fastembed_js_1.FlagEmbedding; } });
//# sourceMappingURL=index.js.map

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

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAA+E;AACtE,+FADA,0BAAc,OACA;AAAE,kGADA,6BAAiB,OACA;AAAE,8FADA,yBAAa,OACA"}
{"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"}

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

var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var g = generator.apply(thisArg, _arguments || []), i, q = [];
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
function fulfill(value) { resume("next", value); }
function reject(value) { resume("throw", value); }
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
};
import fs from "fs";

@@ -92,19 +71,17 @@ import https from "https";

}
static init({ model = EmbeddingModel.BGESmallENV15, executionProviders = [ExecutionProvider.CPU], maxLength = 512, cacheDir = "local_cache", showDownloadProgress = true, } = {}) {
return __awaiter(this, void 0, void 0, function* () {
const modelDir = yield FlagEmbedding.retrieveModel(model, cacheDir, showDownloadProgress);
const tokenizer = this.loadTokenizer(modelDir, maxLength);
const modelPath = path.join(modelDir.toString(), model === EmbeddingModel.MLE5Large ||
model === EmbeddingModel.AllMiniLML6V2
? "model.onnx"
: "model_optimized.onnx");
if (!fs.existsSync(modelPath)) {
throw new Error(`Model file not found at ${modelPath}`);
}
const session = yield ort.InferenceSession.create(modelPath, {
executionProviders,
graphOptimizationLevel: "all",
});
return new FlagEmbedding(tokenizer, session, model);
static async init({ model = EmbeddingModel.BGESmallENV15, executionProviders = [ExecutionProvider.CPU], maxLength = 512, cacheDir = "local_cache", showDownloadProgress = true, } = {}) {
const modelDir = await FlagEmbedding.retrieveModel(model, cacheDir, showDownloadProgress);
const tokenizer = this.loadTokenizer(modelDir, maxLength);
const modelPath = path.join(modelDir.toString(), model === EmbeddingModel.MLE5Large ||
model === EmbeddingModel.AllMiniLML6V2
? "model.onnx"
: "model_optimized.onnx");
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 FlagEmbedding(tokenizer, session, model);
}

@@ -155,139 +132,131 @@ static loadTokenizer(modelDir, maxLength) {

}
static downloadFileFromGCS(outputFilePath, model, showDownloadProgress = true) {
return __awaiter(this, void 0, void 0, function* () {
if (fs.existsSync(outputFilePath)) {
return outputFilePath;
}
// The AllMiniLML6V2 model URL doesn't follow the same naming convention as the other models
// So, we transform "fast-all-MiniLM-L6-v2" -> "sentence-transformers-all-MiniLM-L6-v2" in the download URL
// The model directory name in the GCS storage remains "fast-all-MiniLM-L6-v2"
if (model === EmbeddingModel.AllMiniLML6V2) {
model = "sentence-transformers" + model.substring(model.indexOf("-"));
}
const url = `https://storage.googleapis.com/qdrant-fastembed/${model}.tar.gz`;
const fileStream = fs.createWriteStream(outputFilePath);
return new Promise((resolve, reject) => {
https
.get(url, { headers: { "User-Agent": "Mozilla/5.0" } }, (response) => {
const totalSizeInBytes = parseInt(response.headers["content-length"] || "0", 10);
if (totalSizeInBytes === 0) {
console.warn(`Warning: Content-length header is missing or zero in the response from ${url}.`);
}
if (showDownloadProgress) {
const progressBar = new Progress(`Downloading ${model} [:bar] :percent :etas`, {
complete: "=",
width: 20,
total: totalSizeInBytes,
});
response.on("data", (chunk) => {
progressBar.tick(chunk.length, { speed: "N/A" });
});
}
response.on("error", (error) => {
reject(error);
static async downloadFileFromGCS(outputFilePath, model, showDownloadProgress = true) {
if (fs.existsSync(outputFilePath)) {
return outputFilePath;
}
// The AllMiniLML6V2 model URL doesn't follow the same naming convention as the other models
// So, we transform "fast-all-MiniLM-L6-v2" -> "sentence-transformers-all-MiniLM-L6-v2" in the download URL
// The model directory name in the GCS storage remains "fast-all-MiniLM-L6-v2"
if (model === EmbeddingModel.AllMiniLML6V2) {
model = "sentence-transformers" + model.substring(model.indexOf("-"));
}
const url = `https://storage.googleapis.com/qdrant-fastembed/${model}.tar.gz`;
const fileStream = fs.createWriteStream(outputFilePath);
return new Promise((resolve, reject) => {
https
.get(url, { headers: { "User-Agent": "Mozilla/5.0" } }, (response) => {
const totalSizeInBytes = parseInt(response.headers["content-length"] || "0", 10);
if (totalSizeInBytes === 0) {
console.warn(`Warning: Content-length header is missing or zero in the response from ${url}.`);
}
if (showDownloadProgress) {
const progressBar = new Progress(`Downloading ${model} [:bar] :percent :etas`, {
complete: "=",
width: 20,
total: totalSizeInBytes,
});
response.pipe(fileStream);
fileStream.on("finish", () => {
fileStream.close();
resolve(outputFilePath);
response.on("data", (chunk) => {
progressBar.tick(chunk.length, { speed: "N/A" });
});
fileStream.on("error", (error) => {
reject(error);
});
})
.on("error", (error) => {
fs.unlink(outputFilePath, () => {
reject(error);
});
}
response.on("error", (error) => {
reject(error);
});
response.pipe(fileStream);
fileStream.on("finish", () => {
fileStream.close();
resolve(outputFilePath);
});
fileStream.on("error", (error) => {
reject(error);
});
})
.on("error", (error) => {
fs.unlink(outputFilePath, () => {
reject(error);
});
});
});
}
static decompressToCache(targzPath, cacheDir) {
return __awaiter(this, void 0, void 0, function* () {
// Implementation for decompressing a .tar.gz file to a cache directory
if (path.extname(targzPath.toString()) === ".gz") {
yield tar.x({
file: targzPath,
// @ts-ignore
cwd: cacheDir,
});
}
else {
throw new Error(`Unsupported file extension: ${targzPath}`);
}
});
static async decompressToCache(targzPath, cacheDir) {
// Implementation for decompressing a .tar.gz file to a cache directory
if (path.extname(targzPath.toString()) === ".gz") {
await tar.x({
file: targzPath,
// @ts-ignore
cwd: cacheDir,
});
}
else {
throw new Error(`Unsupported file extension: ${targzPath}`);
}
}
static retrieveModel(model, cacheDir, showDownloadProgress = true) {
return __awaiter(this, void 0, void 0, function* () {
if (!fs.existsSync(cacheDir)) {
fs.mkdirSync(cacheDir, {
mode: 0o777,
});
}
const modelDir = path.join(cacheDir.toString(), model);
if (fs.existsSync(modelDir)) {
return modelDir;
}
const modelTarGz = path.join(cacheDir.toString(), `${model}.tar.gz`);
yield this.downloadFileFromGCS(modelTarGz, model, showDownloadProgress);
yield this.decompressToCache(modelTarGz, cacheDir);
fs.unlinkSync(modelTarGz);
static async retrieveModel(model, cacheDir, showDownloadProgress = true) {
if (!fs.existsSync(cacheDir)) {
fs.mkdirSync(cacheDir, {
mode: 0o777,
});
}
const modelDir = path.join(cacheDir.toString(), model);
if (fs.existsSync(modelDir)) {
return modelDir;
});
}
const modelTarGz = path.join(cacheDir.toString(), `${model}.tar.gz`);
await this.downloadFileFromGCS(modelTarGz, model, showDownloadProgress);
await this.decompressToCache(modelTarGz, cacheDir);
fs.unlinkSync(modelTarGz);
return modelDir;
}
embed(textStrings, batchSize = 256) {
return __asyncGenerator(this, arguments, function* embed_1() {
for (let i = 0; i < textStrings.length; i += batchSize) {
const batchTexts = textStrings.slice(i, i + batchSize);
const encodedTexts = yield __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().map(BigInt);
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(), [batchTexts.length, maxLength]);
const batchTokenTypeId = new ort.Tensor("int64", typeIdsArray.flat(), [batchTexts.length, maxLength]);
const inputs = {
input_ids: batchInputIds,
attention_mask: batchAttentionMask,
token_type_ids: batchTokenTypeId,
};
// Exclude token_type_ids for MLE5Large
if (this.model === EmbeddingModel.MLE5Large) {
delete inputs.token_type_ids;
}
const output = yield __await(this.session.run(inputs));
// Remove attention pooling
// Ref: https://github.com/qdrant/fastembed/commit/a335c8898f11042fdb311fce2dab3acf50c23011
// const lastHiddenState: number[][][] = create3DArray(
// output.last_hidden_state.data as unknown[] as number[],
// output.last_hidden_state.dims as number[]
// );
// const embeddings = lastHiddenState.map((layer, layerIdx) => {
// const weightedSum = layer.reduce((acc, tokenEmbedding, idx) => {
// const attentionWeight = maskArray[layerIdx][idx];
// return acc.map(
// (val, i) => val + tokenEmbedding[i] * Number(attentionWeight)
// );
// }, new Array(layer[0].length).fill(0));
// const inputMaskSum = maskArray[layerIdx].reduce(
// (acc, attentionWeight) => acc + Number(attentionWeight),
// 0
// );
// return weightedSum.map((val) => val / Math.max(inputMaskSum, 1e-9));
// });
// const embeddings = lastHiddenState.map((sentence) => sentence[0]);
const embeddings = getEmbeddings(output.last_hidden_state.data, output.last_hidden_state.dims);
yield yield __await(embeddings.map(normalize));
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().map(BigInt);
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(), [batchTexts.length, maxLength]);
const batchTokenTypeId = new ort.Tensor("int64", typeIdsArray.flat(), [batchTexts.length, maxLength]);
const inputs = {
input_ids: batchInputIds,
attention_mask: batchAttentionMask,
token_type_ids: batchTokenTypeId,
};
// Exclude token_type_ids for MLE5Large
if (this.model === EmbeddingModel.MLE5Large) {
delete inputs.token_type_ids;
}
});
const output = await this.session.run(inputs);
// Remove attention pooling
// Ref: https://github.com/qdrant/fastembed/commit/a335c8898f11042fdb311fce2dab3acf50c23011
// const lastHiddenState: number[][][] = create3DArray(
// output.last_hidden_state.data as unknown[] as number[],
// output.last_hidden_state.dims as number[]
// );
// const embeddings = lastHiddenState.map((layer, layerIdx) => {
// const weightedSum = layer.reduce((acc, tokenEmbedding, idx) => {
// const attentionWeight = maskArray[layerIdx][idx];
// return acc.map(
// (val, i) => val + tokenEmbedding[i] * Number(attentionWeight)
// );
// }, new Array(layer[0].length).fill(0));
// const inputMaskSum = maskArray[layerIdx].reduce(
// (acc, attentionWeight) => acc + Number(attentionWeight),
// 0
// );
// return weightedSum.map((val) => val / Math.max(inputMaskSum, 1e-9));
// });
// const embeddings = lastHiddenState.map((sentence) => sentence[0]);
const embeddings = getEmbeddings(output.last_hidden_state.data, output.last_hidden_state.dims);
yield embeddings.map(normalize);
}
}

@@ -298,6 +267,4 @@ passageEmbed(texts, batchSize = 256) {

}
queryEmbed(query) {
return __awaiter(this, void 0, void 0, function* () {
return (yield this.embed([`query: ${query}`]).next()).value[0];
});
async queryEmbed(query) {
return (await this.embed([`query: ${query}`]).next()).value[0];
}

@@ -304,0 +271,0 @@ listSupportedModels() {

@@ -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,3 +0,2 @@

import { EmbeddingModel, ExecutionProvider, FlagEmbedding } from "./fastembed";
export { EmbeddingModel, ExecutionProvider, FlagEmbedding };
export { EmbeddingModel, ExecutionProvider, FlagEmbedding, } 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,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC"}
{"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"}

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

import { EmbeddingModel, ExecutionProvider, FlagEmbedding } from "./fastembed";
export { EmbeddingModel, ExecutionProvider, FlagEmbedding };
export { EmbeddingModel, ExecutionProvider, FlagEmbedding, } 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,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,gBAAgB,CAAC"}
{
"name": "fastembed",
"version": "1.14.2",
"version": "1.14.3",
"description": "NodeJS implementation of @Qdrant/fastembed",

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

],
"sideEffects": false,
"scripts": {

@@ -35,0 +36,0 @@ "prepublishOnly": "npm run tsc",