feat(src/brainyData, src/utils): enhance embedding efficiency with batch processing and initialize safeguards
- Added batch embedding support with `defaultBatchEmbeddingFunction`, leveraging shared model instances for optimized performance. - Integrated `isInitializing` flag to prevent recursive initialization and ensure smooth concurrent operation handling during `BrainyData` initialization. - Pre-loaded Universal Sentence Encoder in `BrainyData` to prevent delays during embedding. - Introduced fallback mechanisms in embedding initialization for better error resiliency and model reusability. - Updated `addBatch` with support for batchSize and refactored text/vector processing logic for clearer separation and memory management. - Improved GPU and CPU backend selection in Universal Sentence Encoder for compatibility across environments. - Enhanced memory management by cleaning tensors after embedding operations. - Updated README with instructions for batch embedding, threading updates, and GPU/CPU optimizations.
This commit is contained in:
parent
e81979dc84
commit
bba9a0c219
11 changed files with 729 additions and 633 deletions
15
src/global.d.ts
vendored
15
src/global.d.ts
vendored
|
|
@ -5,11 +5,16 @@
|
|||
// Extend the globalThis interface to include the __ENV__ property
|
||||
declare global {
|
||||
var __ENV__: {
|
||||
isBrowser: boolean;
|
||||
isNode: string | false;
|
||||
isServerless: boolean;
|
||||
};
|
||||
isBrowser: boolean
|
||||
isNode: string | false
|
||||
isServerless: boolean
|
||||
}
|
||||
|
||||
// Window interface extensions (worker-specific functions removed)
|
||||
interface Window {
|
||||
importTensorFlow?: () => Promise<any>
|
||||
}
|
||||
}
|
||||
|
||||
// This export is needed to make this file a module
|
||||
export {};
|
||||
export {}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue