vectra 0.7.6 → 0.10.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.
Files changed (75) hide show
  1. package/README.md +10 -10
  2. package/package.json +7 -6
  3. package/src/ItemSelector.ts +7 -1
  4. package/src/LocalDocumentIndex.ts +10 -4
  5. package/src/LocalDocumentResult.ts +70 -22
  6. package/src/LocalIndex.ts +77 -10
  7. package/src/TextSplitter.ts +10 -15
  8. package/src/internals/Colorize.ts +3 -3
  9. package/src/internals/wink-bm25-text-search.d.ts +4 -0
  10. package/src/types.ts +2 -1
  11. package/src/vectra-cli.ts +13 -2
  12. package/lib/FileFetcher.d.ts +0 -5
  13. package/lib/FileFetcher.d.ts.map +0 -1
  14. package/lib/FileFetcher.js +0 -69
  15. package/lib/FileFetcher.js.map +0 -1
  16. package/lib/GPT3Tokenizer.d.ts +0 -9
  17. package/lib/GPT3Tokenizer.d.ts.map +0 -1
  18. package/lib/GPT3Tokenizer.js +0 -17
  19. package/lib/GPT3Tokenizer.js.map +0 -1
  20. package/lib/ItemSelector.d.ts +0 -41
  21. package/lib/ItemSelector.d.ts.map +0 -1
  22. package/lib/ItemSelector.js +0 -162
  23. package/lib/ItemSelector.js.map +0 -1
  24. package/lib/LocalDocument.d.ts +0 -54
  25. package/lib/LocalDocument.d.ts.map +0 -1
  26. package/lib/LocalDocument.js +0 -146
  27. package/lib/LocalDocument.js.map +0 -1
  28. package/lib/LocalDocumentIndex.d.ts +0 -128
  29. package/lib/LocalDocumentIndex.d.ts.map +0 -1
  30. package/lib/LocalDocumentIndex.js +0 -446
  31. package/lib/LocalDocumentIndex.js.map +0 -1
  32. package/lib/LocalDocumentResult.d.ts +0 -45
  33. package/lib/LocalDocumentResult.d.ts.map +0 -1
  34. package/lib/LocalDocumentResult.js +0 -282
  35. package/lib/LocalDocumentResult.js.map +0 -1
  36. package/lib/LocalIndex.d.ts +0 -136
  37. package/lib/LocalIndex.d.ts.map +0 -1
  38. package/lib/LocalIndex.js +0 -413
  39. package/lib/LocalIndex.js.map +0 -1
  40. package/lib/OpenAIEmbeddings.d.ts +0 -126
  41. package/lib/OpenAIEmbeddings.d.ts.map +0 -1
  42. package/lib/OpenAIEmbeddings.js +0 -174
  43. package/lib/OpenAIEmbeddings.js.map +0 -1
  44. package/lib/TextSplitter.d.ts +0 -20
  45. package/lib/TextSplitter.d.ts.map +0 -1
  46. package/lib/TextSplitter.js +0 -543
  47. package/lib/TextSplitter.js.map +0 -1
  48. package/lib/WebFetcher.d.ts +0 -15
  49. package/lib/WebFetcher.d.ts.map +0 -1
  50. package/lib/WebFetcher.js +0 -224
  51. package/lib/WebFetcher.js.map +0 -1
  52. package/lib/index.d.ts +0 -12
  53. package/lib/index.d.ts.map +0 -1
  54. package/lib/index.js +0 -28
  55. package/lib/index.js.map +0 -1
  56. package/lib/internals/Colorize.d.ts +0 -14
  57. package/lib/internals/Colorize.d.ts.map +0 -1
  58. package/lib/internals/Colorize.js +0 -64
  59. package/lib/internals/Colorize.js.map +0 -1
  60. package/lib/internals/index.d.ts +0 -3
  61. package/lib/internals/index.d.ts.map +0 -1
  62. package/lib/internals/index.js +0 -19
  63. package/lib/internals/index.js.map +0 -1
  64. package/lib/internals/types.d.ts +0 -43
  65. package/lib/internals/types.d.ts.map +0 -1
  66. package/lib/internals/types.js +0 -3
  67. package/lib/internals/types.js.map +0 -1
  68. package/lib/types.d.ts +0 -145
  69. package/lib/types.d.ts.map +0 -1
  70. package/lib/types.js +0 -3
  71. package/lib/types.js.map +0 -1
  72. package/lib/vectra-cli.d.ts +0 -2
  73. package/lib/vectra-cli.d.ts.map +0 -1
  74. package/lib/vectra-cli.js +0 -303
  75. package/lib/vectra-cli.js.map +0 -1
