triangle-utils 1.2.2 → 1.2.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "triangle-utils",
3
- "version": "1.2.2",
3
+ "version": "1.2.3",
4
4
  "main": "Utils.js",
5
5
  "author": "",
6
6
  "license": "ISC",
@@ -48,23 +48,26 @@ export default class Utils_S3Vectors {
48
48
  }
49
49
 
50
50
  async batch_get(vector_bucket, vector_index, vector_keys) {
51
- const vectors_by_key = await this.s3vectors.getVectors({
52
- vectorBucketName : vector_bucket,
53
- indexName : vector_index,
54
- keys : vector_keys,
55
- returnData : true,
56
- returnMetadata : true
57
- })
58
- .then(response => response.vectors)
59
- .then(vectors => Object.fromEntries(vectors.map(vector => [
60
- vector.key,
61
- {
62
- key : vector.key,
63
- data : vector.data.float32,
64
- metadata : vector.metadata
65
- }
66
- ])))
67
- const vectors = vector_keys.map(vector_key => vectors_by_key[vector_key])
51
+ const vectors = []
52
+ for (let i = 0; i < vector_keys.length; i += 100) {
53
+ const vectors_by_key = await this.s3vectors.getVectors({
54
+ vectorBucketName : vector_bucket,
55
+ indexName : vector_index,
56
+ keys : vector_keys.slice(i, i + 100),
57
+ returnData : true,
58
+ returnMetadata : true
59
+ })
60
+ .then(response => response.vectors)
61
+ .then(vectors => Object.fromEntries(vectors.map(vector => [
62
+ vector.key,
63
+ {
64
+ key : vector.key,
65
+ data : vector.data.float32,
66
+ metadata : vector.metadata
67
+ }
68
+ ])))
69
+ vectors.push(...vector_keys.map(vector_key => vectors_by_key[vector_key]))
70
+ }
68
71
  return vectors
69
72
  }
70
73
 
@@ -83,17 +86,20 @@ export default class Utils_S3Vectors {
83
86
  }
84
87
 
85
88
  async batch_create(vector_bucket, vector_index, vectors) {
86
- await this.s3vectors.putVectors({
87
- vectorBucketName : vector_bucket,
88
- indexName : vector_index,
89
- vectors : vectors.map(vector => ({
90
- key : vector.key,
91
- data : {
92
- float32 : vector.data
93
- },
94
- metadata : vector.metadata
95
- }))
96
- })
89
+ for (let i = 0; i < vector_keys.length; i += 100) {
90
+ await this.s3vectors.putVectors({
91
+ vectorBucketName : vector_bucket,
92
+ indexName : vector_index,
93
+ vectors : vectors.slice(i, i + 100).map(vector => ({
94
+ key : vector.key,
95
+ data : {
96
+ float32 : vector.data
97
+ },
98
+ metadata : vector.metadata
99
+ }))
100
+ })
101
+
102
+ }
97
103
  }
98
104
 
99
105
  async delete(vector_bucket, vector_index, vector_key) {
@@ -105,11 +111,13 @@ export default class Utils_S3Vectors {
105
111
  }
106
112
 
107
113
  async batch_delete(vector_bucket, vector_index, vector_keys) {
108
- await this.s3vectors.deleteVectors({
109
- vectorBucketName : vector_bucket,
110
- indexName : vector_index,
111
- keys : vector_keys
112
- })
114
+ for (let i = 0; i < vector_keys.length; i += 100) {
115
+ await this.s3vectors.deleteVectors({
116
+ vectorBucketName : vector_bucket,
117
+ indexName : vector_index.slice(i, i + 100),
118
+ keys : vector_keys
119
+ })
120
+ }
113
121
  }
114
122
 
115
123
  async query(vector_bucket, vector_index, data, num_vectors, filters) {