claude-conversation-memory-mcp 0.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.
- package/LICENSE +21 -0
- package/README.md +223 -0
- package/dist/ConversationMemory.d.ts +80 -0
- package/dist/ConversationMemory.d.ts.map +1 -0
- package/dist/ConversationMemory.js +203 -0
- package/dist/ConversationMemory.js.map +1 -0
- package/dist/documentation/CodeAnalyzer.d.ts +29 -0
- package/dist/documentation/CodeAnalyzer.d.ts.map +1 -0
- package/dist/documentation/CodeAnalyzer.js +122 -0
- package/dist/documentation/CodeAnalyzer.js.map +1 -0
- package/dist/documentation/ConversationAnalyzer.d.ts +19 -0
- package/dist/documentation/ConversationAnalyzer.d.ts.map +1 -0
- package/dist/documentation/ConversationAnalyzer.js +156 -0
- package/dist/documentation/ConversationAnalyzer.js.map +1 -0
- package/dist/documentation/CrossReferencer.d.ts +67 -0
- package/dist/documentation/CrossReferencer.d.ts.map +1 -0
- package/dist/documentation/CrossReferencer.js +247 -0
- package/dist/documentation/CrossReferencer.js.map +1 -0
- package/dist/documentation/DocumentationGenerator.d.ts +22 -0
- package/dist/documentation/DocumentationGenerator.d.ts.map +1 -0
- package/dist/documentation/DocumentationGenerator.js +57 -0
- package/dist/documentation/DocumentationGenerator.js.map +1 -0
- package/dist/documentation/MarkdownFormatter.d.ts +26 -0
- package/dist/documentation/MarkdownFormatter.d.ts.map +1 -0
- package/dist/documentation/MarkdownFormatter.js +301 -0
- package/dist/documentation/MarkdownFormatter.js.map +1 -0
- package/dist/documentation/types.d.ts +176 -0
- package/dist/documentation/types.d.ts.map +1 -0
- package/dist/documentation/types.js +5 -0
- package/dist/documentation/types.js.map +1 -0
- package/dist/embeddings/EmbeddingConfig.d.ts +39 -0
- package/dist/embeddings/EmbeddingConfig.d.ts.map +1 -0
- package/dist/embeddings/EmbeddingConfig.js +132 -0
- package/dist/embeddings/EmbeddingConfig.js.map +1 -0
- package/dist/embeddings/EmbeddingGenerator.d.ts +45 -0
- package/dist/embeddings/EmbeddingGenerator.d.ts.map +1 -0
- package/dist/embeddings/EmbeddingGenerator.js +129 -0
- package/dist/embeddings/EmbeddingGenerator.js.map +1 -0
- package/dist/embeddings/EmbeddingProvider.d.ts +34 -0
- package/dist/embeddings/EmbeddingProvider.d.ts.map +1 -0
- package/dist/embeddings/EmbeddingProvider.js +6 -0
- package/dist/embeddings/EmbeddingProvider.js.map +1 -0
- package/dist/embeddings/VectorStore.d.ts +75 -0
- package/dist/embeddings/VectorStore.d.ts.map +1 -0
- package/dist/embeddings/VectorStore.js +220 -0
- package/dist/embeddings/VectorStore.js.map +1 -0
- package/dist/embeddings/providers/OllamaEmbeddings.d.ts +38 -0
- package/dist/embeddings/providers/OllamaEmbeddings.d.ts.map +1 -0
- package/dist/embeddings/providers/OllamaEmbeddings.js +132 -0
- package/dist/embeddings/providers/OllamaEmbeddings.js.map +1 -0
- package/dist/embeddings/providers/OpenAIEmbeddings.d.ts +40 -0
- package/dist/embeddings/providers/OpenAIEmbeddings.d.ts.map +1 -0
- package/dist/embeddings/providers/OpenAIEmbeddings.js +128 -0
- package/dist/embeddings/providers/OpenAIEmbeddings.js.map +1 -0
- package/dist/embeddings/providers/TransformersEmbeddings.d.ts +38 -0
- package/dist/embeddings/providers/TransformersEmbeddings.d.ts.map +1 -0
- package/dist/embeddings/providers/TransformersEmbeddings.js +114 -0
- package/dist/embeddings/providers/TransformersEmbeddings.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +127 -0
- package/dist/index.js.map +1 -0
- package/dist/parsers/ConversationParser.d.ts +138 -0
- package/dist/parsers/ConversationParser.d.ts.map +1 -0
- package/dist/parsers/ConversationParser.js +325 -0
- package/dist/parsers/ConversationParser.js.map +1 -0
- package/dist/parsers/DecisionExtractor.d.ts +76 -0
- package/dist/parsers/DecisionExtractor.d.ts.map +1 -0
- package/dist/parsers/DecisionExtractor.js +305 -0
- package/dist/parsers/DecisionExtractor.js.map +1 -0
- package/dist/parsers/GitIntegrator.d.ts +71 -0
- package/dist/parsers/GitIntegrator.d.ts.map +1 -0
- package/dist/parsers/GitIntegrator.js +283 -0
- package/dist/parsers/GitIntegrator.js.map +1 -0
- package/dist/parsers/MistakeExtractor.d.ts +86 -0
- package/dist/parsers/MistakeExtractor.d.ts.map +1 -0
- package/dist/parsers/MistakeExtractor.js +341 -0
- package/dist/parsers/MistakeExtractor.js.map +1 -0
- package/dist/parsers/RequirementsExtractor.d.ts +70 -0
- package/dist/parsers/RequirementsExtractor.d.ts.map +1 -0
- package/dist/parsers/RequirementsExtractor.js +252 -0
- package/dist/parsers/RequirementsExtractor.js.map +1 -0
- package/dist/search/SemanticSearch.d.ts +90 -0
- package/dist/search/SemanticSearch.d.ts.map +1 -0
- package/dist/search/SemanticSearch.js +352 -0
- package/dist/search/SemanticSearch.js.map +1 -0
- package/dist/storage/ConversationStorage.d.ts +53 -0
- package/dist/storage/ConversationStorage.d.ts.map +1 -0
- package/dist/storage/ConversationStorage.js +249 -0
- package/dist/storage/ConversationStorage.js.map +1 -0
- package/dist/storage/SQLiteManager.d.ts +88 -0
- package/dist/storage/SQLiteManager.d.ts.map +1 -0
- package/dist/storage/SQLiteManager.js +281 -0
- package/dist/storage/SQLiteManager.js.map +1 -0
- package/dist/storage/migrations.d.ts +54 -0
- package/dist/storage/migrations.d.ts.map +1 -0
- package/dist/storage/migrations.js +153 -0
- package/dist/storage/migrations.js.map +1 -0
- package/dist/storage/schema.sql +321 -0
- package/dist/tools/ToolDefinitions.d.ts +265 -0
- package/dist/tools/ToolDefinitions.d.ts.map +1 -0
- package/dist/tools/ToolDefinitions.js +261 -0
- package/dist/tools/ToolDefinitions.js.map +1 -0
- package/dist/tools/ToolHandlers.d.ts +56 -0
- package/dist/tools/ToolHandlers.d.ts.map +1 -0
- package/dist/tools/ToolHandlers.js +431 -0
- package/dist/tools/ToolHandlers.js.map +1 -0
- package/dist/types/ToolTypes.d.ts +333 -0
- package/dist/types/ToolTypes.d.ts.map +1 -0
- package/dist/types/ToolTypes.js +6 -0
- package/dist/types/ToolTypes.js.map +1 -0
- package/dist/utils/sanitization.d.ts +35 -0
- package/dist/utils/sanitization.d.ts.map +1 -0
- package/dist/utils/sanitization.js +97 -0
- package/dist/utils/sanitization.js.map +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VectorStore.js","sourceRoot":"","sources":["../../src/embeddings/VectorStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,MAAM,OAAO,WAAW;IACd,EAAE,CAAoB;IACtB,aAAa,CAAgB;IAC7B,eAAe,GAAY,KAAK,CAAC;IACjC,oBAAoB,GAAY,KAAK,CAAC;IAE9C,YAAY,aAA4B;QACtC,IAAI,CAAC,EAAE,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,IAAI,CAAC;YACH,qCAAqC;YACrC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;YACtF,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,UAAkB;QACxC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACvD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CACzB,SAAiB,EACjB,OAAe,EACf,SAAuB;QAEvB,MAAM,OAAO,GAAG,OAAO,SAAS,EAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,kDAAkD;YAClD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAEvC,+BAA+B;YAC/B,IAAI,CAAC;gBACH,oEAAoE;gBACpE,IAAI,CAAC;oBACH,IAAI,CAAC,EAAE;yBACJ,OAAO,CAAC,iDAAiD,CAAC;yBAC1D,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClB,CAAC;gBAAC,OAAO,YAAY,EAAE,CAAC;oBACtB,iCAAiC;gBACnC,CAAC;gBAED,+BAA+B;gBAC/B,IAAI,CAAC,EAAE;qBACJ,OAAO,CACN,kEAAkE,CACnE;qBACA,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wCAAwC;gBACxC,MAAM,YAAY,GAAI,KAAe,CAAC,OAAO,CAAC;gBAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBAChD,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;gBAC1D,CAAC;gBACD,mBAAmB;gBACnB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CACtB,SAAiB,EACjB,OAAe,EACf,SAAuB;QAEvB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;mCAE2B,CAC5B;aACA,GAAG,CACF,OAAO,SAAS,EAAE,EAClB,SAAS,EACT,OAAO,EACP,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EACpC,kBAAkB,EAClB,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAC1B,UAAkB,EAClB,SAAuB;QAEvB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;6BAEqB,CACtB;aACA,GAAG,CACF,OAAO,UAAU,EAAE,EACnB,UAAU,EACV,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EACpC,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,cAA4B,EAC5B,QAAgB,EAAE;QAElB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,sBAAsB,CAC5B,cAA4B,EAC5B,KAAa;QAEb,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;YAE9D,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE;iBACpB,OAAO,CACN;;;;;;;kBAOQ,CACT;iBACA,GAAG,CAAC,WAAW,EAAE,KAAK,CAIvB,CAAC;YAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5B,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,iCAAiC;aAC9D,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC7C,qBAAqB;YACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CACtB,cAA4B,EAC5B,KAAa;QAEb,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE;aAC1B,OAAO,CAAC,mEAAmE,CAAC;aAC5E,GAAG,EAKJ,CAAC;QAEH,MAAM,OAAO,GAAG,aAAa;aAC1B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAEpE,OAAO;gBACL,EAAE,EAAE,GAAG,CAAC,UAAU;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,UAAU;aACX,CAAC;QACJ,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;aAC3C,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEnB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,CAAe,EAAE,CAAe;QACvD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,KAAmB;QAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,MAAc;QACzC,OAAO,IAAI,YAAY,CACrB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,GAAG,CAAC,CACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CAAC,kDAAkD,CAAC;aAC3D,GAAG,EAAuB,CAAC;QAC9B,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAEhD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACZ,+BAA+B;YACjC,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama Embeddings Provider
|
|
3
|
+
* Uses local Ollama API for embeddings
|
|
4
|
+
*/
|
|
5
|
+
import type { EmbeddingProvider, ModelInfo } from "../EmbeddingProvider.js";
|
|
6
|
+
export declare class OllamaEmbeddings implements EmbeddingProvider {
|
|
7
|
+
private baseUrl;
|
|
8
|
+
private model;
|
|
9
|
+
private dimensions;
|
|
10
|
+
private available;
|
|
11
|
+
private initializationError;
|
|
12
|
+
constructor(baseUrl?: string, model?: string, dimensions?: number);
|
|
13
|
+
/**
|
|
14
|
+
* Initialize by checking if Ollama is available
|
|
15
|
+
*/
|
|
16
|
+
initialize(): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Check if embeddings are available
|
|
19
|
+
*/
|
|
20
|
+
isAvailable(): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Generate embedding for a single text
|
|
23
|
+
*/
|
|
24
|
+
embed(text: string): Promise<Float32Array>;
|
|
25
|
+
/**
|
|
26
|
+
* Generate embeddings for multiple texts (batched)
|
|
27
|
+
*/
|
|
28
|
+
embedBatch(texts: string[], batchSize?: number): Promise<Float32Array[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Get model information
|
|
31
|
+
*/
|
|
32
|
+
getModelInfo(): ModelInfo;
|
|
33
|
+
/**
|
|
34
|
+
* Get default dimensions for common Ollama models
|
|
35
|
+
*/
|
|
36
|
+
private getDefaultDimensions;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=OllamaEmbeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OllamaEmbeddings.d.ts","sourceRoot":"","sources":["../../../src/embeddings/providers/OllamaEmbeddings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAM5E,qBAAa,gBAAiB,YAAW,iBAAiB;IACxD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,mBAAmB,CAAsB;gBAErC,OAAO,GAAE,MAAiC,EAAE,KAAK,GAAE,MAA4B,EAAE,UAAU,CAAC,EAAE,MAAM;IAMhH;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCjC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA+BhD;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,GAAE,MAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA0BlF;;OAEG;IACH,YAAY,IAAI,SAAS;IASzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAsB7B"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama Embeddings Provider
|
|
3
|
+
* Uses local Ollama API for embeddings
|
|
4
|
+
*/
|
|
5
|
+
export class OllamaEmbeddings {
|
|
6
|
+
baseUrl;
|
|
7
|
+
model;
|
|
8
|
+
dimensions;
|
|
9
|
+
available = false;
|
|
10
|
+
initializationError = null;
|
|
11
|
+
constructor(baseUrl = "http://localhost:11434", model = "mxbai-embed-large", dimensions) {
|
|
12
|
+
this.baseUrl = baseUrl.replace(/\/$/, ""); // Remove trailing slash
|
|
13
|
+
this.model = model;
|
|
14
|
+
this.dimensions = dimensions || this.getDefaultDimensions(model);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Initialize by checking if Ollama is available
|
|
18
|
+
*/
|
|
19
|
+
async initialize() {
|
|
20
|
+
try {
|
|
21
|
+
// Check if Ollama is running
|
|
22
|
+
const response = await fetch(`${this.baseUrl}/api/tags`, {
|
|
23
|
+
method: "GET",
|
|
24
|
+
});
|
|
25
|
+
if (!response.ok) {
|
|
26
|
+
throw new Error(`Ollama API returned ${response.status}`);
|
|
27
|
+
}
|
|
28
|
+
// Check if model is available
|
|
29
|
+
const data = (await response.json());
|
|
30
|
+
const hasModel = data.models.some((m) => m.name.includes(this.model));
|
|
31
|
+
if (!hasModel) {
|
|
32
|
+
console.warn(`⚠️ Model '${this.model}' not found in Ollama. Available models: ${data.models.map((m) => m.name).join(", ")}`);
|
|
33
|
+
console.warn(` Pull the model with: ollama pull ${this.model}`);
|
|
34
|
+
throw new Error(`Model ${this.model} not available in Ollama`);
|
|
35
|
+
}
|
|
36
|
+
this.available = true;
|
|
37
|
+
console.log(`✓ Ollama embeddings ready (${this.model})`);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
this.initializationError = error;
|
|
41
|
+
this.available = false;
|
|
42
|
+
console.warn("⚠️ Ollama not available:", error.message);
|
|
43
|
+
console.warn(" Make sure Ollama is running: ollama serve");
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Check if embeddings are available
|
|
48
|
+
*/
|
|
49
|
+
isAvailable() {
|
|
50
|
+
return this.available;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Generate embedding for a single text
|
|
54
|
+
*/
|
|
55
|
+
async embed(text) {
|
|
56
|
+
if (!this.available) {
|
|
57
|
+
throw new Error(`Ollama embeddings not available: ${this.initializationError?.message || "Not initialized"}`);
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
const response = await fetch(`${this.baseUrl}/api/embeddings`, {
|
|
61
|
+
method: "POST",
|
|
62
|
+
headers: {
|
|
63
|
+
"Content-Type": "application/json",
|
|
64
|
+
},
|
|
65
|
+
body: JSON.stringify({
|
|
66
|
+
model: this.model,
|
|
67
|
+
prompt: text,
|
|
68
|
+
}),
|
|
69
|
+
});
|
|
70
|
+
if (!response.ok) {
|
|
71
|
+
throw new Error(`Ollama API error: ${response.status} ${response.statusText}`);
|
|
72
|
+
}
|
|
73
|
+
const data = (await response.json());
|
|
74
|
+
return new Float32Array(data.embedding);
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
console.error("Error generating embedding with Ollama:", error);
|
|
78
|
+
throw error;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Generate embeddings for multiple texts (batched)
|
|
83
|
+
*/
|
|
84
|
+
async embedBatch(texts, batchSize = 32) {
|
|
85
|
+
if (!this.available) {
|
|
86
|
+
throw new Error("Ollama embeddings not initialized");
|
|
87
|
+
}
|
|
88
|
+
const embeddings = [];
|
|
89
|
+
// Process in batches
|
|
90
|
+
for (let i = 0; i < texts.length; i += batchSize) {
|
|
91
|
+
const batch = texts.slice(i, i + batchSize);
|
|
92
|
+
console.log(`Generating embeddings for batch ${Math.floor(i / batchSize) + 1}/${Math.ceil(texts.length / batchSize)} (Ollama)`);
|
|
93
|
+
// Ollama doesn't have batch endpoint, so we do parallel requests
|
|
94
|
+
const batchEmbeddings = await Promise.all(batch.map((text) => this.embed(text)));
|
|
95
|
+
embeddings.push(...batchEmbeddings);
|
|
96
|
+
}
|
|
97
|
+
return embeddings;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get model information
|
|
101
|
+
*/
|
|
102
|
+
getModelInfo() {
|
|
103
|
+
return {
|
|
104
|
+
provider: "ollama",
|
|
105
|
+
model: this.model,
|
|
106
|
+
dimensions: this.dimensions,
|
|
107
|
+
available: this.available,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Get default dimensions for common Ollama models
|
|
112
|
+
*/
|
|
113
|
+
getDefaultDimensions(model) {
|
|
114
|
+
// Common Ollama embedding models and their dimensions
|
|
115
|
+
const modelDimensions = {
|
|
116
|
+
"nomic-embed-text": 768,
|
|
117
|
+
"mxbai-embed-large": 1024,
|
|
118
|
+
"all-minilm": 384,
|
|
119
|
+
"snowflake-arctic-embed": 1024,
|
|
120
|
+
};
|
|
121
|
+
// Check if model name contains any known model
|
|
122
|
+
for (const [knownModel, dims] of Object.entries(modelDimensions)) {
|
|
123
|
+
if (model.includes(knownModel)) {
|
|
124
|
+
return dims;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// Default to 768 if unknown (most common)
|
|
128
|
+
console.warn(`Unknown model dimensions for '${model}', defaulting to 768. Specify dimensions in config if different.`);
|
|
129
|
+
return 768;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=OllamaEmbeddings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OllamaEmbeddings.js","sourceRoot":"","sources":["../../../src/embeddings/providers/OllamaEmbeddings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Embeddings Provider
|
|
3
|
+
* Uses OpenAI API for high-quality embeddings
|
|
4
|
+
*/
|
|
5
|
+
import type { EmbeddingProvider, ModelInfo } from "../EmbeddingProvider.js";
|
|
6
|
+
export declare class OpenAIEmbeddings implements EmbeddingProvider {
|
|
7
|
+
private client;
|
|
8
|
+
private model;
|
|
9
|
+
private dimensions;
|
|
10
|
+
private apiKey;
|
|
11
|
+
private available;
|
|
12
|
+
private initializationError;
|
|
13
|
+
constructor(apiKey: string, model?: string, dimensions?: number);
|
|
14
|
+
/**
|
|
15
|
+
* Initialize OpenAI client
|
|
16
|
+
*/
|
|
17
|
+
initialize(): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Check if embeddings are available
|
|
20
|
+
*/
|
|
21
|
+
isAvailable(): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Generate embedding for a single text
|
|
24
|
+
*/
|
|
25
|
+
embed(text: string): Promise<Float32Array>;
|
|
26
|
+
/**
|
|
27
|
+
* Generate embeddings for multiple texts (batched)
|
|
28
|
+
* OpenAI supports batch requests natively
|
|
29
|
+
*/
|
|
30
|
+
embedBatch(texts: string[], batchSize?: number): Promise<Float32Array[]>;
|
|
31
|
+
/**
|
|
32
|
+
* Get model information
|
|
33
|
+
*/
|
|
34
|
+
getModelInfo(): ModelInfo;
|
|
35
|
+
/**
|
|
36
|
+
* Get default dimensions for OpenAI models
|
|
37
|
+
*/
|
|
38
|
+
private getDefaultDimensions;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=OpenAIEmbeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenAIEmbeddings.d.ts","sourceRoot":"","sources":["../../../src/embeddings/providers/OpenAIEmbeddings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAc5E,qBAAa,gBAAiB,YAAW,iBAAiB;IACxD,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,mBAAmB,CAAsB;gBAErC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAiC,EAAE,UAAU,CAAC,EAAE,MAAM;IAMzF;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkCjC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAoBhD;;;OAGG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,GAAE,MAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAoCnF;;OAEG;IACH,YAAY,IAAI,SAAS;IASzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAS7B"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Embeddings Provider
|
|
3
|
+
* Uses OpenAI API for high-quality embeddings
|
|
4
|
+
*/
|
|
5
|
+
export class OpenAIEmbeddings {
|
|
6
|
+
client = null;
|
|
7
|
+
model;
|
|
8
|
+
dimensions;
|
|
9
|
+
apiKey;
|
|
10
|
+
available = false;
|
|
11
|
+
initializationError = null;
|
|
12
|
+
constructor(apiKey, model = "text-embedding-3-small", dimensions) {
|
|
13
|
+
this.apiKey = apiKey;
|
|
14
|
+
this.model = model;
|
|
15
|
+
this.dimensions = dimensions || this.getDefaultDimensions(model);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Initialize OpenAI client
|
|
19
|
+
*/
|
|
20
|
+
async initialize() {
|
|
21
|
+
try {
|
|
22
|
+
if (!this.apiKey) {
|
|
23
|
+
throw new Error("OpenAI API key required. Set OPENAI_API_KEY environment variable.");
|
|
24
|
+
}
|
|
25
|
+
// Dynamic import of OpenAI SDK (optional dependency)
|
|
26
|
+
// @ts-expect-error - openai is an optional dependency
|
|
27
|
+
const OpenAI = (await import("openai")).default;
|
|
28
|
+
this.client = new OpenAI({
|
|
29
|
+
apiKey: this.apiKey,
|
|
30
|
+
});
|
|
31
|
+
// Test the API key with a small request
|
|
32
|
+
await this.client.embeddings.create({
|
|
33
|
+
model: this.model,
|
|
34
|
+
input: "test",
|
|
35
|
+
});
|
|
36
|
+
this.available = true;
|
|
37
|
+
console.log(`✓ OpenAI embeddings ready (${this.model})`);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
this.initializationError = error;
|
|
41
|
+
this.available = false;
|
|
42
|
+
if (error.message.includes("Cannot find module")) {
|
|
43
|
+
console.warn("⚠️ OpenAI SDK not installed");
|
|
44
|
+
console.warn(" Install with: npm install openai");
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
console.warn("⚠️ OpenAI initialization failed:", error.message);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Check if embeddings are available
|
|
53
|
+
*/
|
|
54
|
+
isAvailable() {
|
|
55
|
+
return this.available;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Generate embedding for a single text
|
|
59
|
+
*/
|
|
60
|
+
async embed(text) {
|
|
61
|
+
if (!this.available || !this.client) {
|
|
62
|
+
throw new Error(`OpenAI embeddings not available: ${this.initializationError?.message || "Not initialized"}`);
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
const response = await this.client.embeddings.create({
|
|
66
|
+
model: this.model,
|
|
67
|
+
input: text,
|
|
68
|
+
});
|
|
69
|
+
return new Float32Array(response.data[0].embedding);
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
console.error("Error generating embedding with OpenAI:", error);
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Generate embeddings for multiple texts (batched)
|
|
78
|
+
* OpenAI supports batch requests natively
|
|
79
|
+
*/
|
|
80
|
+
async embedBatch(texts, batchSize = 100) {
|
|
81
|
+
if (!this.available || !this.client) {
|
|
82
|
+
throw new Error("OpenAI embeddings not initialized");
|
|
83
|
+
}
|
|
84
|
+
const embeddings = [];
|
|
85
|
+
// OpenAI allows up to 2048 inputs per request, but we use smaller batches for reliability
|
|
86
|
+
for (let i = 0; i < texts.length; i += batchSize) {
|
|
87
|
+
const batch = texts.slice(i, i + batchSize);
|
|
88
|
+
console.log(`Generating embeddings for batch ${Math.floor(i / batchSize) + 1}/${Math.ceil(texts.length / batchSize)} (OpenAI)`);
|
|
89
|
+
try {
|
|
90
|
+
const response = await this.client.embeddings.create({
|
|
91
|
+
model: this.model,
|
|
92
|
+
input: batch,
|
|
93
|
+
});
|
|
94
|
+
// Convert all embeddings in the batch
|
|
95
|
+
const batchEmbeddings = response.data.map((item) => new Float32Array(item.embedding));
|
|
96
|
+
embeddings.push(...batchEmbeddings);
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
console.error("Error in batch embedding:", error);
|
|
100
|
+
throw error;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return embeddings;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Get model information
|
|
107
|
+
*/
|
|
108
|
+
getModelInfo() {
|
|
109
|
+
return {
|
|
110
|
+
provider: "openai",
|
|
111
|
+
model: this.model,
|
|
112
|
+
dimensions: this.dimensions,
|
|
113
|
+
available: this.available,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Get default dimensions for OpenAI models
|
|
118
|
+
*/
|
|
119
|
+
getDefaultDimensions(model) {
|
|
120
|
+
const modelDimensions = {
|
|
121
|
+
"text-embedding-3-small": 1536,
|
|
122
|
+
"text-embedding-3-large": 3072,
|
|
123
|
+
"text-embedding-ada-002": 1536,
|
|
124
|
+
};
|
|
125
|
+
return modelDimensions[model] || 1536;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=OpenAIEmbeddings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenAIEmbeddings.js","sourceRoot":"","sources":["../../../src/embeddings/providers/OpenAIEmbeddings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transformers.js Embeddings Provider
|
|
3
|
+
* Uses @xenova/transformers for local, offline embeddings
|
|
4
|
+
*/
|
|
5
|
+
import type { EmbeddingProvider, ModelInfo } from "../EmbeddingProvider.js";
|
|
6
|
+
export declare class TransformersEmbeddings implements EmbeddingProvider {
|
|
7
|
+
private pipeline;
|
|
8
|
+
private model;
|
|
9
|
+
private dimensions;
|
|
10
|
+
private available;
|
|
11
|
+
private initializationError;
|
|
12
|
+
constructor(model?: string, dimensions?: number);
|
|
13
|
+
/**
|
|
14
|
+
* Initialize the embedding pipeline
|
|
15
|
+
*/
|
|
16
|
+
initialize(): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Check if embeddings are available
|
|
19
|
+
*/
|
|
20
|
+
isAvailable(): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Generate embedding for text
|
|
23
|
+
*/
|
|
24
|
+
embed(text: string): Promise<Float32Array>;
|
|
25
|
+
/**
|
|
26
|
+
* Generate embeddings for multiple texts (batched)
|
|
27
|
+
*/
|
|
28
|
+
embedBatch(texts: string[], batchSize?: number): Promise<Float32Array[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Get model information
|
|
31
|
+
*/
|
|
32
|
+
getModelInfo(): ModelInfo;
|
|
33
|
+
/**
|
|
34
|
+
* Get default dimensions for common transformer models
|
|
35
|
+
*/
|
|
36
|
+
private getDefaultDimensions;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=TransformersEmbeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransformersEmbeddings.d.ts","sourceRoot":"","sources":["../../../src/embeddings/providers/TransformersEmbeddings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAK5E,qBAAa,sBAAuB,YAAW,iBAAiB;IAC9D,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,mBAAmB,CAAsB;gBAErC,KAAK,GAAE,MAAkC,EAAE,UAAU,CAAC,EAAE,MAAM;IAK1E;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BjC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA4BhD;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,GAAE,MAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAyBlF;;OAEG;IACH,YAAY,IAAI,SAAS;IASzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAU7B"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transformers.js Embeddings Provider
|
|
3
|
+
* Uses @xenova/transformers for local, offline embeddings
|
|
4
|
+
*/
|
|
5
|
+
export class TransformersEmbeddings {
|
|
6
|
+
pipeline = null;
|
|
7
|
+
model;
|
|
8
|
+
dimensions;
|
|
9
|
+
available = false;
|
|
10
|
+
initializationError = null;
|
|
11
|
+
constructor(model = "Xenova/all-MiniLM-L6-v2", dimensions) {
|
|
12
|
+
this.model = model;
|
|
13
|
+
this.dimensions = dimensions || this.getDefaultDimensions(model);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Initialize the embedding pipeline
|
|
17
|
+
*/
|
|
18
|
+
async initialize() {
|
|
19
|
+
if (this.available) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
// Try to import @xenova/transformers
|
|
24
|
+
const { pipeline } = await import("@xenova/transformers");
|
|
25
|
+
console.log(`Loading embedding model: ${this.model}...`);
|
|
26
|
+
this.pipeline = (await pipeline("feature-extraction", this.model));
|
|
27
|
+
this.available = true;
|
|
28
|
+
console.log(`✓ Transformers.js embeddings ready (${this.model})`);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
this.initializationError = error;
|
|
32
|
+
this.available = false;
|
|
33
|
+
if (error.message.includes("Cannot find module")) {
|
|
34
|
+
console.warn("⚠️ @xenova/transformers not installed");
|
|
35
|
+
console.warn(" Install with: npm install @xenova/transformers");
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
console.warn("⚠️ Could not load embedding model:", error.message);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Check if embeddings are available
|
|
44
|
+
*/
|
|
45
|
+
isAvailable() {
|
|
46
|
+
return this.available && this.pipeline !== null;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Generate embedding for text
|
|
50
|
+
*/
|
|
51
|
+
async embed(text) {
|
|
52
|
+
if (!this.isAvailable()) {
|
|
53
|
+
throw new Error(`Transformers embeddings not available: ${this.initializationError?.message || "Not initialized"}`);
|
|
54
|
+
}
|
|
55
|
+
if (!this.pipeline) {
|
|
56
|
+
throw new Error("Pipeline not initialized");
|
|
57
|
+
}
|
|
58
|
+
try {
|
|
59
|
+
// Generate embedding
|
|
60
|
+
const output = await this.pipeline(text, {
|
|
61
|
+
pooling: "mean",
|
|
62
|
+
normalize: true,
|
|
63
|
+
});
|
|
64
|
+
// Extract the embedding array
|
|
65
|
+
const embedding = output.data;
|
|
66
|
+
return new Float32Array(embedding);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
console.error("Error generating embedding:", error);
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Generate embeddings for multiple texts (batched)
|
|
75
|
+
*/
|
|
76
|
+
async embedBatch(texts, batchSize = 32) {
|
|
77
|
+
if (!this.isAvailable()) {
|
|
78
|
+
throw new Error("Transformers embeddings not initialized");
|
|
79
|
+
}
|
|
80
|
+
const embeddings = [];
|
|
81
|
+
// Process in batches
|
|
82
|
+
for (let i = 0; i < texts.length; i += batchSize) {
|
|
83
|
+
const batch = texts.slice(i, i + batchSize);
|
|
84
|
+
console.log(`Generating embeddings for batch ${Math.floor(i / batchSize) + 1}/${Math.ceil(texts.length / batchSize)} (Transformers.js)`);
|
|
85
|
+
const batchEmbeddings = await Promise.all(batch.map((text) => this.embed(text)));
|
|
86
|
+
embeddings.push(...batchEmbeddings);
|
|
87
|
+
}
|
|
88
|
+
return embeddings;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Get model information
|
|
92
|
+
*/
|
|
93
|
+
getModelInfo() {
|
|
94
|
+
return {
|
|
95
|
+
provider: "transformers",
|
|
96
|
+
model: this.model,
|
|
97
|
+
dimensions: this.dimensions,
|
|
98
|
+
available: this.available,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get default dimensions for common transformer models
|
|
103
|
+
*/
|
|
104
|
+
getDefaultDimensions(model) {
|
|
105
|
+
const modelDimensions = {
|
|
106
|
+
"Xenova/all-MiniLM-L6-v2": 384,
|
|
107
|
+
"Xenova/all-mpnet-base-v2": 768,
|
|
108
|
+
"Xenova/bge-small-en-v1.5": 384,
|
|
109
|
+
"Xenova/bge-base-en-v1.5": 768,
|
|
110
|
+
};
|
|
111
|
+
return modelDimensions[model] || 384;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=TransformersEmbeddings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransformersEmbeddings.js","sourceRoot":"","sources":["../../../src/embeddings/providers/TransformersEmbeddings.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG"}
|