package/lib/LocalIndex.js DELETED
@@ -1,413 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.LocalIndex = void 0;
36
- const fs = __importStar(require("fs/promises"));
37
- const path = __importStar(require("path"));
38
- const uuid_1 = require("uuid");
39
- const ItemSelector_1 = require("./ItemSelector");
40
- /**
41
- * Local vector index instance.
42
- * @remarks
43
- * This class is used to create, update, and query a local vector index.
44
- * Each index is a folder on disk containing an index.json file and an optional set of metadata files.
45
- */
46
- class LocalIndex {
47
- /**
48
- * Creates a new instance of LocalIndex.
49
- * @param folderPath Path to the index folder.
50
- * @param indexName Optional name of the index file. Defaults to index.json.
51
- */
52
- constructor(folderPath, indexName) {
53
- this._folderPath = folderPath;
54
- this._indexName = indexName || "index.json";
55
- }
56
- /**
57
- * Path to the index folder.
58
- */
59
- get folderPath() {
60
- return this._folderPath;
61
- }
62
- /**
63
- * Optional name of the index file.
64
- */
65
- get indexName() {
66
- return this._indexName;
67
- }
68
- /**
69
- * Begins an update to the index.
70
- * @remarks
71
- * This method loads the index into memory and prepares it for updates.
72
- */
73
- beginUpdate() {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- if (this._update) {
76
- throw new Error('Update already in progress');
77
- }
78
- yield this.loadIndexData();
79
- this._update = Object.assign({}, this._data);
80
- });
81
- }
82
- /**
83
- * Cancels an update to the index.
84
- * @remarks
85
- * This method discards any changes made to the index since the update began.
86
- */
87
- cancelUpdate() {
88
- this._update = undefined;
89
- }
90
- /**
91
- * Creates a new index.
92
- * @remarks
93
- * This method creates a new folder on disk containing an index.json file.
94
- * @param config Index configuration.
95
- */
96
- createIndex(config = { version: 1 }) {
97
- var _a;
98
- return __awaiter(this, void 0, void 0, function* () {
99
- // Delete if exists
100
- if (yield this.isIndexCreated()) {
101
- if (config.deleteIfExists) {
102
- yield this.deleteIndex();
103
- }
104
- else {
105
- throw new Error('Index already exists');
106
- }
107
- }
108
- try {
109
- // Create folder for index
110
- yield fs.mkdir(this._folderPath, { recursive: true });
111
- // Initialize index.json file
112
- this._data = {
113
- version: config.version,
114
- metadata_config: (_a = config.metadata_config) !== null && _a !== void 0 ? _a : {},
115
- items: []
116
- };
117
- yield fs.writeFile(path.join(this._folderPath, this._indexName), JSON.stringify(this._data));
118
- }
119
- catch (err) {
120
- yield this.deleteIndex();
121
- throw new Error('Error creating index');
122
- }
123
- });
124
- }
125
- /**
126
- * Deletes the index.
127
- * @remarks
128
- * This method deletes the index folder from disk.
129
- */
130
- deleteIndex() {
131
- this._data = undefined;
132
- return fs.rm(this._folderPath, {
133
- recursive: true,
134
- maxRetries: 3
135
- });
136
- }
137
- /**
138
- * Deletes an item from the index.
139
- * @param id ID of item to delete.
140
- */
141
- deleteItem(id) {
142
- return __awaiter(this, void 0, void 0, function* () {
143
- if (this._update) {
144
- const index = this._update.items.findIndex(i => i.id === id);
145
- if (index >= 0) {
146
- this._update.items.splice(index, 1);
147
- }
148
- }
149
- else {
150
- yield this.beginUpdate();
151
- const index = this._update.items.findIndex(i => i.id === id);
152
- if (index >= 0) {
153
- this._update.items.splice(index, 1);
154
- }
155
- yield this.endUpdate();
156
- }
157
- });
158
- }
159
- /**
160
- * Ends an update to the index.
161
- * @remarks
162
- * This method saves the index to disk.
163
- */
164
- endUpdate() {
165
- return __awaiter(this, void 0, void 0, function* () {
166
- if (!this._update) {
167
- throw new Error('No update in progress');
168
- }
169
- try {
170
- // Save index
171
- yield fs.writeFile(path.join(this._folderPath, this._indexName), JSON.stringify(this._update));
172
- this._data = this._update;
173
- this._update = undefined;
174
- }
175
- catch (err) {
176
- throw new Error(`Error saving index: ${err.toString()}`);
177
- }
178
- });
179
- }
180
- /**
181
- * Loads an index from disk and returns its stats.
182
- * @returns Index stats.
183
- */
184
- getIndexStats() {
185
- return __awaiter(this, void 0, void 0, function* () {
186
- yield this.loadIndexData();
187
- return {
188
- version: this._data.version,
189
- metadata_config: this._data.metadata_config,
190
- items: this._data.items.length
191
- };
192
- });
193
- }
194
- /**
195
- * Returns an item from the index given its ID.
196
- * @param id ID of the item to retrieve.
197
- * @returns Item or undefined if not found.
198
- */
199
- getItem(id) {
200
- return __awaiter(this, void 0, void 0, function* () {
201
- yield this.loadIndexData();
202
- return this._data.items.find(i => i.id === id);
203
- });
204
- }
205
- /**
206
- * Adds an item to the index.
207
- * @remarks
208
- * A new update is started if one is not already in progress. If an item with the same ID
209
- * already exists, an error will be thrown.
210
- * @param item Item to insert.
211
- * @returns Inserted item.
212
- */
213
- insertItem(item) {
214
- return __awaiter(this, void 0, void 0, function* () {
215
- if (this._update) {
216
- return yield this.addItemToUpdate(item, true);
217
- }
218
- else {
219
- yield this.beginUpdate();
220
- const newItem = yield this.addItemToUpdate(item, true);
221
- yield this.endUpdate();
222
- return newItem;
223
- }
224
- });
225
- }
226
- /**
227
- * Returns true if the index exists.
228
- */
229
- isIndexCreated() {
230
- return __awaiter(this, void 0, void 0, function* () {
231
- try {
232
- yield fs.access(path.join(this._folderPath, this.indexName));
233
- return true;
234
- }
235
- catch (err) {
236
- return false;
237
- }
238
- });
239
- }
240
- /**
241
- * Returns all items in the index.
242
- * @remarks
243
- * This method loads the index into memory and returns all its items. A copy of the items
244
- * array is returned so no modifications should be made to the array.
245
- * @returns Array of all items in the index.
246
- */
247
- listItems() {
248
- return __awaiter(this, void 0, void 0, function* () {
249
- yield this.loadIndexData();
250
- return this._data.items.slice();
251
- });
252
- }
253
- /**
254
- * Returns all items in the index matching the filter.
255
- * @remarks
256
- * This method loads the index into memory and returns all its items matching the filter.
257
- * @param filter Filter to apply.
258
- * @returns Array of items matching the filter.
259
- */
260
- listItemsByMetadata(filter) {
261
- return __awaiter(this, void 0, void 0, function* () {
262
- yield this.loadIndexData();
263
- return this._data.items.filter(i => ItemSelector_1.ItemSelector.select(i.metadata, filter));
264
- });
265
- }
266
- /**
267
- * Finds the top k items in the index that are most similar to the vector.
268
- * @remarks
269
- * This method loads the index into memory and returns the top k items that are most similar.
270
- * An optional filter can be applied to the metadata of the items.
271
- * @param vector Vector to query against.
272
- * @param topK Number of items to return.
273
- * @param filter Optional. Filter to apply.
274
- * @returns Similar items to the vector that matche the supplied filter.
275
- */
276
- queryItems(vector, topK, filter) {
277
- return __awaiter(this, void 0, void 0, function* () {
278
- yield this.loadIndexData();
279
- // Filter items
280
- let items = this._data.items;
281
- if (filter) {
282
- items = items.filter(i => ItemSelector_1.ItemSelector.select(i.metadata, filter));
283
- }
284
- // Calculate distances
285
- const norm = ItemSelector_1.ItemSelector.normalize(vector);
286
- const distances = [];
287
- for (let i = 0; i < items.length; i++) {
288
- const item = items[i];
289
- const distance = ItemSelector_1.ItemSelector.normalizedCosineSimilarity(vector, norm, item.vector, item.norm);
290
- distances.push({ index: i, distance: distance });
291
- }
292
- // Sort by distance DESCENDING
293
- distances.sort((a, b) => b.distance - a.distance);
294
- // Find top k
295
- const top = distances.slice(0, topK).map(d => {
296
- return {
297
- item: Object.assign({}, items[d.index]),
298
- score: d.distance
299
- };
300
- });
301
- // Load external metadata
302
- for (const item of top) {
303
- if (item.item.metadataFile) {
304
- const metadataPath = path.join(this._folderPath, item.item.metadataFile);
305
- const metadata = yield fs.readFile(metadataPath);
306
- item.item.metadata = JSON.parse(metadata.toString());
307
- }
308
- }
309
- return top;
310
- });
311
- }
312
- /**
313
- * Adds or replaces an item in the index.
314
- * @remarks
315
- * A new update is started if one is not already in progress. If an item with the same ID
316
- * already exists, it will be replaced.
317
- * @param item Item to insert or replace.
318
- * @returns Upserted item.
319
- */
320
- upsertItem(item) {
321
- return __awaiter(this, void 0, void 0, function* () {
322
- if (this._update) {
323
- return yield this.addItemToUpdate(item, false);
324
- }
325
- else {
326
- yield this.beginUpdate();
327
- const newItem = yield this.addItemToUpdate(item, false);
328
- yield this.endUpdate();
329
- return newItem;
330
- }
331
- });
332
- }
333
- /**
334
- * Ensures that the index has been loaded into memory.
335
- */
336
- loadIndexData() {
337
- return __awaiter(this, void 0, void 0, function* () {
338
- if (this._data) {
339
- return;
340
- }
341
- if (!(yield this.isIndexCreated())) {
342
- throw new Error('Index does not exist');
343
- }
344
- const data = yield fs.readFile(path.join(this._folderPath, this.indexName));
345
- this._data = JSON.parse(data.toString());
346
- });
347
- }
348
- addItemToUpdate(item, unique) {
349
- var _a;
350
- return __awaiter(this, void 0, void 0, function* () {
351
- // Ensure vector is provided
352
- if (!item.vector) {
353
- throw new Error('Vector is required');
354
- }
355
- // Ensure unique
356
- const id = (_a = item.id) !== null && _a !== void 0 ? _a : (0, uuid_1.v4)();
357
- if (unique) {
358
- const existing = this._update.items.find(i => i.id === id);
359
- if (existing) {
360
- throw new Error(`Item with id ${id} already exists`);
361
- }
362
- }
363
- // Check for indexed metadata
364
- let metadata = {};
365
- let metadataFile;
366
- if (this._update.metadata_config.indexed && this._update.metadata_config.indexed.length > 0 && item.metadata) {
367
- // Copy only indexed metadata
368
- for (const key of this._update.metadata_config.indexed) {
369
- if (item.metadata && item.metadata[key]) {
370
- metadata[key] = item.metadata[key];
371
- }
372
- }
373
- // Save remaining metadata to disk
374
- metadataFile = `${uuid_1.v4}.json`;
375
- const metadataPath = path.join(this._folderPath, metadataFile);
376
- yield fs.writeFile(metadataPath, JSON.stringify(item.metadata));
377
- }
378
- else if (item.metadata) {
379
- metadata = item.metadata;
380
- }
381
- // Create new item
382
- const newItem = {
383
- id: id,
384
- metadata: metadata,
385
- vector: item.vector,
386
- norm: ItemSelector_1.ItemSelector.normalize(item.vector)
387
- };
388
- if (metadataFile) {
389
- newItem.metadataFile = metadataFile;
390
- }
391
- // Add item to index
392
- if (!unique) {
393
- const existing = this._update.items.find(i => i.id === id);
394
- if (existing) {
395
- existing.metadata = newItem.metadata;
396
- existing.vector = newItem.vector;
397
- existing.metadataFile = newItem.metadataFile;
398
- return existing;
399
- }
400
- else {
401
- this._update.items.push(newItem);
402
- return newItem;
403
- }
404
- }
405
- else {
406
- this._update.items.push(newItem);
407
- return newItem;
408
- }
409
- });
410
- }
411
- }
412
- exports.LocalIndex = LocalIndex;
413
- //# sourceMappingURL=LocalIndex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocalIndex.js","sourceRoot":"","sources":["../src/LocalIndex.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;AAC7B,+BAA0B;AAC1B,iDAA8C;AAW9C;;;;;GAKG;AACH,MAAa,UAAU;IAOnB;;;;OAIG;IACH,YAAmB,UAAkB,EAAE,SAAkB;QACrD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,YAAY,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACU,WAAW;;YACpB,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;aACjD;YAED,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;KAAA;IAED;;;;OAIG;IACI,YAAY;QACf,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACU,WAAW,CAAC,SAA4B,EAAC,OAAO,EAAE,CAAC,EAAC;;;YAC7D,mBAAmB;YACnB,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE;gBAC7B,IAAI,MAAM,CAAC,cAAc,EAAE;oBACvB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;iBAC5B;qBAAM;oBACH,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;iBAC3C;aACJ;YAED,IAAI;gBACA,0BAA0B;gBAC1B,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEtD,6BAA6B;gBAC7B,IAAI,CAAC,KAAK,GAAG;oBACT,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,eAAe,EAAE,MAAA,MAAM,CAAC,eAAe,mCAAI,EAAE;oBAC7C,KAAK,EAAE,EAAE;iBACZ,CAAC;gBAEF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAChG;YAAC,OAAO,GAAY,EAAE;gBACnB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;aAC3C;;KACJ;IAED;;;;OAIG;IACI,WAAW;QACd,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;YAC3B,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SAChB,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACU,UAAU,CAAC,EAAU;;YAC9B,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7D,IAAI,KAAK,IAAI,CAAC,EAAE;oBACZ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACvC;aACJ;iBAAM;gBACH,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9D,IAAI,KAAK,IAAI,CAAC,EAAE;oBACZ,IAAI,CAAC,OAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACxC;gBACD,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;aAC1B;QACL,CAAC;KAAA;IAED;;;;OAIG;IACU,SAAS;;YAClB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;aAC5C;YAED,IAAI;gBACA,aAAa;gBACb,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/F,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;aAC5B;YAAC,OAAM,GAAY,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,uBAAwB,GAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aACrE;QACL,CAAC;KAAA;IAED;;;OAGG;IACU,aAAa;;YACtB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,OAAO;gBACH,OAAO,EAAE,IAAI,CAAC,KAAM,CAAC,OAAO;gBAC5B,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,eAAe;gBAC5C,KAAK,EAAE,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,MAAM;aAClC,CAAC;QACN,CAAC;KAAA;IAED;;;;OAIG;IACU,OAAO,CAA2C,EAAU;;YACrE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAoB,CAAC;QACvE,CAAC;KAAA;IAED;;;;;;;OAOG;IACU,UAAU,CAA2C,IAAmC;;YACjG,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAQ,CAAC;aACxD;iBAAM;gBACH,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACvD,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvB,OAAO,OAAc,CAAC;aACzB;QACL,CAAC;KAAA;IAED;;OAEG;IACU,cAAc;;YACvB,IAAI;gBACA,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,GAAY,EAAE;gBACnB,OAAO,KAAK,CAAC;aAChB;QACL,CAAC;KAAA;IAED;;;;;;OAMG;IACU,SAAS;;YAClB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,KAAK,EAAS,CAAC;QAC5C,CAAC;KAAA;IAED;;;;;;OAMG;IACU,mBAAmB,CAA2C,MAAsB;;YAC7F,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,2BAAY,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAQ,CAAC;QACzF,CAAC;KAAA;IAED;;;;;;;;;OASG;IACU,UAAU,CAA2C,MAAgB,EAAE,IAAY,EAAE,MAAuB;;YACrH,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAE3B,eAAe;YACf,IAAI,KAAK,GAAG,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC;YAC9B,IAAI,MAAM,EAAE;gBACR,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,2BAAY,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;aACtE;YAED,sBAAsB;YACtB,MAAM,IAAI,GAAG,2BAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,SAAS,GAA0C,EAAE,CAAC;YAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,QAAQ,GAAG,2BAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/F,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;aACpD;YAED,8BAA8B;YAC9B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YAElD,aAAa;YACb,MAAM,GAAG,GAA6B,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACnE,OAAO;oBACH,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAQ;oBAC9C,KAAK,EAAE,CAAC,CAAC,QAAQ;iBACpB,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,yBAAyB;YACzB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;gBACpB,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBACxB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACzE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;oBACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACxD;aACJ;YAED,OAAO,GAAG,CAAC;QACf,CAAC;KAAA;IAED;;;;;;;OAOG;IACU,UAAU,CAA2C,IAAmC;;YACjG,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAQ,CAAC;aACzD;iBAAM;gBACH,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACxD,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvB,OAAO,OAAc,CAAC;aACzB;QACL,CAAC;KAAA;IAED;;OAEG;IACa,aAAa;;YACzB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,OAAO;aACV;YAED,IAAI,CAAC,CAAA,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;aAC3C;YAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,CAAC;KAAA;IAEa,eAAe,CAAC,IAA6B,EAAE,MAAe;;;YACxE,4BAA4B;YAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;aACzC;YAED,gBAAgB;YAChB,MAAM,EAAE,GAAG,MAAA,IAAI,CAAC,EAAE,mCAAI,IAAA,SAAE,GAAE,CAAC;YAC3B,IAAI,MAAM,EAAE;gBACR,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC5D,IAAI,QAAQ,EAAE;oBACV,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;iBACxD;aACJ;YAED,6BAA6B;YAC7B,IAAI,QAAQ,GAAuB,EAAE,CAAC;YACtC,IAAI,YAAgC,CAAC;YACrC,IAAI,IAAI,CAAC,OAAQ,CAAC,eAAe,CAAC,OAAO,IAAI,IAAI,CAAC,OAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC5G,6BAA6B;gBAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAQ,CAAC,eAAe,CAAC,OAAO,EAAE;oBACrD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACrC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;qBACtC;iBACJ;gBAED,kCAAkC;gBAClC,YAAY,GAAG,GAAG,SAAE,OAAO,CAAC;gBAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC/D,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aACnE;iBAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACtB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;aAC5B;YAED,kBAAkB;YAClB,MAAM,OAAO,GAAc;gBACvB,EAAE,EAAE,EAAE;gBACN,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,2BAAY,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;aAC5C,CAAC;YACF,IAAI,YAAY,EAAE;gBACd,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;aACvC;YAED,oBAAoB;YACpB,IAAI,CAAC,MAAM,EAAE;gBACT,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC5D,IAAI,QAAQ,EAAE;oBACV,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;oBACrC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;oBACjC,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;oBAC7C,OAAO,QAAQ,CAAC;iBACnB;qBAAM;oBACH,IAAI,CAAC,OAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAClC,OAAO,OAAO,CAAC;iBAClB;aACJ;iBAAM;gBACH,IAAI,CAAC,OAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,OAAO,OAAO,CAAC;aAClB;;KACJ;CACJ;AA/WD,gCA+WC"}
@@ -1,126 +0,0 @@
1
- import { AxiosResponse, AxiosRequestConfig } from 'axios';
2
- import { EmbeddingsModel, EmbeddingsResponse } from "./types";
3
- import { CreateEmbeddingRequest, CreateEmbeddingResponse } from "./internals";
4
- export interface BaseOpenAIEmbeddingsOptions {
5
- /**
6
- * Optional. Number of embedding dimensions to return.
7
- */
8
- dimensions?: number;
9
- /**
10
- * Optional. Whether to log requests to the console.
11
- * @remarks
12
- * This is useful for debugging prompts and defaults to `false`.
13
- */
14
- logRequests?: boolean;
15
- /**
16
- * Optional. Maximum number of tokens that can be sent to the embedding model.
17
- */
18
- maxTokens?: number;
19
- /**
20
- * Optional. Retry policy to use when calling the OpenAI API.
21
- * @remarks
22
- * The default retry policy is `[2000, 5000]` which means that the first retry will be after
23
- * 2 seconds and the second retry will be after 5 seconds.
24
- */
25
- retryPolicy?: number[];
26
- /**
27
- * Optional. Request options to use when calling the OpenAI API.
28
- */
29
- requestConfig?: AxiosRequestConfig;
30
- }
31
- /**
32
- * Options for configuring an `OpenAIEmbeddings` to generate embeddings using an OSS hosted model.
33
- */
34
- export interface OSSEmbeddingsOptions extends BaseOpenAIEmbeddingsOptions {
35
- /**
36
- * Model to use for completion.
37
- */
38
- ossModel: string;
39
- /**
40
- * Optional. Endpoint to use when calling the OpenAI API.
41
- * @remarks
42
- * For Azure OpenAI this is the deployment endpoint.
43
- */
44
- ossEndpoint: string;
45
- }
46
- /**
47
- * Options for configuring an `OpenAIEmbeddings` to generate embeddings using an OpenAI hosted model.
48
- */
49
- export interface OpenAIEmbeddingsOptions extends BaseOpenAIEmbeddingsOptions {
50
- /**
51
- * API key to use when calling the OpenAI API.
52
- * @remarks
53
- * A new API key can be created at https://platform.openai.com/account/api-keys.
54
- */
55
- apiKey: string;
56
- /**
57
- * Model to use for completion.
58
- * @remarks
59
- * For Azure OpenAI this is the name of the deployment to use.
60
- */
61
- model: string;
62
- /**
63
- * Optional. Organization to use when calling the OpenAI API.
64
- */
65
- organization?: string;
66
- /**
67
- * Optional. Endpoint to use when calling the OpenAI API.
68
- */
69
- endpoint?: string;
70
- }
71
- /**
72
- * Options for configuring an `OpenAIEmbeddings` to generate embeddings using an Azure OpenAI hosted model.
73
- */
74
- export interface AzureOpenAIEmbeddingsOptions extends BaseOpenAIEmbeddingsOptions {
75
- /**
76
- * API key to use when making requests to Azure OpenAI.
77
- */
78
- azureApiKey: string;
79
- /**
80
- * Deployment endpoint to use.
81
- */
82
- azureEndpoint: string;
83
- /**
84
- * Name of the Azure OpenAI deployment (model) to use.
85
- */
86
- azureDeployment: string;
87
- /**
88
- * Optional. Version of the API being called. Defaults to `2023-05-15`.
89
- */
90
- azureApiVersion?: string;
91
- }
92
- /**
93
- * A `PromptCompletionModel` for calling OpenAI and Azure OpenAI hosted models.
94
- * @remarks
95
- */
96
- export declare class OpenAIEmbeddings implements EmbeddingsModel {
97
- private readonly _httpClient;
98
- private readonly _clientType;
99
- private readonly UserAgent;
100
- readonly maxTokens: number;
101
- /**
102
- * Options the client was configured with.
103
- */
104
- readonly options: OSSEmbeddingsOptions | OpenAIEmbeddingsOptions | AzureOpenAIEmbeddingsOptions;
105
- /**
106
- * Creates a new `OpenAIClient` instance.
107
- * @param options Options for configuring an `OpenAIClient`.
108
- */
109
- constructor(options: OSSEmbeddingsOptions | OpenAIEmbeddingsOptions | AzureOpenAIEmbeddingsOptions);
110
- /**
111
- * Creates embeddings for the given inputs using the OpenAI API.
112
- * @param model Name of the model to use (or deployment for Azure).
113
- * @param inputs Text inputs to create embeddings for.
114
- * @returns A `EmbeddingsResponse` with a status and the generated embeddings or a message when an error occurs.
115
- */
116
- createEmbeddings(inputs: string | string[]): Promise<EmbeddingsResponse>;
117
- /**
118
- * @private
119
- */
120
- protected createEmbeddingRequest(request: CreateEmbeddingRequest): Promise<AxiosResponse<CreateEmbeddingResponse>>;
121
- /**
122
- * @private
123
- */
124
- protected post<TData>(url: string, body: object, retryCount?: number): Promise<AxiosResponse<TData>>;
125
- }
126
- //# sourceMappingURL=OpenAIEmbeddings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OpenAIEmbeddings.d.ts","sourceRoot":"","sources":["../src/OpenAIEmbeddings.ts"],"names":[],"mappings":"AAAA,OAAc,EAAiB,aAAa,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAgC,MAAM,aAAa,CAAC;AAG5G,MAAM,WAAW,2BAA2B;IACxC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;OAEG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACtC;AAGD;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,2BAA2B;IACrE;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,2BAA2B;IACxE;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,2BAA2B;IAC7E;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IAEzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IAEzC,SAAgB,SAAS,SAAC;IAE1B;;OAEG;IACH,SAAgB,OAAO,EAAE,oBAAoB,GAAC,uBAAuB,GAAC,4BAA4B,CAAC;IAEnG;;;OAGG;gBACgB,OAAO,EAAE,oBAAoB,GAAC,uBAAuB,GAAC,4BAA4B;IAwCrG;;;;;OAKG;IACU,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6BrF;;OAEG;IACH,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAqBlH;;OAEG;cACa,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;CAqCxG"}