@pleaseai/context-please-core 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 +24 -0
- package/README.md +287 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/context.d.ts +276 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +1072 -0
- package/dist/context.js.map +1 -0
- package/dist/embedding/base-embedding.d.ts +51 -0
- package/dist/embedding/base-embedding.d.ts.map +1 -0
- package/dist/embedding/base-embedding.js +36 -0
- package/dist/embedding/base-embedding.js.map +1 -0
- package/dist/embedding/gemini-embedding.d.ts +53 -0
- package/dist/embedding/gemini-embedding.d.ts.map +1 -0
- package/dist/embedding/gemini-embedding.js +152 -0
- package/dist/embedding/gemini-embedding.js.map +1 -0
- package/dist/embedding/index.d.ts +6 -0
- package/dist/embedding/index.d.ts.map +1 -0
- package/dist/embedding/index.js +24 -0
- package/dist/embedding/index.js.map +1 -0
- package/dist/embedding/ollama-embedding.d.ts +55 -0
- package/dist/embedding/ollama-embedding.d.ts.map +1 -0
- package/dist/embedding/ollama-embedding.js +192 -0
- package/dist/embedding/ollama-embedding.js.map +1 -0
- package/dist/embedding/openai-embedding.d.ts +36 -0
- package/dist/embedding/openai-embedding.d.ts.map +1 -0
- package/dist/embedding/openai-embedding.js +159 -0
- package/dist/embedding/openai-embedding.js.map +1 -0
- package/dist/embedding/voyageai-embedding.d.ts +44 -0
- package/dist/embedding/voyageai-embedding.d.ts.map +1 -0
- package/dist/embedding/voyageai-embedding.js +227 -0
- package/dist/embedding/voyageai-embedding.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/splitter/ast-splitter.d.ts +22 -0
- package/dist/splitter/ast-splitter.d.ts.map +1 -0
- package/dist/splitter/ast-splitter.js +234 -0
- package/dist/splitter/ast-splitter.js.map +1 -0
- package/dist/splitter/index.d.ts +41 -0
- package/dist/splitter/index.d.ts.map +1 -0
- package/dist/splitter/index.js +27 -0
- package/dist/splitter/index.js.map +1 -0
- package/dist/splitter/langchain-splitter.d.ts +13 -0
- package/dist/splitter/langchain-splitter.d.ts.map +1 -0
- package/dist/splitter/langchain-splitter.js +118 -0
- package/dist/splitter/langchain-splitter.js.map +1 -0
- package/dist/sync/merkle.d.ts +26 -0
- package/dist/sync/merkle.d.ts.map +1 -0
- package/dist/sync/merkle.js +112 -0
- package/dist/sync/merkle.js.map +1 -0
- package/dist/sync/synchronizer.d.ts +30 -0
- package/dist/sync/synchronizer.d.ts.map +1 -0
- package/dist/sync/synchronizer.js +339 -0
- package/dist/sync/synchronizer.js.map +1 -0
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/env-manager.d.ts +19 -0
- package/dist/utils/env-manager.d.ts.map +1 -0
- package/dist/utils/env-manager.js +125 -0
- package/dist/utils/env-manager.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/vectordb/base/base-vector-database.d.ts +58 -0
- package/dist/vectordb/base/base-vector-database.d.ts.map +1 -0
- package/dist/vectordb/base/base-vector-database.js +32 -0
- package/dist/vectordb/base/base-vector-database.js.map +1 -0
- package/dist/vectordb/factory.d.ts +80 -0
- package/dist/vectordb/factory.d.ts.map +1 -0
- package/dist/vectordb/factory.js +89 -0
- package/dist/vectordb/factory.js.map +1 -0
- package/dist/vectordb/index.d.ts +12 -0
- package/dist/vectordb/index.d.ts.map +1 -0
- package/dist/vectordb/index.js +27 -0
- package/dist/vectordb/index.js.map +1 -0
- package/dist/vectordb/milvus-restful-vectordb.d.ts +75 -0
- package/dist/vectordb/milvus-restful-vectordb.d.ts.map +1 -0
- package/dist/vectordb/milvus-restful-vectordb.js +707 -0
- package/dist/vectordb/milvus-restful-vectordb.js.map +1 -0
- package/dist/vectordb/milvus-vectordb.d.ts +59 -0
- package/dist/vectordb/milvus-vectordb.d.ts.map +1 -0
- package/dist/vectordb/milvus-vectordb.js +641 -0
- package/dist/vectordb/milvus-vectordb.js.map +1 -0
- package/dist/vectordb/qdrant-vectordb.d.ts +124 -0
- package/dist/vectordb/qdrant-vectordb.d.ts.map +1 -0
- package/dist/vectordb/qdrant-vectordb.js +582 -0
- package/dist/vectordb/qdrant-vectordb.js.map +1 -0
- package/dist/vectordb/sparse/index.d.ts +4 -0
- package/dist/vectordb/sparse/index.d.ts.map +1 -0
- package/dist/vectordb/sparse/index.js +23 -0
- package/dist/vectordb/sparse/index.js.map +1 -0
- package/dist/vectordb/sparse/simple-bm25.d.ts +104 -0
- package/dist/vectordb/sparse/simple-bm25.d.ts.map +1 -0
- package/dist/vectordb/sparse/simple-bm25.js +189 -0
- package/dist/vectordb/sparse/simple-bm25.js.map +1 -0
- package/dist/vectordb/sparse/sparse-vector-generator.d.ts +54 -0
- package/dist/vectordb/sparse/sparse-vector-generator.d.ts.map +1 -0
- package/dist/vectordb/sparse/sparse-vector-generator.js +3 -0
- package/dist/vectordb/sparse/sparse-vector-generator.js.map +1 -0
- package/dist/vectordb/sparse/types.d.ts +38 -0
- package/dist/vectordb/sparse/types.d.ts.map +1 -0
- package/dist/vectordb/sparse/types.js +3 -0
- package/dist/vectordb/sparse/types.js.map +1 -0
- package/dist/vectordb/types.d.ts +120 -0
- package/dist/vectordb/types.d.ts.map +1 -0
- package/dist/vectordb/types.js +9 -0
- package/dist/vectordb/types.js.map +1 -0
- package/dist/vectordb/zilliz-utils.d.ts +135 -0
- package/dist/vectordb/zilliz-utils.d.ts.map +1 -0
- package/dist/vectordb/zilliz-utils.js +192 -0
- package/dist/vectordb/zilliz-utils.js.map +1 -0
- package/package.json +61 -0
@@ -0,0 +1,104 @@
|
|
1
|
+
import { SparseVectorGenerator } from './sparse-vector-generator';
|
2
|
+
import { SparseVector, SparseVectorConfig } from './types';
|
3
|
+
/**
|
4
|
+
* Configuration for BM25 algorithm
|
5
|
+
*/
|
6
|
+
export interface BM25Config {
|
7
|
+
/**
|
8
|
+
* Term frequency saturation parameter
|
9
|
+
* Controls how quickly term frequency impact saturates
|
10
|
+
* @default 1.2
|
11
|
+
*/
|
12
|
+
k1?: number;
|
13
|
+
/**
|
14
|
+
* Length normalization parameter
|
15
|
+
* 0 = no normalization, 1 = full normalization
|
16
|
+
* @default 0.75
|
17
|
+
*/
|
18
|
+
b?: number;
|
19
|
+
/**
|
20
|
+
* Minimum term length to include
|
21
|
+
* @default 2
|
22
|
+
*/
|
23
|
+
minTermLength?: number;
|
24
|
+
/**
|
25
|
+
* Stop words to exclude
|
26
|
+
* @default []
|
27
|
+
*/
|
28
|
+
stopWords?: Set<string>;
|
29
|
+
}
|
30
|
+
/**
|
31
|
+
* Simple BM25 implementation for sparse vector generation
|
32
|
+
*
|
33
|
+
* BM25 (Best Matching 25) is a probabilistic ranking function
|
34
|
+
* used for information retrieval and text search.
|
35
|
+
*
|
36
|
+
* Formula:
|
37
|
+
* score(D,Q) = Σ IDF(qi) × (f(qi,D) × (k1 + 1)) / (f(qi,D) + k1 × (1 - b + b × |D| / avgdl))
|
38
|
+
*
|
39
|
+
* Where:
|
40
|
+
* - D = document
|
41
|
+
* - Q = query
|
42
|
+
* - qi = query term i
|
43
|
+
* - f(qi,D) = term frequency in document
|
44
|
+
* - |D| = document length
|
45
|
+
* - avgdl = average document length
|
46
|
+
* - IDF(qi) = inverse document frequency
|
47
|
+
*/
|
48
|
+
export declare class SimpleBM25 implements SparseVectorGenerator {
|
49
|
+
private k1;
|
50
|
+
private b;
|
51
|
+
private minTermLength;
|
52
|
+
private stopWords;
|
53
|
+
private vocabulary;
|
54
|
+
private idf;
|
55
|
+
private avgDocLength;
|
56
|
+
private trained;
|
57
|
+
constructor(config?: BM25Config);
|
58
|
+
/**
|
59
|
+
* Tokenize text into terms
|
60
|
+
* Simple but effective tokenization:
|
61
|
+
* 1. Lowercase
|
62
|
+
* 2. Remove special characters
|
63
|
+
* 3. Split on whitespace
|
64
|
+
* 4. Filter by length and stop words
|
65
|
+
*/
|
66
|
+
private tokenize;
|
67
|
+
/**
|
68
|
+
* Calculate term frequency for a document
|
69
|
+
*/
|
70
|
+
private calculateTermFrequency;
|
71
|
+
/**
|
72
|
+
* Learn vocabulary and IDF from corpus
|
73
|
+
*/
|
74
|
+
learn(documents: string[]): void;
|
75
|
+
/**
|
76
|
+
* Generate sparse vector for a single text
|
77
|
+
*/
|
78
|
+
generate(text: string, config?: SparseVectorConfig): SparseVector;
|
79
|
+
/**
|
80
|
+
* Generate sparse vectors for multiple texts (batch operation)
|
81
|
+
*/
|
82
|
+
generateBatch(texts: string[], config?: SparseVectorConfig): SparseVector[];
|
83
|
+
/**
|
84
|
+
* Get vocabulary size
|
85
|
+
*/
|
86
|
+
getVocabularySize(): number;
|
87
|
+
/**
|
88
|
+
* Get average document length
|
89
|
+
*/
|
90
|
+
getAverageDocumentLength(): number;
|
91
|
+
/**
|
92
|
+
* Check if trained
|
93
|
+
*/
|
94
|
+
isTrained(): boolean;
|
95
|
+
/**
|
96
|
+
* Get the vocabulary (for debugging/inspection)
|
97
|
+
*/
|
98
|
+
getVocabulary(): Map<string, number>;
|
99
|
+
/**
|
100
|
+
* Get IDF scores (for debugging/inspection)
|
101
|
+
*/
|
102
|
+
getIDFScores(): Map<string, number>;
|
103
|
+
}
|
104
|
+
//# sourceMappingURL=simple-bm25.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"simple-bm25.d.ts","sourceRoot":"","sources":["../../../src/vectordb/sparse/simple-bm25.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UAAW,YAAW,qBAAqB;IACpD,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,CAAC,CAAS;IAClB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAc;IAG/B,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,GAAG,CAAkC;IAC7C,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,OAAO,CAAkB;gBAErB,MAAM,GAAE,UAAe;IAOnC;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ;IAWhB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAQ9B;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IA8ChC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,YAAY;IA+DjE;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,YAAY,EAAE;IAI3E;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,wBAAwB,IAAI,MAAM;IAIlC;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAIpC;;OAEG;IACH,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;CAGtC"}
|
@@ -0,0 +1,189 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.SimpleBM25 = void 0;
|
4
|
+
/**
|
5
|
+
* Simple BM25 implementation for sparse vector generation
|
6
|
+
*
|
7
|
+
* BM25 (Best Matching 25) is a probabilistic ranking function
|
8
|
+
* used for information retrieval and text search.
|
9
|
+
*
|
10
|
+
* Formula:
|
11
|
+
* score(D,Q) = Σ IDF(qi) × (f(qi,D) × (k1 + 1)) / (f(qi,D) + k1 × (1 - b + b × |D| / avgdl))
|
12
|
+
*
|
13
|
+
* Where:
|
14
|
+
* - D = document
|
15
|
+
* - Q = query
|
16
|
+
* - qi = query term i
|
17
|
+
* - f(qi,D) = term frequency in document
|
18
|
+
* - |D| = document length
|
19
|
+
* - avgdl = average document length
|
20
|
+
* - IDF(qi) = inverse document frequency
|
21
|
+
*/
|
22
|
+
class SimpleBM25 {
|
23
|
+
constructor(config = {}) {
|
24
|
+
// Learned from corpus
|
25
|
+
this.vocabulary = new Map();
|
26
|
+
this.idf = new Map();
|
27
|
+
this.avgDocLength = 0;
|
28
|
+
this.trained = false;
|
29
|
+
this.k1 = config.k1 ?? 1.2;
|
30
|
+
this.b = config.b ?? 0.75;
|
31
|
+
this.minTermLength = config.minTermLength ?? 2;
|
32
|
+
this.stopWords = config.stopWords ?? new Set();
|
33
|
+
}
|
34
|
+
/**
|
35
|
+
* Tokenize text into terms
|
36
|
+
* Simple but effective tokenization:
|
37
|
+
* 1. Lowercase
|
38
|
+
* 2. Remove special characters
|
39
|
+
* 3. Split on whitespace
|
40
|
+
* 4. Filter by length and stop words
|
41
|
+
*/
|
42
|
+
tokenize(text) {
|
43
|
+
return text
|
44
|
+
.toLowerCase()
|
45
|
+
.replace(/[^\w\s]/g, ' ')
|
46
|
+
.split(/\s+/)
|
47
|
+
.filter(term => term.length >= this.minTermLength &&
|
48
|
+
!this.stopWords.has(term));
|
49
|
+
}
|
50
|
+
/**
|
51
|
+
* Calculate term frequency for a document
|
52
|
+
*/
|
53
|
+
calculateTermFrequency(tokens) {
|
54
|
+
const termFreq = new Map();
|
55
|
+
tokens.forEach(token => {
|
56
|
+
termFreq.set(token, (termFreq.get(token) || 0) + 1);
|
57
|
+
});
|
58
|
+
return termFreq;
|
59
|
+
}
|
60
|
+
/**
|
61
|
+
* Learn vocabulary and IDF from corpus
|
62
|
+
*/
|
63
|
+
learn(documents) {
|
64
|
+
if (documents.length === 0) {
|
65
|
+
throw new Error('Cannot learn from empty corpus');
|
66
|
+
}
|
67
|
+
// Reset state
|
68
|
+
this.vocabulary.clear();
|
69
|
+
this.idf.clear();
|
70
|
+
// Tokenize all documents
|
71
|
+
const tokenizedDocs = documents.map(doc => this.tokenize(doc));
|
72
|
+
// Calculate average document length
|
73
|
+
const totalLength = tokenizedDocs.reduce((sum, tokens) => sum + tokens.length, 0);
|
74
|
+
this.avgDocLength = totalLength / tokenizedDocs.length;
|
75
|
+
// Calculate document frequency for each term
|
76
|
+
const docFreq = new Map();
|
77
|
+
tokenizedDocs.forEach(tokens => {
|
78
|
+
const uniqueTerms = new Set(tokens);
|
79
|
+
uniqueTerms.forEach(term => {
|
80
|
+
docFreq.set(term, (docFreq.get(term) || 0) + 1);
|
81
|
+
});
|
82
|
+
});
|
83
|
+
// Build vocabulary and calculate IDF
|
84
|
+
// IDF formula: log((N - df + 0.5) / (df + 0.5))
|
85
|
+
const numDocs = documents.length;
|
86
|
+
let vocabIndex = 0;
|
87
|
+
docFreq.forEach((df, term) => {
|
88
|
+
// Add to vocabulary
|
89
|
+
this.vocabulary.set(term, vocabIndex++);
|
90
|
+
// Calculate IDF
|
91
|
+
const idf = Math.log((numDocs - df + 0.5) / (df + 0.5));
|
92
|
+
this.idf.set(term, idf);
|
93
|
+
});
|
94
|
+
this.trained = true;
|
95
|
+
console.log(`[SimpleBM25] Learned from ${numDocs} documents`);
|
96
|
+
console.log(`[SimpleBM25] Vocabulary size: ${this.vocabulary.size}`);
|
97
|
+
console.log(`[SimpleBM25] Average document length: ${this.avgDocLength.toFixed(2)}`);
|
98
|
+
}
|
99
|
+
/**
|
100
|
+
* Generate sparse vector for a single text
|
101
|
+
*/
|
102
|
+
generate(text, config) {
|
103
|
+
if (!this.trained) {
|
104
|
+
throw new Error('BM25 generator must be trained before generating vectors. Call learn() first.');
|
105
|
+
}
|
106
|
+
const tokens = this.tokenize(text);
|
107
|
+
const termFreq = this.calculateTermFrequency(tokens);
|
108
|
+
const docLength = tokens.length;
|
109
|
+
const indices = [];
|
110
|
+
const values = [];
|
111
|
+
// Calculate BM25 score for each term
|
112
|
+
termFreq.forEach((tf, term) => {
|
113
|
+
const vocabIndex = this.vocabulary.get(term);
|
114
|
+
const idfScore = this.idf.get(term);
|
115
|
+
// Skip terms not in vocabulary (unknown terms)
|
116
|
+
if (vocabIndex === undefined || idfScore === undefined) {
|
117
|
+
return;
|
118
|
+
}
|
119
|
+
// BM25 formula
|
120
|
+
const normalizedTF = (tf * (this.k1 + 1)) /
|
121
|
+
(tf + this.k1 * (1 - this.b + (this.b * docLength) / this.avgDocLength));
|
122
|
+
const score = idfScore * normalizedTF;
|
123
|
+
// Apply minimum score threshold if configured
|
124
|
+
if (config?.minScore !== undefined && score < config.minScore) {
|
125
|
+
return;
|
126
|
+
}
|
127
|
+
indices.push(vocabIndex);
|
128
|
+
values.push(score);
|
129
|
+
});
|
130
|
+
// Sort by score descending and apply maxTerms limit
|
131
|
+
if (config?.maxTerms !== undefined && indices.length > config.maxTerms) {
|
132
|
+
const combined = indices.map((idx, i) => ({ idx, val: values[i] }));
|
133
|
+
combined.sort((a, b) => b.val - a.val);
|
134
|
+
combined.splice(config.maxTerms);
|
135
|
+
indices.length = 0;
|
136
|
+
values.length = 0;
|
137
|
+
combined.forEach(({ idx, val }) => {
|
138
|
+
indices.push(idx);
|
139
|
+
values.push(val);
|
140
|
+
});
|
141
|
+
}
|
142
|
+
// Normalize if requested
|
143
|
+
if (config?.normalize && values.length > 0) {
|
144
|
+
const norm = Math.sqrt(values.reduce((sum, val) => sum + val * val, 0));
|
145
|
+
for (let i = 0; i < values.length; i++) {
|
146
|
+
values[i] /= norm;
|
147
|
+
}
|
148
|
+
}
|
149
|
+
return { indices, values };
|
150
|
+
}
|
151
|
+
/**
|
152
|
+
* Generate sparse vectors for multiple texts (batch operation)
|
153
|
+
*/
|
154
|
+
generateBatch(texts, config) {
|
155
|
+
return texts.map(text => this.generate(text, config));
|
156
|
+
}
|
157
|
+
/**
|
158
|
+
* Get vocabulary size
|
159
|
+
*/
|
160
|
+
getVocabularySize() {
|
161
|
+
return this.vocabulary.size;
|
162
|
+
}
|
163
|
+
/**
|
164
|
+
* Get average document length
|
165
|
+
*/
|
166
|
+
getAverageDocumentLength() {
|
167
|
+
return this.avgDocLength;
|
168
|
+
}
|
169
|
+
/**
|
170
|
+
* Check if trained
|
171
|
+
*/
|
172
|
+
isTrained() {
|
173
|
+
return this.trained;
|
174
|
+
}
|
175
|
+
/**
|
176
|
+
* Get the vocabulary (for debugging/inspection)
|
177
|
+
*/
|
178
|
+
getVocabulary() {
|
179
|
+
return new Map(this.vocabulary);
|
180
|
+
}
|
181
|
+
/**
|
182
|
+
* Get IDF scores (for debugging/inspection)
|
183
|
+
*/
|
184
|
+
getIDFScores() {
|
185
|
+
return new Map(this.idf);
|
186
|
+
}
|
187
|
+
}
|
188
|
+
exports.SimpleBM25 = SimpleBM25;
|
189
|
+
//# sourceMappingURL=simple-bm25.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"simple-bm25.js","sourceRoot":"","sources":["../../../src/vectordb/sparse/simple-bm25.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import { SparseVector, SparseVectorConfig } from './types';
|
2
|
+
/**
|
3
|
+
* Abstract interface for sparse vector generation
|
4
|
+
*
|
5
|
+
* Sparse vectors are used for:
|
6
|
+
* - BM25 keyword-based search
|
7
|
+
* - Hybrid search (combining dense + sparse)
|
8
|
+
* - Text-based retrieval with term importance
|
9
|
+
*
|
10
|
+
* Implementations should:
|
11
|
+
* 1. Learn vocabulary from a corpus
|
12
|
+
* 2. Generate sparse vectors with indices (vocabulary positions) and values (scores)
|
13
|
+
* 3. Support both single document and batch processing
|
14
|
+
*/
|
15
|
+
export interface SparseVectorGenerator {
|
16
|
+
/**
|
17
|
+
* Learn vocabulary and statistics from a corpus of documents
|
18
|
+
* This should be called during indexing to build IDF statistics
|
19
|
+
*
|
20
|
+
* @param documents - Array of document texts to learn from
|
21
|
+
*/
|
22
|
+
learn(documents: string[]): void;
|
23
|
+
/**
|
24
|
+
* Generate sparse vector for a single text
|
25
|
+
*
|
26
|
+
* @param text - Input text to vectorize
|
27
|
+
* @param config - Optional configuration for vector generation
|
28
|
+
* @returns Sparse vector with indices and values
|
29
|
+
*/
|
30
|
+
generate(text: string, config?: SparseVectorConfig): SparseVector;
|
31
|
+
/**
|
32
|
+
* Generate sparse vectors for multiple texts (batch operation)
|
33
|
+
*
|
34
|
+
* @param texts - Array of input texts to vectorize
|
35
|
+
* @param config - Optional configuration for vector generation
|
36
|
+
* @returns Array of sparse vectors
|
37
|
+
*/
|
38
|
+
generateBatch(texts: string[], config?: SparseVectorConfig): SparseVector[];
|
39
|
+
/**
|
40
|
+
* Get the vocabulary size (number of unique terms)
|
41
|
+
* Useful for debugging and understanding the sparse vector space
|
42
|
+
*/
|
43
|
+
getVocabularySize(): number;
|
44
|
+
/**
|
45
|
+
* Get average document length from the learned corpus
|
46
|
+
* Used for BM25 length normalization
|
47
|
+
*/
|
48
|
+
getAverageDocumentLength(): number;
|
49
|
+
/**
|
50
|
+
* Check if the generator has been trained (learned from corpus)
|
51
|
+
*/
|
52
|
+
isTrained(): boolean;
|
53
|
+
}
|
54
|
+
//# sourceMappingURL=sparse-vector-generator.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sparse-vector-generator.d.ts","sourceRoot":"","sources":["../../../src/vectordb/sparse/sparse-vector-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE3D;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;;;OAKG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEjC;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,YAAY,CAAC;IAElE;;;;;;OAMG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAAC;IAE5E;;;OAGG;IACH,iBAAiB,IAAI,MAAM,CAAC;IAE5B;;;OAGG;IACH,wBAAwB,IAAI,MAAM,CAAC;IAEnC;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC;CACxB"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sparse-vector-generator.js","sourceRoot":"","sources":["../../../src/vectordb/sparse/sparse-vector-generator.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
/**
|
2
|
+
* Sparse vector representation
|
3
|
+
* Used for BM25 and other sparse encoding methods
|
4
|
+
*/
|
5
|
+
export interface SparseVector {
|
6
|
+
/**
|
7
|
+
* Indices of non-zero elements
|
8
|
+
* Each index maps to a position in the vocabulary
|
9
|
+
*/
|
10
|
+
indices: number[];
|
11
|
+
/**
|
12
|
+
* Values corresponding to the indices
|
13
|
+
* Typically BM25 scores or TF-IDF weights
|
14
|
+
*/
|
15
|
+
values: number[];
|
16
|
+
}
|
17
|
+
/**
|
18
|
+
* Configuration for sparse vector generation
|
19
|
+
*/
|
20
|
+
export interface SparseVectorConfig {
|
21
|
+
/**
|
22
|
+
* Minimum score threshold for including a term
|
23
|
+
* Terms with scores below this will be filtered out
|
24
|
+
* @default 0
|
25
|
+
*/
|
26
|
+
minScore?: number;
|
27
|
+
/**
|
28
|
+
* Maximum number of terms to include in sparse vector
|
29
|
+
* @default undefined (no limit)
|
30
|
+
*/
|
31
|
+
maxTerms?: number;
|
32
|
+
/**
|
33
|
+
* Whether to normalize vector values
|
34
|
+
* @default false
|
35
|
+
*/
|
36
|
+
normalize?: boolean;
|
37
|
+
}
|
38
|
+
//# sourceMappingURL=types.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vectordb/sparse/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB;;;OAGG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB;;;OAGG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/vectordb/sparse/types.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,120 @@
|
|
1
|
+
export interface VectorDocument {
|
2
|
+
id: string;
|
3
|
+
vector: number[];
|
4
|
+
content: string;
|
5
|
+
relativePath: string;
|
6
|
+
startLine: number;
|
7
|
+
endLine: number;
|
8
|
+
fileExtension: string;
|
9
|
+
metadata: Record<string, any>;
|
10
|
+
}
|
11
|
+
export interface SearchOptions {
|
12
|
+
topK?: number;
|
13
|
+
filter?: Record<string, any>;
|
14
|
+
threshold?: number;
|
15
|
+
filterExpr?: string;
|
16
|
+
}
|
17
|
+
export interface HybridSearchRequest {
|
18
|
+
data: number[] | string;
|
19
|
+
anns_field: string;
|
20
|
+
param: Record<string, any>;
|
21
|
+
limit: number;
|
22
|
+
}
|
23
|
+
export interface HybridSearchOptions {
|
24
|
+
rerank?: RerankStrategy;
|
25
|
+
limit?: number;
|
26
|
+
filterExpr?: string;
|
27
|
+
}
|
28
|
+
export interface RerankStrategy {
|
29
|
+
strategy: 'rrf' | 'weighted';
|
30
|
+
params?: Record<string, any>;
|
31
|
+
}
|
32
|
+
export interface VectorSearchResult {
|
33
|
+
document: VectorDocument;
|
34
|
+
score: number;
|
35
|
+
}
|
36
|
+
export interface HybridSearchResult {
|
37
|
+
document: VectorDocument;
|
38
|
+
score: number;
|
39
|
+
}
|
40
|
+
export interface VectorDatabase {
|
41
|
+
/**
|
42
|
+
* Create collection
|
43
|
+
* @param collectionName Collection name
|
44
|
+
* @param dimension Vector dimension
|
45
|
+
* @param description Collection description
|
46
|
+
*/
|
47
|
+
createCollection(collectionName: string, dimension: number, description?: string): Promise<void>;
|
48
|
+
/**
|
49
|
+
* Create collection with hybrid search support
|
50
|
+
* @param collectionName Collection name
|
51
|
+
* @param dimension Dense vector dimension
|
52
|
+
* @param description Collection description
|
53
|
+
*/
|
54
|
+
createHybridCollection(collectionName: string, dimension: number, description?: string): Promise<void>;
|
55
|
+
/**
|
56
|
+
* Drop collection
|
57
|
+
* @param collectionName Collection name
|
58
|
+
*/
|
59
|
+
dropCollection(collectionName: string): Promise<void>;
|
60
|
+
/**
|
61
|
+
* Check if collection exists
|
62
|
+
* @param collectionName Collection name
|
63
|
+
*/
|
64
|
+
hasCollection(collectionName: string): Promise<boolean>;
|
65
|
+
/**
|
66
|
+
* List all collections
|
67
|
+
*/
|
68
|
+
listCollections(): Promise<string[]>;
|
69
|
+
/**
|
70
|
+
* Insert vector documents
|
71
|
+
* @param collectionName Collection name
|
72
|
+
* @param documents Document array
|
73
|
+
*/
|
74
|
+
insert(collectionName: string, documents: VectorDocument[]): Promise<void>;
|
75
|
+
/**
|
76
|
+
* Insert hybrid vector documents
|
77
|
+
* @param collectionName Collection name
|
78
|
+
* @param documents Document array
|
79
|
+
*/
|
80
|
+
insertHybrid(collectionName: string, documents: VectorDocument[]): Promise<void>;
|
81
|
+
/**
|
82
|
+
* Search similar vectors
|
83
|
+
* @param collectionName Collection name
|
84
|
+
* @param queryVector Query vector
|
85
|
+
* @param options Search options
|
86
|
+
*/
|
87
|
+
search(collectionName: string, queryVector: number[], options?: SearchOptions): Promise<VectorSearchResult[]>;
|
88
|
+
/**
|
89
|
+
* Hybrid search with multiple vector fields
|
90
|
+
* @param collectionName Collection name
|
91
|
+
* @param searchRequests Array of search requests for different fields
|
92
|
+
* @param options Hybrid search options including reranking
|
93
|
+
*/
|
94
|
+
hybridSearch(collectionName: string, searchRequests: HybridSearchRequest[], options?: HybridSearchOptions): Promise<HybridSearchResult[]>;
|
95
|
+
/**
|
96
|
+
* Delete documents
|
97
|
+
* @param collectionName Collection name
|
98
|
+
* @param ids Document ID array
|
99
|
+
*/
|
100
|
+
delete(collectionName: string, ids: string[]): Promise<void>;
|
101
|
+
/**
|
102
|
+
* Query documents with filter conditions
|
103
|
+
* @param collectionName Collection name
|
104
|
+
* @param filter Filter expression
|
105
|
+
* @param outputFields Fields to return
|
106
|
+
* @param limit Maximum number of results
|
107
|
+
*/
|
108
|
+
query(collectionName: string, filter: string, outputFields: string[], limit?: number): Promise<Record<string, any>[]>;
|
109
|
+
/**
|
110
|
+
* Check collection limit
|
111
|
+
* Returns true if collection can be created, false if limit exceeded
|
112
|
+
*/
|
113
|
+
checkCollectionLimit(): Promise<boolean>;
|
114
|
+
}
|
115
|
+
/**
|
116
|
+
* Special error message for collection limit exceeded
|
117
|
+
* This allows us to distinguish it from other errors across all Milvus implementations
|
118
|
+
*/
|
119
|
+
export declare const COLLECTION_LIMIT_MESSAGE = "[Error]: Your Zilliz Cloud account has hit its collection limit. To continue creating collections, you'll need to expand your capacity. We recommend visiting https://zilliz.com/pricing to explore options for dedicated or serverless clusters.";
|
120
|
+
//# sourceMappingURL=types.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vectordb/types.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.COLLECTION_LIMIT_MESSAGE = void 0;
|
4
|
+
/**
|
5
|
+
* Special error message for collection limit exceeded
|
6
|
+
* This allows us to distinguish it from other errors across all Milvus implementations
|
7
|
+
*/
|
8
|
+
exports.COLLECTION_LIMIT_MESSAGE = "[Error]: Your Zilliz Cloud account has hit its collection limit. To continue creating collections, you'll need to expand your capacity. We recommend visiting https://zilliz.com/pricing to explore options for dedicated or serverless clusters.";
|
9
|
+
//# sourceMappingURL=types.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vectordb/types.ts"],"names":[],"mappings":";;;AAuIA;;;GAGG;AACU,QAAA,wBAAwB,GAAG,mPAAmP,CAAC"}
|