vectra 0.12.2 → 0.12.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.
Files changed (73) hide show
  1. package/LICENSE +1 -1
  2. package/README.draft.md +499 -0
  3. package/README.draft.outline.md +160 -0
  4. package/README.research.md +2159 -0
  5. package/bin/vectra.js +3 -0
  6. package/lib/FileFetcher.d.ts +5 -0
  7. package/lib/FileFetcher.d.ts.map +1 -0
  8. package/lib/FileFetcher.js +79 -0
  9. package/lib/FileFetcher.js.map +1 -0
  10. package/lib/GPT3Tokenizer.d.ts +9 -0
  11. package/lib/ItemSelector.d.ts +41 -0
  12. package/lib/ItemSelector.d.ts.map +1 -0
  13. package/lib/ItemSelector.js +168 -0
  14. package/lib/ItemSelector.js.map +1 -0
  15. package/lib/LocalDocument.d.ts +54 -0
  16. package/lib/LocalDocument.js +156 -0
  17. package/lib/LocalDocument.js.map +1 -0
  18. package/lib/LocalDocumentIndex.d.ts +132 -0
  19. package/lib/LocalDocumentIndex.js +456 -0
  20. package/lib/LocalDocumentIndex.js.map +1 -0
  21. package/lib/LocalDocumentResult.d.ts +45 -0
  22. package/lib/LocalDocumentResult.js +328 -0
  23. package/lib/LocalDocumentResult.js.map +1 -0
  24. package/lib/LocalIndex.d.ts +150 -0
  25. package/lib/LocalIndex.d.ts.map +1 -1
  26. package/lib/LocalIndex.js +515 -0
  27. package/lib/LocalIndex.js.map +1 -0
  28. package/lib/LocalIndex.spec.d.ts +2 -0
  29. package/lib/LocalIndex.spec.js +218 -7
  30. package/lib/LocalIndex.spec.js.map +1 -1
  31. package/lib/OpenAIEmbeddings.d.ts +126 -0
  32. package/lib/OpenAIEmbeddings.d.ts.map +1 -0
  33. package/lib/OpenAIEmbeddings.js +174 -0
  34. package/lib/OpenAIEmbeddings.js.map +1 -0
  35. package/lib/TextSplitter.d.ts +19 -0
  36. package/lib/TextSplitter.d.ts.map +1 -1
  37. package/lib/TextSplitter.js +457 -0
  38. package/lib/TextSplitter.js.map +1 -0
  39. package/lib/TextSplitter.spec.d.ts +2 -0
  40. package/lib/TextSplitter.spec.d.ts.map +1 -0
  41. package/lib/TextSplitter.spec.js +109 -0
  42. package/lib/TextSplitter.spec.js.map +1 -0
  43. package/lib/WebFetcher.d.ts +15 -0
  44. package/lib/WebFetcher.d.ts.map +1 -0
  45. package/lib/WebFetcher.js +234 -0
  46. package/lib/WebFetcher.js.map +1 -0
  47. package/lib/index.d.ts +12 -0
  48. package/lib/index.js +28 -0
  49. package/lib/index.js.map +1 -0
  50. package/lib/internals/Colorize.d.ts +14 -0
  51. package/lib/internals/Colorize.d.ts.map +1 -0
  52. package/lib/internals/Colorize.js +64 -0
  53. package/lib/internals/Colorize.js.map +1 -0
  54. package/lib/internals/index.d.ts +3 -0
  55. package/lib/internals/index.d.ts.map +1 -0
  56. package/lib/internals/index.js +19 -0
  57. package/lib/internals/index.js.map +1 -0
  58. package/lib/internals/types.d.ts +43 -0
  59. package/lib/internals/types.d.ts.map +1 -0
  60. package/lib/internals/types.js +3 -0
  61. package/lib/internals/types.js.map +1 -0
  62. package/lib/types.d.ts +146 -0
  63. package/lib/types.d.ts.map +1 -0
  64. package/lib/types.js +3 -0
  65. package/lib/types.js.map +1 -0
  66. package/lib/vectra-cli.d.ts +2 -0
  67. package/lib/vectra-cli.js +323 -0
  68. package/lib/vectra-cli.js.map +1 -0
  69. package/package.json +3 -1
  70. package/src/LocalIndex.spec.ts +265 -8
  71. package/src/LocalIndex.ts +1 -0
  72. package/src/TextSplitter.spec.ts +87 -0
  73. package/src/TextSplitter.ts +459 -531
