redis-vl 0.1.0 → 0.3.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/README.md +1 -1
- package/dist/index.d.ts +14 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -6
- package/dist/index.js.map +1 -1
- package/dist/indexes/search-index.d.ts +30 -4
- package/dist/indexes/search-index.d.ts.map +1 -1
- package/dist/indexes/search-index.js +44 -16
- package/dist/indexes/search-index.js.map +1 -1
- package/dist/query/{aggregation.d.ts → aggregate/aggregation.d.ts} +1 -1
- package/dist/query/aggregate/aggregation.d.ts.map +1 -0
- package/dist/query/{aggregation.js → aggregate/aggregation.js} +2 -2
- package/dist/query/aggregate/aggregation.js.map +1 -0
- package/dist/query/hybrid.d.ts +17 -8
- package/dist/query/hybrid.d.ts.map +1 -1
- package/dist/query/hybrid.js +22 -13
- package/dist/query/hybrid.js.map +1 -1
- package/dist/query/index.d.ts +7 -7
- package/dist/query/index.d.ts.map +1 -1
- package/dist/query/index.js +7 -7
- package/dist/query/index.js.map +1 -1
- package/dist/query/search/base.d.ts +170 -0
- package/dist/query/search/base.d.ts.map +1 -0
- package/dist/query/search/base.js +196 -0
- package/dist/query/search/base.js.map +1 -0
- package/dist/query/{count.d.ts → search/count.d.ts} +2 -6
- package/dist/query/search/count.d.ts.map +1 -0
- package/dist/query/{count.js → search/count.js} +3 -9
- package/dist/query/search/count.js.map +1 -0
- package/dist/query/{filter-query.d.ts → search/filter-query.d.ts} +3 -8
- package/dist/query/search/filter-query.d.ts.map +1 -0
- package/dist/query/{filter-query.js → search/filter-query.js} +10 -14
- package/dist/query/search/filter-query.js.map +1 -0
- package/dist/query/{range.d.ts → search/range.d.ts} +4 -16
- package/dist/query/search/range.d.ts.map +1 -0
- package/dist/query/{range.js → search/range.js} +9 -36
- package/dist/query/search/range.js.map +1 -0
- package/dist/query/{text.d.ts → search/text.d.ts} +5 -9
- package/dist/query/search/text.d.ts.map +1 -0
- package/dist/query/{text.js → search/text.js} +13 -14
- package/dist/query/search/text.js.map +1 -0
- package/dist/query/{vector.d.ts → search/vector.d.ts} +7 -33
- package/dist/query/search/vector.d.ts.map +1 -0
- package/dist/query/{vector.js → search/vector.js} +9 -38
- package/dist/query/search/vector.js.map +1 -0
- package/dist/redis/client-types.d.ts +1 -1
- package/dist/redis/client-types.js +1 -1
- package/dist/redis/utils.d.ts +12 -1
- package/dist/redis/utils.d.ts.map +1 -1
- package/dist/redis/utils.js +17 -1
- package/dist/redis/utils.js.map +1 -1
- package/dist/schema/schema.d.ts +2 -2
- package/dist/schema/types.d.ts +5 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/types.js.map +1 -1
- package/dist/storage/base-storage.d.ts +0 -1
- package/dist/storage/base-storage.d.ts.map +1 -1
- package/dist/storage/base-storage.js.map +1 -1
- package/dist/storage/json-storage.d.ts +5 -0
- package/dist/storage/json-storage.d.ts.map +1 -1
- package/dist/storage/json-storage.js +34 -0
- package/dist/storage/json-storage.js.map +1 -1
- package/package.json +13 -13
- package/dist/query/aggregation.d.ts.map +0 -1
- package/dist/query/aggregation.js.map +0 -1
- package/dist/query/base.d.ts +0 -77
- package/dist/query/base.d.ts.map +0 -1
- package/dist/query/base.js +0 -14
- package/dist/query/base.js.map +0 -1
- package/dist/query/count.d.ts.map +0 -1
- package/dist/query/count.js.map +0 -1
- package/dist/query/filter-query.d.ts.map +0 -1
- package/dist/query/filter-query.js.map +0 -1
- package/dist/query/range.d.ts.map +0 -1
- package/dist/query/range.js.map +0 -1
- package/dist/query/text.d.ts.map +0 -1
- package/dist/query/text.js.map +0 -1
- package/dist/query/vector.d.ts.map +0 -1
- package/dist/query/vector.js.map +0 -1
- package/dist/redis/protocol.d.ts +0 -34
- package/dist/redis/protocol.d.ts.map +0 -1
- package/dist/redis/protocol.js +0 -47
- package/dist/redis/protocol.js.map +0 -1
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import { VectorDataType, VectorDistanceMetric } from '
|
|
1
|
+
import { BaseVectorQuery, type BaseVectorQueryConfig, type FilterInput } from './base.js';
|
|
2
|
+
import { VectorDataType, VectorDistanceMetric } from '../../schema/types.js';
|
|
3
3
|
import type { HybridPolicy } from './vector.js';
|
|
4
4
|
/**
|
|
5
5
|
* Configuration for {@link VectorRangeQuery}.
|
|
6
6
|
*/
|
|
7
|
-
export interface VectorRangeQueryConfig {
|
|
8
|
-
/** Query vector. */
|
|
9
|
-
vector: number[];
|
|
10
|
-
/** Vector field name to search against. */
|
|
11
|
-
vectorField: string;
|
|
7
|
+
export interface VectorRangeQueryConfig extends BaseVectorQueryConfig {
|
|
12
8
|
/**
|
|
13
9
|
* Maximum allowed vector distance for results.
|
|
14
10
|
*
|
|
@@ -60,20 +56,12 @@ export interface VectorRangeQueryConfig {
|
|
|
60
56
|
* const results = await index.search(q);
|
|
61
57
|
* ```
|
|
62
58
|
*/
|
|
63
|
-
export declare class VectorRangeQuery
|
|
64
|
-
readonly vector: number[];
|
|
65
|
-
readonly vectorField: string;
|
|
59
|
+
export declare class VectorRangeQuery extends BaseVectorQuery {
|
|
66
60
|
readonly distanceThreshold: number;
|
|
67
|
-
readonly filter?: FilterInput;
|
|
68
|
-
readonly returnFields?: string[];
|
|
69
61
|
readonly distanceMetric: VectorDistanceMetric;
|
|
70
|
-
readonly datatype: VectorDataType;
|
|
71
|
-
readonly offset?: number;
|
|
72
|
-
readonly limit?: number;
|
|
73
62
|
readonly scoreAlias: string;
|
|
74
63
|
readonly hybridPolicy?: HybridPolicy;
|
|
75
64
|
readonly batchSize?: number;
|
|
76
|
-
readonly normalizeDistance: boolean;
|
|
77
65
|
constructor(config: VectorRangeQueryConfig);
|
|
78
66
|
buildQuery(): string;
|
|
79
67
|
buildParams(): Record<string, unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../src/query/search/range.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EAEf,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EACnB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACjE;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,gFAAgF;IAChF,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,uEAAuE;IACvE,cAAc,CAAC,EAAE,oBAAoB,CAAC;IAEtC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;IAEnC,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yEAAyE;IACzE,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;IACjD,SAAgB,iBAAiB,EAAE,MAAM,CAAC;IAC1C,SAAgB,cAAc,EAAE,oBAAoB,CAAC;IACrD,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5C,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEvB,MAAM,EAAE,sBAAsB;IA8B1C,UAAU,IAAI,MAAM;IAUpB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAgBzC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { renderFilter } from './base.js';
|
|
2
|
-
import { VectorDistanceMetric } from '
|
|
3
|
-
import { QueryValidationError
|
|
4
|
-
import {
|
|
1
|
+
import { BaseVectorQuery, renderFilter, } from './base.js';
|
|
2
|
+
import { VectorDistanceMetric } from '../../schema/types.js';
|
|
3
|
+
import { QueryValidationError } from '../../errors.js';
|
|
4
|
+
import { encodeVectorInput } from '../../redis/utils.js';
|
|
5
5
|
/**
|
|
6
6
|
* Vector similarity search by distance threshold rather than top-K.
|
|
7
7
|
*
|
|
@@ -22,27 +22,14 @@ import { encodeVectorBuffer, normalizeVectorDataType } from '../redis/utils.js';
|
|
|
22
22
|
* const results = await index.search(q);
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
|
-
export class VectorRangeQuery {
|
|
26
|
-
vector;
|
|
27
|
-
vectorField;
|
|
25
|
+
export class VectorRangeQuery extends BaseVectorQuery {
|
|
28
26
|
distanceThreshold;
|
|
29
|
-
filter;
|
|
30
|
-
returnFields;
|
|
31
27
|
distanceMetric;
|
|
32
|
-
datatype;
|
|
33
|
-
offset;
|
|
34
|
-
limit;
|
|
35
28
|
scoreAlias;
|
|
36
29
|
hybridPolicy;
|
|
37
30
|
batchSize;
|
|
38
|
-
normalizeDistance;
|
|
39
31
|
constructor(config) {
|
|
40
|
-
|
|
41
|
-
throw new QueryValidationError('Vector cannot be empty');
|
|
42
|
-
}
|
|
43
|
-
if (!config.vectorField) {
|
|
44
|
-
throw new QueryValidationError('vectorField is required');
|
|
45
|
-
}
|
|
32
|
+
super(config);
|
|
46
33
|
if (config.distanceThreshold !== undefined && config.distanceThreshold < 0) {
|
|
47
34
|
throw new QueryValidationError('distanceThreshold must be non-negative');
|
|
48
35
|
}
|
|
@@ -59,27 +46,12 @@ export class VectorRangeQuery {
|
|
|
59
46
|
throw new QueryValidationError('batchSize must be positive');
|
|
60
47
|
}
|
|
61
48
|
}
|
|
62
|
-
this.vector = config.vector;
|
|
63
|
-
this.vectorField = config.vectorField;
|
|
64
49
|
this.distanceThreshold = config.distanceThreshold ?? 0.2;
|
|
65
|
-
this.filter = config.filter;
|
|
66
|
-
this.returnFields = config.returnFields;
|
|
67
50
|
this.distanceMetric = config.distanceMetric ?? VectorDistanceMetric.COSINE;
|
|
68
|
-
try {
|
|
69
|
-
this.datatype = normalizeVectorDataType(config.datatype);
|
|
70
|
-
}
|
|
71
|
-
catch (error) {
|
|
72
|
-
if (error instanceof SchemaValidationError) {
|
|
73
|
-
throw new QueryValidationError(error.message);
|
|
74
|
-
}
|
|
75
|
-
throw error;
|
|
76
|
-
}
|
|
77
|
-
this.offset = config.offset;
|
|
78
|
-
this.limit = config.limit;
|
|
79
51
|
this.scoreAlias = config.scoreAlias ?? 'vector_distance';
|
|
80
52
|
this.hybridPolicy = config.hybridPolicy;
|
|
81
53
|
this.batchSize = config.batchSize;
|
|
82
|
-
this.
|
|
54
|
+
this.sortBy(this.scoreAlias);
|
|
83
55
|
}
|
|
84
56
|
buildQuery() {
|
|
85
57
|
const rangeClause = `@${this.vectorField}:[VECTOR_RANGE $distance_threshold $vector]=>{$yield_distance_as: ${this.scoreAlias}}`;
|
|
@@ -91,7 +63,8 @@ export class VectorRangeQuery {
|
|
|
91
63
|
}
|
|
92
64
|
buildParams() {
|
|
93
65
|
const params = {
|
|
94
|
-
|
|
66
|
+
...super.buildParams(),
|
|
67
|
+
vector: encodeVectorInput(this.vector, this.datatype),
|
|
95
68
|
distance_threshold: this.distanceThreshold,
|
|
96
69
|
};
|
|
97
70
|
if (this.hybridPolicy !== undefined) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/query/search/range.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type StopwordsInput } from '
|
|
1
|
+
import { BaseQuery, type FilterInput } from './base.js';
|
|
2
|
+
import { type StopwordsInput } from '../../utils/stopwords/resolve.js';
|
|
3
3
|
/**
|
|
4
4
|
* A Redis Search built-in text scorer.
|
|
5
5
|
* @see https://redis.io/docs/latest/develop/interact/search-and-query/advanced-concepts/scoring/
|
|
@@ -26,11 +26,11 @@ export interface TextQueryConfig {
|
|
|
26
26
|
filter?: FilterInput;
|
|
27
27
|
/** Fields to include in each result document. */
|
|
28
28
|
returnFields?: string[];
|
|
29
|
-
/** Number of results to return. Defaults to 10. */
|
|
29
|
+
/** Number of results to return. Default for `limit` (the `LIMIT` count). Defaults to 10. */
|
|
30
30
|
numResults?: number;
|
|
31
31
|
/** Pagination offset. */
|
|
32
32
|
offset?: number;
|
|
33
|
-
/**
|
|
33
|
+
/** `LIMIT` count. Takes priority over `numResults`. */
|
|
34
34
|
limit?: number;
|
|
35
35
|
/**
|
|
36
36
|
* Per-token weight map. Keys are individual words (no inner whitespace) and
|
|
@@ -96,7 +96,7 @@ export interface TextQueryConfig {
|
|
|
96
96
|
* });
|
|
97
97
|
* ```
|
|
98
98
|
*/
|
|
99
|
-
export declare class TextQuery
|
|
99
|
+
export declare class TextQuery extends BaseQuery {
|
|
100
100
|
readonly text: string;
|
|
101
101
|
/**
|
|
102
102
|
* Per-field weights. Iteration follows insertion order, which determines
|
|
@@ -107,11 +107,7 @@ export declare class TextQuery implements BaseQuery {
|
|
|
107
107
|
/** Per-token weights. Keys are normalised to lowercase, whitespace-trimmed single tokens. */
|
|
108
108
|
readonly textWeights: Readonly<Record<string, number>>;
|
|
109
109
|
readonly textScorer: TextScorer;
|
|
110
|
-
readonly filter?: FilterInput;
|
|
111
|
-
readonly returnFields?: string[];
|
|
112
110
|
readonly numResults: number;
|
|
113
|
-
readonly offset?: number;
|
|
114
|
-
readonly limit?: number;
|
|
115
111
|
readonly stopwords: ReadonlySet<string> | null;
|
|
116
112
|
constructor(config: TextQueryConfig);
|
|
117
113
|
buildQuery(): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/query/search/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAGtE,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAezF;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,eAAe,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhG;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,sIAAsI;IACtI,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/C;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,wEAAwE;IACxE,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAErC;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;CAC9B;AA+DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,SAAU,SAAQ,SAAS;IACpC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,SAAgB,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D,6FAA6F;IAC7F,SAAgB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,SAAgB,UAAU,EAAE,UAAU,CAAC;IACvC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;gBAE1C,MAAM,EAAE,eAAe;IAgBnC,UAAU,IAAI,MAAM;IAqCpB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAItC;;;;;OAKG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAS7D;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { renderFilter } from './base.js';
|
|
2
|
-
import { TokenEscaper } from '
|
|
3
|
-
import { QueryValidationError } from '
|
|
4
|
-
import { resolveStopwords } from '
|
|
1
|
+
import { BaseQuery, renderFilter } from './base.js';
|
|
2
|
+
import { TokenEscaper } from '../../utils/token-escaper.js';
|
|
3
|
+
import { QueryValidationError } from '../../errors.js';
|
|
4
|
+
import { resolveStopwords } from '../../utils/stopwords/resolve.js';
|
|
5
5
|
const escaper = new TokenEscaper();
|
|
6
6
|
const STRIP_LEADING_TRAILING_COMMAS = /^,+|,+$/g;
|
|
7
7
|
const TYPOGRAPHIC_QUOTES = /[“”]/g;
|
|
@@ -100,7 +100,7 @@ function parseTextWeights(weights) {
|
|
|
100
100
|
* });
|
|
101
101
|
* ```
|
|
102
102
|
*/
|
|
103
|
-
export class TextQuery {
|
|
103
|
+
export class TextQuery extends BaseQuery {
|
|
104
104
|
text;
|
|
105
105
|
/**
|
|
106
106
|
* Per-field weights. Iteration follows insertion order, which determines
|
|
@@ -111,22 +111,21 @@ export class TextQuery {
|
|
|
111
111
|
/** Per-token weights. Keys are normalised to lowercase, whitespace-trimmed single tokens. */
|
|
112
112
|
textWeights;
|
|
113
113
|
textScorer;
|
|
114
|
-
filter;
|
|
115
|
-
returnFields;
|
|
116
114
|
numResults;
|
|
117
|
-
offset;
|
|
118
|
-
limit;
|
|
119
115
|
stopwords;
|
|
120
116
|
constructor(config) {
|
|
117
|
+
const numResults = config.numResults ?? 10;
|
|
118
|
+
super({
|
|
119
|
+
filter: config.filter,
|
|
120
|
+
returnFields: config.returnFields,
|
|
121
|
+
offset: config.offset,
|
|
122
|
+
limit: config.limit ?? numResults,
|
|
123
|
+
});
|
|
121
124
|
this.text = config.text;
|
|
122
125
|
this.fieldWeights = parseFieldWeights(config.textFieldName);
|
|
123
126
|
this.textWeights = parseTextWeights(config.textWeights);
|
|
124
127
|
this.textScorer = config.textScorer ?? 'BM25STD';
|
|
125
|
-
this.
|
|
126
|
-
this.returnFields = config.returnFields;
|
|
127
|
-
this.numResults = config.numResults ?? 10;
|
|
128
|
-
this.offset = config.offset;
|
|
129
|
-
this.limit = config.limit ?? this.numResults;
|
|
128
|
+
this.numResults = numResults;
|
|
130
129
|
this.stopwords = resolveStopwords(config.stopwords);
|
|
131
130
|
}
|
|
132
131
|
buildQuery() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/query/search/text.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { BaseVectorQuery, type BaseVectorQueryConfig } from './base.js';
|
|
2
|
+
import { VectorDistanceMetric } from '../../schema/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Hybrid policy options for vector search with filters
|
|
5
5
|
*/
|
|
@@ -11,32 +11,14 @@ export type UseSearchHistory = 'OFF' | 'ON' | 'AUTO';
|
|
|
11
11
|
/**
|
|
12
12
|
* Configuration for VectorQuery
|
|
13
13
|
*/
|
|
14
|
-
export interface VectorQueryConfig {
|
|
15
|
-
/** Vector to search with */
|
|
16
|
-
vector: number[];
|
|
17
|
-
/** Name of the vector field in the index */
|
|
18
|
-
vectorField: string;
|
|
19
|
-
/** Number of results to return */
|
|
20
|
-
numResults?: number;
|
|
14
|
+
export interface VectorQueryConfig extends BaseVectorQueryConfig {
|
|
21
15
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
16
|
+
* Number of nearest neighbours to retrieve (the `KNN <k>` clause).
|
|
17
|
+
* Also the default for `limit`. Defaults to 10.
|
|
24
18
|
*/
|
|
25
|
-
|
|
26
|
-
/** Fields to return in results */
|
|
27
|
-
returnFields?: string[];
|
|
19
|
+
numResults?: number;
|
|
28
20
|
/** Distance metric to use */
|
|
29
21
|
distanceMetric?: VectorDistanceMetric;
|
|
30
|
-
/**
|
|
31
|
-
* Vector datatype to use when serializing the query vector.
|
|
32
|
-
* Must match the datatype declared on the schema's vector field.
|
|
33
|
-
* @default 'FLOAT32'
|
|
34
|
-
*/
|
|
35
|
-
datatype?: VectorDataType | string;
|
|
36
|
-
/** Pagination offset */
|
|
37
|
-
offset?: number;
|
|
38
|
-
/** Pagination limit */
|
|
39
|
-
limit?: number;
|
|
40
22
|
/**
|
|
41
23
|
* Alias for the score field in results
|
|
42
24
|
* @default 'vector_distance'
|
|
@@ -155,21 +137,13 @@ export interface VectorQueryConfig {
|
|
|
155
137
|
* const results = await index.search(query);
|
|
156
138
|
* ```
|
|
157
139
|
*/
|
|
158
|
-
export declare class VectorQuery
|
|
159
|
-
readonly vector: number[];
|
|
160
|
-
readonly vectorField: string;
|
|
140
|
+
export declare class VectorQuery extends BaseVectorQuery {
|
|
161
141
|
readonly numResults: number;
|
|
162
|
-
readonly filter?: FilterInput;
|
|
163
|
-
readonly returnFields?: string[];
|
|
164
142
|
readonly distanceMetric: VectorDistanceMetric;
|
|
165
|
-
readonly datatype: VectorDataType;
|
|
166
|
-
readonly offset?: number;
|
|
167
|
-
readonly limit?: number;
|
|
168
143
|
readonly scoreAlias: string;
|
|
169
144
|
readonly efRuntime?: number;
|
|
170
145
|
readonly hybridPolicy?: HybridPolicy;
|
|
171
146
|
readonly batchSize?: number;
|
|
172
|
-
readonly normalizeDistance: boolean;
|
|
173
147
|
readonly searchWindowSize?: number;
|
|
174
148
|
readonly useSearchHistory?: UseSearchHistory;
|
|
175
149
|
readonly searchBufferCapacity?: number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../../src/query/search/vector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAgB,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAI7D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC5D;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,6BAA6B;IAC7B,cAAc,CAAC,EAAE,oBAAoB,CAAC;IAEtC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,WAAY,SAAQ,eAAe;IAC5C,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,cAAc,EAAE,oBAAoB,CAAC;IACrD,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnC,SAAgB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5C,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnC,SAAgB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1C,SAAgB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpD,SAAgB,oBAAoB,CAAC,EAAE,MAAM,CAAC;gBAElC,MAAM,EAAE,iBAAiB;IA4DrC;;;;;;;;OAQG;IACH,UAAU,IAAI,MAAM;IA6BpB;;;;;;;OAOG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAuBzC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { renderFilter } from './base.js';
|
|
2
|
-
import { VectorDistanceMetric } from '
|
|
3
|
-
import { QueryValidationError
|
|
4
|
-
import {
|
|
1
|
+
import { BaseVectorQuery, renderFilter } from './base.js';
|
|
2
|
+
import { VectorDistanceMetric } from '../../schema/types.js';
|
|
3
|
+
import { QueryValidationError } from '../../errors.js';
|
|
4
|
+
import { encodeVectorInput } from '../../redis/utils.js';
|
|
5
5
|
/**
|
|
6
6
|
* Vector similarity search query using KNN (K-Nearest Neighbors)
|
|
7
7
|
*
|
|
@@ -35,33 +35,18 @@ import { encodeVectorBuffer, normalizeVectorDataType } from '../redis/utils.js';
|
|
|
35
35
|
* const results = await index.search(query);
|
|
36
36
|
* ```
|
|
37
37
|
*/
|
|
38
|
-
export class VectorQuery {
|
|
39
|
-
vector;
|
|
40
|
-
vectorField;
|
|
38
|
+
export class VectorQuery extends BaseVectorQuery {
|
|
41
39
|
numResults;
|
|
42
|
-
filter;
|
|
43
|
-
returnFields;
|
|
44
40
|
distanceMetric;
|
|
45
|
-
datatype;
|
|
46
|
-
offset;
|
|
47
|
-
limit;
|
|
48
41
|
scoreAlias;
|
|
49
42
|
efRuntime;
|
|
50
43
|
hybridPolicy;
|
|
51
44
|
batchSize;
|
|
52
|
-
normalizeDistance;
|
|
53
45
|
searchWindowSize;
|
|
54
46
|
useSearchHistory;
|
|
55
47
|
searchBufferCapacity;
|
|
56
48
|
constructor(config) {
|
|
57
|
-
|
|
58
|
-
if (!config.vector || config.vector.length === 0) {
|
|
59
|
-
throw new QueryValidationError('Vector cannot be empty');
|
|
60
|
-
}
|
|
61
|
-
// Validate vectorField
|
|
62
|
-
if (!config.vectorField) {
|
|
63
|
-
throw new QueryValidationError('vectorField is required');
|
|
64
|
-
}
|
|
49
|
+
super({ ...config, limit: config.limit ?? config.numResults ?? 10 });
|
|
65
50
|
// Validate HNSW parameters
|
|
66
51
|
if (config.efRuntime !== undefined && config.efRuntime <= 0) {
|
|
67
52
|
throw new QueryValidationError('efRuntime must be positive');
|
|
@@ -98,31 +83,16 @@ export class VectorQuery {
|
|
|
98
83
|
if (config.searchBufferCapacity !== undefined && config.searchBufferCapacity <= 0) {
|
|
99
84
|
throw new QueryValidationError('searchBufferCapacity must be positive');
|
|
100
85
|
}
|
|
101
|
-
this.vector = config.vector;
|
|
102
|
-
this.vectorField = config.vectorField;
|
|
103
86
|
this.numResults = config.numResults ?? 10;
|
|
104
|
-
this.filter = config.filter;
|
|
105
|
-
this.returnFields = config.returnFields;
|
|
106
87
|
this.distanceMetric = config.distanceMetric ?? VectorDistanceMetric.COSINE;
|
|
107
|
-
try {
|
|
108
|
-
this.datatype = normalizeVectorDataType(config.datatype);
|
|
109
|
-
}
|
|
110
|
-
catch (error) {
|
|
111
|
-
if (error instanceof SchemaValidationError) {
|
|
112
|
-
throw new QueryValidationError(error.message);
|
|
113
|
-
}
|
|
114
|
-
throw error;
|
|
115
|
-
}
|
|
116
|
-
this.offset = config.offset;
|
|
117
|
-
this.limit = config.limit;
|
|
118
88
|
this.scoreAlias = config.scoreAlias ?? 'vector_distance';
|
|
119
89
|
this.efRuntime = config.efRuntime;
|
|
120
90
|
this.hybridPolicy = config.hybridPolicy;
|
|
121
91
|
this.batchSize = config.batchSize;
|
|
122
|
-
this.normalizeDistance = config.normalizeDistance ?? false;
|
|
123
92
|
this.searchWindowSize = config.searchWindowSize;
|
|
124
93
|
this.useSearchHistory = config.useSearchHistory;
|
|
125
94
|
this.searchBufferCapacity = config.searchBufferCapacity;
|
|
95
|
+
this.sortBy(this.scoreAlias);
|
|
126
96
|
}
|
|
127
97
|
/**
|
|
128
98
|
* Build the Redis KNN query string
|
|
@@ -167,8 +137,9 @@ export class VectorQuery {
|
|
|
167
137
|
* @returns Query parameters object with vector buffer and algorithm params
|
|
168
138
|
*/
|
|
169
139
|
buildParams() {
|
|
170
|
-
const vectorBuffer =
|
|
140
|
+
const vectorBuffer = encodeVectorInput(this.vector, this.datatype);
|
|
171
141
|
const params = {
|
|
142
|
+
...super.buildParams(),
|
|
172
143
|
vector: vectorBuffer,
|
|
173
144
|
};
|
|
174
145
|
// Add HNSW parameters if provided
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../src/query/search/vector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAA8B,MAAM,WAAW,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAsHzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,OAAO,WAAY,SAAQ,eAAe;IAC5B,UAAU,CAAS;IACnB,cAAc,CAAuB;IACrC,UAAU,CAAS;IACnB,SAAS,CAAU;IACnB,YAAY,CAAgB;IAC5B,SAAS,CAAU;IACnB,gBAAgB,CAAU;IAC1B,gBAAgB,CAAoB;IACpC,oBAAoB,CAAU;IAE9C,YAAY,MAAyB;QACjC,KAAK,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC;QAErE,2BAA2B;QAC3B,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;QACjE,CAAC;QAED,oCAAoC;QACpC,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;gBAC1E,MAAM,IAAI,oBAAoB,CAAC,iDAAiD,CAAC,CAAC;YACtF,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,IAAI,oBAAoB,CAAC,8CAA8C,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;YACjE,CAAC;QACL,CAAC;QAED,4CAA4C;QAC5C,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,cAAc,KAAK,oBAAoB,CAAC,EAAE,EAAE,CAAC;YAChF,OAAO,CAAC,IAAI,CACR,yDAAyD;gBACrD,8EAA8E,CACrF,CAAC;QACN,CAAC;QAED,iCAAiC;QACjC,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,IAAI,MAAM,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,oBAAoB,CAAC,mCAAmC,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,WAAW,GAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,oBAAoB,CAAC,gDAAgD,CAAC,CAAC;YACrF,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,oBAAoB,KAAK,SAAS,IAAI,MAAM,CAAC,oBAAoB,IAAI,CAAC,EAAE,CAAC;YAChF,MAAM,IAAI,oBAAoB,CAAC,uCAAuC,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,oBAAoB,CAAC,MAAM,CAAC;QAC3E,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,iBAAiB,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAChD,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;OAQG;IACH,UAAU;QACN,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,GAAG,CAAC;QAE9D,0CAA0C;QAC1C,MAAM,KAAK,GAAa,CAAC,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,WAAW,UAAU,CAAC,CAAC;QAEhF,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,GAAG,UAAU,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC;IACvE,CAAC;IAED;;;;;;;OAOG;IACH,WAAW;QACP,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEnE,MAAM,MAAM,GAA4B;YACpC,GAAG,KAAK,CAAC,WAAW,EAAE;YACtB,MAAM,EAAE,YAAY;SACvB,CAAC;QAEF,kCAAkC;QAClC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACvC,CAAC;QAED,wCAAwC;QACxC,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACtD,CAAC;QACD,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC9D,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Redis Client Type Definitions
|
|
3
3
|
*
|
|
4
4
|
* The bare `RedisClientType` / `RedisClusterType` aliases re-exported from
|
|
5
|
-
* the `redis` package default their `RESP` generic to `
|
|
5
|
+
* the `redis` package default their `RESP` generic to `3`. When consumers
|
|
6
6
|
* call `createClient(...)` without an explicit annotation, TypeScript
|
|
7
7
|
* infers `RESP` as the full `RespVersions` union (`2 | 3`), making the
|
|
8
8
|
* inferred client unassignable to APIs typed against the bare alias.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Redis Client Type Definitions
|
|
3
3
|
*
|
|
4
4
|
* The bare `RedisClientType` / `RedisClusterType` aliases re-exported from
|
|
5
|
-
* the `redis` package default their `RESP` generic to `
|
|
5
|
+
* the `redis` package default their `RESP` generic to `3`. When consumers
|
|
6
6
|
* call `createClient(...)` without an explicit annotation, TypeScript
|
|
7
7
|
* infers `RESP` as the full `RespVersions` union (`2 | 3`), making the
|
|
8
8
|
* inferred client unassignable to APIs typed against the bare alias.
|
package/dist/redis/utils.d.ts
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
|
-
import { VectorDataType } from '../schema/types.js';
|
|
1
|
+
import { VectorDataType, VectorInput } from '../schema/types.js';
|
|
2
2
|
export type VectorDataTypeInput = VectorDataType | string | undefined;
|
|
3
3
|
export declare function normalizeVectorDataType(datatype: VectorDataTypeInput): VectorDataType;
|
|
4
4
|
export declare function vectorElementByteLength(datatype: VectorDataTypeInput): number;
|
|
5
5
|
export declare function encodeVectorBuffer(vector: readonly unknown[], datatype?: VectorDataTypeInput): Buffer;
|
|
6
|
+
/**
|
|
7
|
+
* Convert a query vector into the bytes Redis expects. A Buffer is assumed to
|
|
8
|
+
* be encoded already and is returned unchanged; a number array is encoded
|
|
9
|
+
* using `datatype`.
|
|
10
|
+
*/
|
|
11
|
+
export declare function encodeVectorInput(vector: VectorInput, datatype?: VectorDataTypeInput): Buffer;
|
|
12
|
+
/**
|
|
13
|
+
* Check that the Buffer's length is an exact number of elements of the given
|
|
14
|
+
* datatype.
|
|
15
|
+
*/
|
|
16
|
+
export declare function validateWholeVectorElements(buffer: Buffer, datatype?: VectorDataTypeInput): void;
|
|
6
17
|
export declare function decodeVectorBuffer(buffer: Buffer, datatype?: VectorDataTypeInput): number[];
|
|
7
18
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/redis/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/redis/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;AAItE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,cAAc,CAYrF;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,CAa7E;AAED,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,SAAS,OAAO,EAAE,EAC1B,QAAQ,GAAE,mBAA4C,GACvD,MAAM,CAmBR;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,WAAW,EACnB,QAAQ,GAAE,mBAA4C,GACvD,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACvC,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,mBAA4C,GACvD,IAAI,CASN;AAED,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,mBAA4C,GACvD,MAAM,EAAE,CAkBV"}
|
package/dist/redis/utils.js
CHANGED
|
@@ -38,12 +38,28 @@ export function encodeVectorBuffer(vector, datatype = VectorDataType.FLOAT32) {
|
|
|
38
38
|
return Buffer.from(new Float32Array(validateVectorValues(vector)).buffer);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
|
|
41
|
+
/**
|
|
42
|
+
* Convert a query vector into the bytes Redis expects. A Buffer is assumed to
|
|
43
|
+
* be encoded already and is returned unchanged; a number array is encoded
|
|
44
|
+
* using `datatype`.
|
|
45
|
+
*/
|
|
46
|
+
export function encodeVectorInput(vector, datatype = VectorDataType.FLOAT32) {
|
|
47
|
+
return Buffer.isBuffer(vector) ? vector : encodeVectorBuffer(vector, datatype);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check that the Buffer's length is an exact number of elements of the given
|
|
51
|
+
* datatype.
|
|
52
|
+
*/
|
|
53
|
+
export function validateWholeVectorElements(buffer, datatype = VectorDataType.FLOAT32) {
|
|
42
54
|
const normalizedDatatype = normalizeVectorDataType(datatype);
|
|
43
55
|
const elementSize = vectorElementByteLength(normalizedDatatype);
|
|
44
56
|
if (buffer.byteLength % elementSize !== 0) {
|
|
45
57
|
throw new SchemaValidationError(`Vector buffer byte length (${buffer.byteLength}) is not a multiple of the ${normalizedDatatype} element size (${elementSize} bytes)`);
|
|
46
58
|
}
|
|
59
|
+
}
|
|
60
|
+
export function decodeVectorBuffer(buffer, datatype = VectorDataType.FLOAT32) {
|
|
61
|
+
const normalizedDatatype = normalizeVectorDataType(datatype);
|
|
62
|
+
validateWholeVectorElements(buffer, normalizedDatatype);
|
|
47
63
|
switch (normalizedDatatype) {
|
|
48
64
|
case VectorDataType.FLOAT64:
|
|
49
65
|
return decodeFloat64Buffer(buffer);
|
package/dist/redis/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/redis/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/redis/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/schema.d.ts
CHANGED
|
@@ -37,8 +37,8 @@ export declare class IndexInfo {
|
|
|
37
37
|
* Zod schema for IndexSchema validation.
|
|
38
38
|
*/
|
|
39
39
|
export declare const IndexSchemaOptionsSchema: z.ZodObject<{
|
|
40
|
-
index: z.
|
|
41
|
-
fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.
|
|
40
|
+
index: z.ZodInstanceOf<IndexInfo>;
|
|
41
|
+
fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodInstanceOf<BaseField>>>;
|
|
42
42
|
version: z.ZodOptional<z.ZodLiteral<"0.1.0">>;
|
|
43
43
|
}, z.core.$strip>;
|
|
44
44
|
/**
|
package/dist/schema/types.d.ts
CHANGED
|
@@ -34,6 +34,11 @@ export declare enum VectorDataType {
|
|
|
34
34
|
INT8 = "INT8",
|
|
35
35
|
UINT8 = "UINT8"
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* A vector supplied to a query: a number array, or a Buffer already encoded
|
|
39
|
+
* in the vector datatype
|
|
40
|
+
*/
|
|
41
|
+
export type VectorInput = number[] | Buffer;
|
|
37
42
|
/**
|
|
38
43
|
* Vector index algorithms
|
|
39
44
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,SAAS;IACjB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,MAAM,WAAW;CACpB;AAED;;GAEG;AACH,oBAAY,WAAW;IACnB,IAAI,SAAS;IACb,IAAI,SAAS;CAChB;AAED;;GAEG;AACH,oBAAY,oBAAoB;IAC5B,MAAM,WAAW;IACjB,EAAE,OAAO;IACT,EAAE,OAAO;CACZ;AAED;;GAEG;AACH,oBAAY,cAAc;IACtB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;CAClB;AAED;;GAEG;AACH,oBAAY,oBAAoB;IAC5B,IAAI,SAAS;IACb,IAAI,SAAS;IACb,UAAU,eAAe;CAC5B;AAED;;GAEG;AACH,oBAAY,eAAe;IACvB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,UAAU,eAAe;CAC5B"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,SAAS;IACjB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,MAAM,WAAW;CACpB;AAED;;GAEG;AACH,oBAAY,WAAW;IACnB,IAAI,SAAS;IACb,IAAI,SAAS;CAChB;AAED;;GAEG;AACH,oBAAY,oBAAoB;IAC5B,MAAM,WAAW;IACjB,EAAE,OAAO;IACT,EAAE,OAAO;CACZ;AAED;;GAEG;AACH,oBAAY,cAAc;IACtB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;CAClB;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;AAE5C;;GAEG;AACH,oBAAY,oBAAoB;IAC5B,IAAI,SAAS;IACb,IAAI,SAAS;IACb,UAAU,eAAe;CAC5B;AAED;;GAEG;AACH,oBAAY,eAAe;IACvB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,UAAU,eAAe;CAC5B"}
|
package/dist/schema/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;IACjB,wBAAW,CAAA;IACX,0BAAa,CAAA;IACb,gCAAmB,CAAA;IACnB,wBAAW,CAAA;IACX,8BAAiB,CAAA;AACrB,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,4BAAa,CAAA;IACb,4BAAa,CAAA;AACjB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC5B,yCAAiB,CAAA;IACjB,iCAAS,CAAA;IACT,iCAAS,CAAA;AACb,CAAC,EAJW,oBAAoB,KAApB,oBAAoB,QAI/B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,uCAAqB,CAAA;IACrB,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;IACnB,+BAAa,CAAA;IACb,iCAAe,CAAA;AACnB,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;IACjB,wBAAW,CAAA;IACX,0BAAa,CAAA;IACb,gCAAmB,CAAA;IACnB,wBAAW,CAAA;IACX,8BAAiB,CAAA;AACrB,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,4BAAa,CAAA;IACb,4BAAa,CAAA;AACjB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC5B,yCAAiB,CAAA;IACjB,iCAAS,CAAA;IACT,iCAAS,CAAA;AACb,CAAC,EAJW,oBAAoB,KAApB,oBAAoB,QAI/B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,uCAAqB,CAAA;IACrB,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;IACnB,+BAAa,CAAA;IACb,iCAAe,CAAA;AACnB,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB;AAQD;;GAEG;AACH,MAAM,CAAN,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC5B,qCAAa,CAAA;IACb,qCAAa,CAAA;IACb,iDAAyB,CAAA;AAC7B,CAAC,EAJW,oBAAoB,KAApB,oBAAoB,QAI/B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,eAOX;AAPD,WAAY,eAAe;IACvB,gCAAa,CAAA;IACb,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,gCAAa,CAAA;IACb,4CAAyB,CAAA;IACzB,4CAAyB,CAAA;AAC7B,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B"}
|
|
@@ -2,7 +2,6 @@ import type { RedisClientType, RedisClusterType } from 'redis';
|
|
|
2
2
|
import type { IndexSchema } from '../schema/schema.js';
|
|
3
3
|
/**
|
|
4
4
|
* Redis client type (standalone or cluster) used internally by storage.
|
|
5
|
-
* Matches the RESP=2 reply shapes this library is implemented against.
|
|
6
5
|
*/
|
|
7
6
|
export type RedisClient = RedisClientType | RedisClusterType;
|
|
8
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-storage.d.ts","sourceRoot":"","sources":["../../src/storage/base-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOvD
|
|
1
|
+
{"version":3,"file":"base-storage.d.ts","sourceRoot":"","sources":["../../src/storage/base-storage.ts"],"names":[],"mappings":"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"}
|