@mastra/fastembed 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE-fastembed +21 -0
  3. package/README.md +26 -17
  4. package/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +466 -1768
  5. package/dist/fastembed.d.ts +115 -0
  6. package/dist/fastembed.d.ts.map +1 -0
  7. package/dist/index.cjs +1801 -691
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.d.ts +3 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1790 -690
  12. package/dist/index.js.map +1 -1
  13. package/package.json +22 -15
  14. package/LICENSE.md +0 -30
  15. package/dist/chunk-23EXJLET.cjs +0 -84
  16. package/dist/chunk-23EXJLET.cjs.map +0 -1
  17. package/dist/chunk-BSDWQEU3.js +0 -79
  18. package/dist/chunk-BSDWQEU3.js.map +0 -1
  19. package/dist/chunk-DGUM43GV.js +0 -10
  20. package/dist/chunk-DGUM43GV.js.map +0 -1
  21. package/dist/chunk-EQ4M72KU.js +0 -439
  22. package/dist/chunk-EQ4M72KU.js.map +0 -1
  23. package/dist/chunk-HJYHDIOC.js +0 -250
  24. package/dist/chunk-HJYHDIOC.js.map +0 -1
  25. package/dist/chunk-IDRQZVB4.cjs +0 -84
  26. package/dist/chunk-IDRQZVB4.cjs.map +0 -1
  27. package/dist/chunk-JEQ2X3Z6.cjs +0 -12
  28. package/dist/chunk-JEQ2X3Z6.cjs.map +0 -1
  29. package/dist/chunk-LIBOSOHM.cjs +0 -252
  30. package/dist/chunk-LIBOSOHM.cjs.map +0 -1
  31. package/dist/chunk-RC6RZVYE.js +0 -79
  32. package/dist/chunk-RC6RZVYE.js.map +0 -1
  33. package/dist/chunk-ZD3BKU5O.cjs +0 -441
  34. package/dist/chunk-ZD3BKU5O.cjs.map +0 -1
  35. package/dist/token-6GSAFR2W-ABXTQD64.js +0 -61
  36. package/dist/token-6GSAFR2W-ABXTQD64.js.map +0 -1
  37. package/dist/token-6GSAFR2W-TW2P7HCS.cjs +0 -63
  38. package/dist/token-6GSAFR2W-TW2P7HCS.cjs.map +0 -1
  39. package/dist/token-APYSY3BW-2DN6RAUY.js +0 -61
  40. package/dist/token-APYSY3BW-2DN6RAUY.js.map +0 -1
  41. package/dist/token-APYSY3BW-ZQ7TMBY7.cjs +0 -63
  42. package/dist/token-APYSY3BW-ZQ7TMBY7.cjs.map +0 -1
  43. package/dist/token-util-NEHG7TUY-GYFEVMWP.cjs +0 -10
  44. package/dist/token-util-NEHG7TUY-GYFEVMWP.cjs.map +0 -1
  45. package/dist/token-util-NEHG7TUY-XQP3QSPX.js +0 -8
  46. package/dist/token-util-NEHG7TUY-XQP3QSPX.js.map +0 -1
  47. package/dist/token-util-RMHT2CPJ-6TGPE335.cjs +0 -10
  48. package/dist/token-util-RMHT2CPJ-6TGPE335.cjs.map +0 -1
  49. package/dist/token-util-RMHT2CPJ-RJEA3FAN.js +0 -8
  50. package/dist/token-util-RMHT2CPJ-RJEA3FAN.js.map +0 -1
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Forked from fastembed-js (https://github.com/Anush008/fastembed-js)
3
+ * Original author: Anush008 <anushshetty90@gmail.com>
4
+ * License: MIT (see LICENSE-fastembed in this package)
5
+ *
6
+ * The upstream project has been archived / abandoned. This fork is maintained
7
+ * as part of the Mastra monorepo so that @mastra/fastembed no longer depends
8
+ * on the unmaintained npm `fastembed` package.
9
+ */
10
+ import type { PathLike } from 'node:fs';
11
+ export declare enum ExecutionProvider {
12
+ CPU = "cpu",
13
+ CUDA = "cuda",
14
+ WebGL = "webgl",
15
+ WASM = "wasm",
16
+ XNNPACK = "xnnpack"
17
+ }
18
+ export declare enum EmbeddingModel {
19
+ AllMiniLML6V2 = "fast-all-MiniLM-L6-v2",
20
+ BGEBaseEN = "fast-bge-base-en",
21
+ BGEBaseENV15 = "fast-bge-base-en-v1.5",
22
+ BGESmallEN = "fast-bge-small-en",
23
+ BGESmallENV15 = "fast-bge-small-en-v1.5",
24
+ BGESmallZH = "fast-bge-small-zh-v1.5",
25
+ MLE5Large = "fast-multilingual-e5-large",
26
+ CUSTOM = "custom"
27
+ }
28
+ export declare enum SparseEmbeddingModel {
29
+ SpladePPEnV1 = "prithivida/Splade_PP_en_v1",
30
+ CUSTOM = "custom"
31
+ }
32
+ export type SparseVector = {
33
+ values: number[];
34
+ indices: number[];
35
+ };
36
+ export interface InitOptionsBase {
37
+ executionProviders?: ExecutionProvider[];
38
+ maxLength?: number;
39
+ cacheDir?: string;
40
+ showDownloadProgress?: boolean;
41
+ }
42
+ interface ModelInfo {
43
+ model: EmbeddingModel;
44
+ dim: number;
45
+ description: string;
46
+ }
47
+ interface SparseModelInfo {
48
+ model: SparseEmbeddingModel;
49
+ vocabSize: number;
50
+ description: string;
51
+ }
52
+ export interface InitStandardOptions extends InitOptionsBase {
53
+ model: Exclude<EmbeddingModel, EmbeddingModel.CUSTOM>;
54
+ modelAbsoluteDirPath?: undefined;
55
+ modelName?: string;
56
+ }
57
+ export interface InitCustomOptions extends InitOptionsBase {
58
+ model: EmbeddingModel.CUSTOM;
59
+ modelAbsoluteDirPath: PathLike;
60
+ modelName: string;
61
+ }
62
+ export type InitOptions = InitStandardOptions | InitCustomOptions;
63
+ export interface InitSparseStandardOptions extends InitOptionsBase {
64
+ model: Exclude<SparseEmbeddingModel, SparseEmbeddingModel.CUSTOM>;
65
+ modelAbsoluteDirPath?: undefined;
66
+ modelName?: string;
67
+ }
68
+ export interface InitSparseCustomOptions extends InitOptionsBase {
69
+ model: SparseEmbeddingModel.CUSTOM;
70
+ modelAbsoluteDirPath: PathLike;
71
+ modelName: string;
72
+ }
73
+ export type InitSparseOptions = InitSparseStandardOptions | InitSparseCustomOptions;
74
+ declare abstract class Embedding {
75
+ abstract listSupportedModels(): ModelInfo[];
76
+ abstract embed(texts: string[], batchSize?: number): AsyncGenerator<number[][], void, unknown>;
77
+ abstract passageEmbed(texts: string[], batchSize: number): AsyncGenerator<number[][], void, unknown>;
78
+ abstract queryEmbed(query: string): Promise<number[]>;
79
+ }
80
+ declare abstract class SparseEmbedding {
81
+ abstract listSupportedModels(): SparseModelInfo[];
82
+ abstract embed(texts: string[], batchSize?: number): AsyncGenerator<SparseVector[], void, unknown>;
83
+ abstract passageEmbed(texts: string[], batchSize: number): AsyncGenerator<SparseVector[], void, unknown>;
84
+ abstract queryEmbed(query: string): Promise<SparseVector>;
85
+ }
86
+ export declare class FlagEmbedding extends Embedding {
87
+ private tokenizer;
88
+ private session;
89
+ private model;
90
+ private constructor();
91
+ static init(options: InitStandardOptions): Promise<FlagEmbedding>;
92
+ static init(options: InitCustomOptions): Promise<FlagEmbedding>;
93
+ private static downloadFileFromGCS;
94
+ private static decompressToCache;
95
+ static retrieveModel(model: EmbeddingModel, cacheDir: PathLike, showDownloadProgress?: boolean): Promise<PathLike>;
96
+ embed(textStrings: string[], batchSize?: number): AsyncGenerator<number[][], void, unknown>;
97
+ passageEmbed(texts: string[], batchSize?: number): AsyncGenerator<number[][], void, unknown>;
98
+ queryEmbed(query: string): Promise<number[]>;
99
+ listSupportedModels(): ModelInfo[];
100
+ }
101
+ export declare class SparseTextEmbedding extends SparseEmbedding {
102
+ private tokenizer;
103
+ private session;
104
+ private constructor();
105
+ static init(options: InitSparseStandardOptions): Promise<SparseTextEmbedding>;
106
+ static init(options: InitSparseCustomOptions): Promise<SparseTextEmbedding>;
107
+ private static loadTokenizer;
108
+ private static retrieveModel;
109
+ embed(textStrings: string[], batchSize?: number): AsyncGenerator<SparseVector[], void, unknown>;
110
+ passageEmbed(texts: string[], batchSize?: number): AsyncGenerator<SparseVector[], void, unknown>;
111
+ queryEmbed(query: string): Promise<SparseVector>;
112
+ listSupportedModels(): SparseModelInfo[];
113
+ }
114
+ export {};
115
+ //# sourceMappingURL=fastembed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastembed.d.ts","sourceRoot":"","sources":["../src/fastembed.ts"],"names":[],"mappings":"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"}