@@ -13,33 +13,166 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const node_assert_1 = __importDefault(require("node:assert"));
16
+ const sinon_1 = __importDefault(require("sinon"));
16
17
  const LocalIndex_1 = require("./LocalIndex");
17
18
  const promises_1 = __importDefault(require("fs/promises"));
18
19
  const path_1 = __importDefault(require("path"));
19
20
  describe('LocalIndex', () => {
20
21
  const testIndexDir = path_1.default.join(__dirname, 'test_index');
22
+ const basicIndexItems = [
23
+ { id: '1', vector: [1, 2, 3] },
24
+ { id: '2', vector: [2, 3, 4] },
25
+ { id: '3', vector: [3, 4, 5] }
26
+ ];
21
27
  beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
22
28
  yield promises_1.default.rm(testIndexDir, { recursive: true, force: true });
23
29
  }));
24
30
  afterEach(() => __awaiter(void 0, void 0, void 0, function* () {
25
31
  yield promises_1.default.rm(testIndexDir, { recursive: true, force: true });
32
+ sinon_1.default.restore();
26
33
  }));
27
34
  it('should create a new index', () => __awaiter(void 0, void 0, void 0, function* () {
28
35
  const index = new LocalIndex_1.LocalIndex(testIndexDir);
29
36
  yield index.createIndex();
30
37
  const created = yield index.isIndexCreated();
31
38
  node_assert_1.default.equal(created, true);
39
+ node_assert_1.default.equal(index.folderPath, testIndexDir);
32
40
  }));
41
+ it('blocks concurrent operations when lock is held', () => __awaiter(void 0, void 0, void 0, function* () {
42
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
43
+ yield index.createIndex();
44
+ yield index.beginUpdate(); // grab lock for a big update!
45
+ yield node_assert_1.default.rejects(() => __awaiter(void 0, void 0, void 0, function* () {
46
+ yield index.beginUpdate(); // try to grab lock again. should fail!
47
+ }), new Error('Update already in progress'));
48
+ }));
49
+ describe('createIndex', () => {
50
+ it('checks for existing index on creation', () => __awaiter(void 0, void 0, void 0, function* () {
51
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
52
+ yield index.createIndex(); // create first index.json
53
+ // create without deleteIfExists. Will reject
54
+ yield node_assert_1.default.rejects(() => __awaiter(void 0, void 0, void 0, function* () {
55
+ yield index.createIndex();
56
+ }), new Error('Index already exists'));
57
+ // create with deleteIfExists. Should remove old data
58
+ yield index.insertItem({ id: '1', vector: [1, 2, 3] });
59
+ const lengthBefore = (yield index.listItems()).length;
60
+ node_assert_1.default.equal(lengthBefore, 1);
61
+ yield index.createIndex({ deleteIfExists: true, version: 2, metadata_config: {} });
62
+ const lengthAfter = (yield index.listItems()).length;
63
+ node_assert_1.default.equal(lengthAfter, 0);
64
+ }));
65
+ it('delete index if file creation fails', () => __awaiter(void 0, void 0, void 0, function* () {
66
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
67
+ sinon_1.default.stub(promises_1.default, 'writeFile').rejects(new Error('fs error'));
68
+ yield node_assert_1.default.rejects(() => __awaiter(void 0, void 0, void 0, function* () {
69
+ yield index.createIndex();
70
+ }), new Error('Error creating index'));
71
+ yield node_assert_1.default.rejects(() => __awaiter(void 0, void 0, void 0, function* () {
72
+ yield index.listItems();
73
+ }));
74
+ }));
75
+ });
76
+ describe('deleteItem', () => {
77
+ it('does nothing when id not found', () => __awaiter(void 0, void 0, void 0, function* () {
78
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
79
+ yield index.createIndex();
80
+ yield index.beginUpdate();
81
+ yield index.insertItem(basicIndexItems[0]);
82
+ yield index.insertItem(basicIndexItems[1]);
83
+ yield index.insertItem(basicIndexItems[2]);
84
+ yield index.endUpdate();
85
+ yield node_assert_1.default.doesNotReject(() => __awaiter(void 0, void 0, void 0, function* () {
86
+ yield index.deleteItem('dne');
87
+ }));
88
+ node_assert_1.default.equal((yield index.listItems()).length, 3);
89
+ }));
90
+ it('leaves existing empty index when last el deleted', () => __awaiter(void 0, void 0, void 0, function* () {
91
+ var _a;
92
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
93
+ yield index.createIndex();
94
+ yield index.insertItem(basicIndexItems[0]);
95
+ yield index.deleteItem((_a = basicIndexItems[0].id) !== null && _a !== void 0 ? _a : '');
96
+ node_assert_1.default.equal(yield index.isIndexCreated(), true);
97
+ node_assert_1.default.equal((yield index.listItems()).length, 0);
98
+ }));
99
+ it('removes elements from any position', () => __awaiter(void 0, void 0, void 0, function* () {
100
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
101
+ yield index.createIndex();
102
+ yield index.batchInsertItems([
103
+ { id: '1', vector: [] },
104
+ { id: '2', vector: [] },
105
+ { id: '3', vector: [] },
106
+ { id: '4', vector: [] },
107
+ { id: '5', vector: [] },
108
+ ]);
109
+ yield index.beginUpdate();
110
+ yield index.deleteItem('1');
111
+ yield index.deleteItem('3');
112
+ yield index.deleteItem('5');
113
+ yield index.endUpdate();
114
+ node_assert_1.default.deepStrictEqual(yield index.listItems(), [{ id: '2', vector: [], metadata: {}, norm: 0 }, { id: '4', vector: [], metadata: {}, norm: 0 }]);
115
+ }));
116
+ });
117
+ describe('endUpdate', () => {
118
+ it('throws an error if no update has begun', () => __awaiter(void 0, void 0, void 0, function* () {
119
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
120
+ yield node_assert_1.default.rejects(() => __awaiter(void 0, void 0, void 0, function* () {
121
+ yield index.endUpdate();
122
+ }), new Error('No update in progress'));
123
+ }));
124
+ it('throws an error if the index could not be saved', () => __awaiter(void 0, void 0, void 0, function* () {
125
+ const index = new LocalIndex_1.LocalIndex(testIndexDir, 'index.json');
126
+ yield index.createIndex();
127
+ yield index.beginUpdate();
128
+ sinon_1.default.stub(promises_1.default, 'writeFile').rejects(new Error('fs error'));
129
+ yield node_assert_1.default.rejects(() => __awaiter(void 0, void 0, void 0, function* () {
130
+ yield index.endUpdate();
131
+ }), new Error('Error saving index: Error: fs error'));
132
+ }));
133
+ });
134
+ describe('getIndexStats', () => {
135
+ it('reports empty index correctly', () => __awaiter(void 0, void 0, void 0, function* () {
136
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
137
+ yield index.createIndex();
138
+ node_assert_1.default.deepStrictEqual(yield index.getIndexStats(), {
139
+ version: 1,
140
+ metadata_config: {},
141
+ items: 0
142
+ });
143
+ }));
144
+ it('correctly reports non-empty index stats', () => __awaiter(void 0, void 0, void 0, function* () {
145
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
146
+ yield index.createIndex({ version: 1, metadata_config: { indexed: [] } });
147
+ yield index.batchInsertItems(basicIndexItems);
148
+ node_assert_1.default.deepStrictEqual(yield index.getIndexStats(), {
149
+ version: 1,
150
+ metadata_config: { indexed: [] },
151
+ items: 3
152
+ });
153
+ }));
154
+ });
155
+ describe('getItem', () => {
156
+ it('returns undefined when item not found', () => __awaiter(void 0, void 0, void 0, function* () {
157
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
158
+ yield index.createIndex();
159
+ node_assert_1.default.equal(yield index.getItem('1'), undefined);
160
+ }));
161
+ it('returns requested item', () => __awaiter(void 0, void 0, void 0, function* () {
162
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
163
+ yield index.createIndex();
164
+ yield index.batchInsertItems(basicIndexItems);
165
+ const item2 = yield index.getItem('2');
166
+ node_assert_1.default.equal(item2 === null || item2 === void 0 ? void 0 : item2.id, basicIndexItems[1].id);
167
+ node_assert_1.default.equal(item2 === null || item2 === void 0 ? void 0 : item2.vector, basicIndexItems[1].vector);
168
+ node_assert_1.default.equal((yield index.listItems()).length, 3);
169
+ }));
170
+ });
33
171
  describe('batchInsertItems', () => {
34
- const indexItems = [
35
- { id: '1', vector: [1, 2, 3] },
36
- { id: '2', vector: [2, 3, 4] },
37
- { id: '3', vector: [3, 4, 5] }
38
- ];
39
172
  it('should insert provided items', () => __awaiter(void 0, void 0, void 0, function* () {
40
173
  const index = new LocalIndex_1.LocalIndex(testIndexDir);
41
174
  yield index.createIndex();
42
- const newItems = yield index.batchInsertItems(indexItems);
175
+ const newItems = yield index.batchInsertItems(basicIndexItems);
43
176
  node_assert_1.default.equal(newItems.length, 3);
44
177
  const retrievedItems = yield index.listItems();
45
178
  node_assert_1.default.equal(retrievedItems.length, 3);
@@ -50,7 +183,7 @@ describe('LocalIndex', () => {
50
183
  yield index.insertItem({ id: '2', vector: [9, 9, 9] });
51
184
  // ensures insert error is bubbled up to batchIndexItems caller
52
185
  yield node_assert_1.default.rejects(() => __awaiter(void 0, void 0, void 0, function* () {
53
- yield index.batchInsertItems(indexItems);
186
+ yield index.batchInsertItems(basicIndexItems);
54
187
  }), {
55
188
  name: 'Error',
56
189
  message: 'Item with id 2 already exists'
@@ -60,5 +193,83 @@ describe('LocalIndex', () => {
60
193
  node_assert_1.default.equal(storedItems.length, 1);
61
194
  }));
62
195
  });
196
+ describe('listItemsByMetadata', () => {
197
+ it('returns items matching metadata filter', () => __awaiter(void 0, void 0, void 0, function* () {
198
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
199
+ yield index.createIndex();
200
+ yield index.batchInsertItems([
201
+ { id: '1', vector: [], metadata: { category: 'food' } },
202
+ { id: '2', vector: [], metadata: { category: 'food' } },
203
+ { id: '3', vector: [], metadata: { category: 'electronics' } },
204
+ { id: '4', vector: [], metadata: { category: 'drink' } },
205
+ { id: '5', vector: [], metadata: { category: 'food' } },
206
+ ]);
207
+ const foodItems = yield index.listItemsByMetadata({ category: { '$eq': 'food' } });
208
+ node_assert_1.default.deepStrictEqual(foodItems.map((item) => item.id), ["1", "2", "5"]);
209
+ const drinkItems = yield index.listItemsByMetadata({ category: { '$eq': 'drink' } });
210
+ node_assert_1.default.deepStrictEqual(drinkItems.map((item) => item.id), ["4"]);
211
+ const clothingItems = yield index.listItemsByMetadata({ category: { '$eq': 'clothes' } });
212
+ node_assert_1.default.deepStrictEqual(clothingItems, []);
213
+ }));
214
+ it('returns nothing when no items in index', () => __awaiter(void 0, void 0, void 0, function* () {
215
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
216
+ yield index.createIndex();
217
+ const items = yield index.listItemsByMetadata({});
218
+ node_assert_1.default.deepStrictEqual(items, []);
219
+ }));
220
+ });
221
+ describe("queryItems", () => {
222
+ it("returns empty array on empty index search", () => __awaiter(void 0, void 0, void 0, function* () {
223
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
224
+ yield index.createIndex();
225
+ const result = yield index.queryItems([1, 2, 3], "", 10);
226
+ node_assert_1.default.deepStrictEqual(result, []);
227
+ }));
228
+ it("returns bad match when no better match exists", () => __awaiter(void 0, void 0, void 0, function* () {
229
+ var _a, _b;
230
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
231
+ yield index.createIndex();
232
+ yield index.insertItem({ id: "1", vector: [0.9, 0, 0, 0, 0] });
233
+ const result = yield index.queryItems([0, 0, 0, 0, 0.1], "", 1);
234
+ node_assert_1.default.equal((_a = result[0]) === null || _a === void 0 ? void 0 : _a.score, 0);
235
+ node_assert_1.default.equal((_b = result[0]) === null || _b === void 0 ? void 0 : _b.item.id, "1");
236
+ }));
237
+ it("returns all vectors when fewer than topK exist", () => __awaiter(void 0, void 0, void 0, function* () {
238
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
239
+ yield index.createIndex();
240
+ yield index.batchInsertItems(basicIndexItems);
241
+ const result = yield index.queryItems([0, 0, 1], "", 10);
242
+ node_assert_1.default.equal(result.length, 3);
243
+ node_assert_1.default.deepStrictEqual(result.map(({ item }) => item.id), basicIndexItems.map((item) => item.id));
244
+ }));
245
+ it("filters by metadata when filter provided", () => __awaiter(void 0, void 0, void 0, function* () {
246
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
247
+ yield index.createIndex();
248
+ yield index.batchInsertItems([
249
+ { id: "1", vector: [1, 0, 0], metadata: { category: "food" } },
250
+ { id: "2", vector: [0, 0, 1], metadata: { category: "drink" } },
251
+ ]);
252
+ const bestGeneralMatch = yield index.queryItems([1, 0, 0], "", 1);
253
+ const bestDrinkMatch = yield index.queryItems([1, 0, 0], "", 1, {
254
+ category: { $eq: "drink" },
255
+ });
256
+ node_assert_1.default.equal(bestGeneralMatch[0].item.id, "1");
257
+ node_assert_1.default.equal(bestDrinkMatch[0].item.id, "2");
258
+ }));
259
+ it("reads item metadata file when provided", () => __awaiter(void 0, void 0, void 0, function* () {
260
+ const index = new LocalIndex_1.LocalIndex(testIndexDir);
261
+ yield index.createIndex({ version: 1, metadata_config: { indexed: ['category'] } });
262
+ yield index.batchInsertItems([
263
+ { id: "1", vector: [1, 0, 0] },
264
+ { id: "2", vector: [0, 0, 1], metadata: { category: 'drink' } },
265
+ ]);
266
+ sinon_1.default
267
+ .stub(promises_1.default, "readFile")
268
+ .resolves(JSON.stringify({ category: "drink" }));
269
+ const bestDrinkMatch = yield index.queryItems([1, 0, 0], "", 2, { category: { '$eq': 'drink' } });
270
+ node_assert_1.default.notEqual(bestDrinkMatch[0].item.metadataFile, undefined);
271
+ node_assert_1.default.equal(bestDrinkMatch[0].item.id, "2");
272
+ }));
273
+ });
63
274
  });
64
275
  //# sourceMappingURL=LocalIndex.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalIndex.spec.js","sourceRoot":"","sources":["../src/LocalIndex.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalIndex.spec.js","sourceRoot":"","sources":["../src/LocalIndex.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.OpenAIEmbeddings = void 0;
16
+ const axios_1 = __importDefault(require("axios"));
17
+ const internals_1 = require("./internals");
18
+ /**
19
+ * A `PromptCompletionModel` for calling OpenAI and Azure OpenAI hosted models.
20
+ * @remarks
21
+ */
22
+ class OpenAIEmbeddings {
23
+ /**
24
+ * Creates a new `OpenAIClient` instance.
25
+ * @param options Options for configuring an `OpenAIClient`.
26
+ */
27
+ constructor(options) {
28
+ var _a;
29
+ this.UserAgent = 'AlphaWave';
30
+ this.maxTokens = (_a = options.maxTokens) !== null && _a !== void 0 ? _a : 500;
31
+ // Check for azure config
32
+ if (options.azureApiKey) {
33
+ this._clientType = ClientType.AzureOpenAI;
34
+ this.options = Object.assign({
35
+ retryPolicy: [2000, 5000],
36
+ azureApiVersion: '2023-05-15',
37
+ }, options);
38
+ // Cleanup and validate endpoint
39
+ let endpoint = this.options.azureEndpoint.trim();
40
+ if (endpoint.endsWith('/')) {
41
+ endpoint = endpoint.substring(0, endpoint.length - 1);
42
+ }
43
+ if (!endpoint.toLowerCase().startsWith('https://')) {
44
+ throw new Error(`Client created with an invalid endpoint of '${endpoint}'. The endpoint must be a valid HTTPS url.`);
45
+ }
46
+ this.options.azureEndpoint = endpoint;
47
+ }
48
+ else if (options.ossModel) {
49
+ this._clientType = ClientType.OSS;
50
+ this.options = Object.assign({
51
+ retryPolicy: [2000, 5000]
52
+ }, options);
53
+ }
54
+ else {
55
+ this._clientType = ClientType.OpenAI;
56
+ this.options = Object.assign({
57
+ retryPolicy: [2000, 5000]
58
+ }, options);
59
+ }
60
+ // Create client
61
+ this._httpClient = axios_1.default.create({
62
+ validateStatus: (status) => status < 400 || status == 429
63
+ });
64
+ }
65
+ /**
66
+ * Creates embeddings for the given inputs using the OpenAI API.
67
+ * @param model Name of the model to use (or deployment for Azure).
68
+ * @param inputs Text inputs to create embeddings for.
69
+ * @returns A `EmbeddingsResponse` with a status and the generated embeddings or a message when an error occurs.
70
+ */
71
+ createEmbeddings(inputs) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ if (this.options.logRequests) {
74
+ console.log(internals_1.Colorize.title('EMBEDDINGS REQUEST:'));
75
+ console.log(internals_1.Colorize.output(inputs));
76
+ }
77
+ const startTime = Date.now();
78
+ const response = yield this.createEmbeddingRequest({
79
+ input: inputs,
80
+ });
81
+ if (this.options.logRequests) {
82
+ console.log(internals_1.Colorize.title('RESPONSE:'));
83
+ console.log(internals_1.Colorize.value('status', response.status));
84
+ console.log(internals_1.Colorize.value('duration', Date.now() - startTime, 'ms'));
85
+ console.log(internals_1.Colorize.output(response.data));
86
+ }
87
+ // Process response
88
+ if (response.status < 300) {
89
+ return { status: 'success', output: response.data.data.sort((a, b) => a.index - b.index).map((item) => item.embedding) };
90
+ }
91
+ else if (response.status == 429) {
92
+ return { status: 'rate_limited', message: `The embeddings API returned a rate limit error.` };
93
+ }
94
+ else {
95
+ return { status: 'error', message: `The embeddings API returned an error status of ${response.status}: ${response.statusText}` };
96
+ }
97
+ });
98
+ }
99
+ /**
100
+ * @private
101
+ */
102
+ createEmbeddingRequest(request) {
103
+ var _a;
104
+ if (this.options.dimensions) {
105
+ request.dimensions = this.options.dimensions;
106
+ }
107
+ if (this._clientType == ClientType.AzureOpenAI) {
108
+ const options = this.options;
109
+ const url = `${options.azureEndpoint}/openai/deployments/${options.azureDeployment}/embeddings?api-version=${options.azureApiVersion}`;
110
+ return this.post(url, request);
111
+ }
112
+ else if (this._clientType == ClientType.OSS) {
113
+ const options = this.options;
114
+ const url = `${options.ossEndpoint}/v1/embeddings`;
115
+ request.model = options.ossModel;
116
+ return this.post(url, request);
117
+ }
118
+ else {
119
+ const options = this.options;
120
+ const url = `${(_a = options.endpoint) !== null && _a !== void 0 ? _a : 'https://api.openai.com'}/v1/embeddings`;
121
+ request.model = options.model;
122
+ return this.post(url, request);
123
+ }
124
+ }
125
+ /**
126
+ * @private
127
+ */
128
+ post(url_1, body_1) {
129
+ return __awaiter(this, arguments, void 0, function* (url, body, retryCount = 0) {
130
+ // Initialize request config
131
+ const requestConfig = Object.assign({}, this.options.requestConfig);
132
+ // Initialize request headers
133
+ if (!requestConfig.headers) {
134
+ requestConfig.headers = {};
135
+ }
136
+ if (!requestConfig.headers['Content-Type']) {
137
+ requestConfig.headers['Content-Type'] = 'application/json';
138
+ }
139
+ if (!requestConfig.headers['User-Agent']) {
140
+ requestConfig.headers['User-Agent'] = this.UserAgent;
141
+ }
142
+ if (this._clientType == ClientType.AzureOpenAI) {
143
+ const options = this.options;
144
+ requestConfig.headers['api-key'] = options.azureApiKey;
145
+ }
146
+ else if (this._clientType == ClientType.OpenAI) {
147
+ const options = this.options;
148
+ requestConfig.headers['Authorization'] = `Bearer ${options.apiKey}`;
149
+ if (options.organization) {
150
+ requestConfig.headers['OpenAI-Organization'] = options.organization;
151
+ }
152
+ }
153
+ // Send request
154
+ const response = yield this._httpClient.post(url, body, requestConfig);
155
+ // Check for rate limit error
156
+ if (response.status == 429 && Array.isArray(this.options.retryPolicy) && retryCount < this.options.retryPolicy.length) {
157
+ const delay = this.options.retryPolicy[retryCount];
158
+ yield new Promise((resolve) => setTimeout(resolve, delay));
159
+ return this.post(url, body, retryCount + 1);
160
+ }
161
+ else {
162
+ return response;
163
+ }
164
+ });
165
+ }
166
+ }
167
+ exports.OpenAIEmbeddings = OpenAIEmbeddings;
168
+ var ClientType;
169
+ (function (ClientType) {
170
+ ClientType[ClientType["OpenAI"] = 0] = "OpenAI";
171
+ ClientType[ClientType["AzureOpenAI"] = 1] = "AzureOpenAI";
172
+ ClientType[ClientType["OSS"] = 2] = "OSS";
173
+ })(ClientType || (ClientType = {}));
174
+ //# sourceMappingURL=OpenAIEmbeddings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAIEmbeddings.js","sourceRoot":"","sources":["../src/OpenAIEmbeddings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { TextChunk, Tokenizer } from "./types";
2
+ export interface TextSplitterConfig {
3
+ separators: string[];
4
+ keepSeparators: boolean;
5
+ chunkSize: number;
6
+ chunkOverlap: number;
7
+ tokenizer: Tokenizer;
8
+ docType?: string;
9
+ }
10
+ export declare class TextSplitter {
11
+ private readonly _config;
12
+ constructor(config?: Partial<TextSplitterConfig>);
13
+ split(text: string): TextChunk[];
14
+ private recursiveSplit;
15
+ private combineChunks;
16
+ private splitBySpaces;
17
+ private getSeparators;
18
+ }
19
+ //# sourceMappingURL=TextSplitter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextSplitter.d.ts","sourceRoot":"","sources":["../src/TextSplitter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAI/C,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;gBAE1B,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;IA2BhD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE;IA4BvC,OAAO,CAAC,cAAc;IAoEtB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,aAAa;CA4WxB"}
1
+ {"version":3,"file":"TextSplitter.d.ts","sourceRoot":"","sources":["../src/TextSplitter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAI/C,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;gBAE1B,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;IA2BhD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE;IA+BvC,OAAO,CAAC,cAAc;IAuEtB,OAAO,CAAC,aAAa;IAsDrB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,aAAa;CA8QtB"}