agentfootprint 9.2.0 → 9.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/dist/adapters/memory/pgVector.js +731 -0
- package/dist/adapters/memory/pgVector.js.map +1 -0
- package/dist/adapters/memory/s3Vectors.js +628 -0
- package/dist/adapters/memory/s3Vectors.js.map +1 -0
- package/dist/adapters/memory/sqliteVector.js +16 -79
- package/dist/adapters/memory/sqliteVector.js.map +1 -1
- package/dist/embedders/index.js +240 -76
- package/dist/embedders/index.js.map +1 -1
- package/dist/esm/adapters/memory/pgVector.d.ts +243 -0
- package/dist/esm/adapters/memory/pgVector.js +726 -0
- package/dist/esm/adapters/memory/pgVector.js.map +1 -0
- package/dist/esm/adapters/memory/s3Vectors.d.ts +208 -0
- package/dist/esm/adapters/memory/s3Vectors.js +624 -0
- package/dist/esm/adapters/memory/s3Vectors.js.map +1 -0
- package/dist/esm/adapters/memory/sqliteVector.d.ts +5 -27
- package/dist/esm/adapters/memory/sqliteVector.js +10 -73
- package/dist/esm/adapters/memory/sqliteVector.js.map +1 -1
- package/dist/esm/embedders/index.d.ts +99 -19
- package/dist/esm/embedders/index.js +240 -76
- package/dist/esm/embedders/index.js.map +1 -1
- package/dist/esm/lib/embedderMismatch.d.ts +67 -0
- package/dist/esm/lib/embedderMismatch.js +96 -0
- package/dist/esm/lib/embedderMismatch.js.map +1 -0
- package/dist/esm/lib/rag/defineRAG.d.ts +28 -6
- package/dist/esm/lib/rag/defineRAG.js +39 -5
- package/dist/esm/lib/rag/defineRAG.js.map +1 -1
- package/dist/esm/memory/define.js +31 -1
- package/dist/esm/memory/define.js.map +1 -1
- package/dist/esm/memory/define.types.d.ts +13 -2
- package/dist/esm/memory/define.types.js.map +1 -1
- package/dist/esm/memory/embedding/loadRelevant.d.ts +10 -2
- package/dist/esm/memory/embedding/loadRelevant.js +36 -18
- package/dist/esm/memory/embedding/loadRelevant.js.map +1 -1
- package/dist/esm/memory/pipeline/semantic.d.ts +13 -2
- package/dist/esm/memory/pipeline/semantic.js +11 -5
- package/dist/esm/memory/pipeline/semantic.js.map +1 -1
- package/dist/esm/memory/store/capability.d.ts +25 -6
- package/dist/esm/memory/store/capability.js +68 -3
- package/dist/esm/memory/store/capability.js.map +1 -1
- package/dist/esm/memory/store/index.d.ts +1 -0
- package/dist/esm/memory/store/index.js +4 -0
- package/dist/esm/memory/store/index.js.map +1 -1
- package/dist/esm/memory/store/types.d.ts +40 -0
- package/dist/esm/memory-providers.d.ts +7 -4
- package/dist/esm/memory-providers.js +18 -4
- package/dist/esm/memory-providers.js.map +1 -1
- package/dist/lib/embedderMismatch.js +103 -0
- package/dist/lib/embedderMismatch.js.map +1 -0
- package/dist/lib/rag/defineRAG.js +39 -5
- package/dist/lib/rag/defineRAG.js.map +1 -1
- package/dist/memory/define.js +31 -1
- package/dist/memory/define.js.map +1 -1
- package/dist/memory/define.types.js.map +1 -1
- package/dist/memory/embedding/loadRelevant.js +36 -18
- package/dist/memory/embedding/loadRelevant.js.map +1 -1
- package/dist/memory/pipeline/semantic.js +11 -5
- package/dist/memory/pipeline/semantic.js.map +1 -1
- package/dist/memory/store/capability.js +70 -4
- package/dist/memory/store/capability.js.map +1 -1
- package/dist/memory/store/index.js +7 -1
- package/dist/memory/store/index.js.map +1 -1
- package/dist/memory-providers.js +22 -5
- package/dist/memory-providers.js.map +1 -1
- package/dist/types/adapters/memory/pgVector.d.ts +244 -0
- package/dist/types/adapters/memory/pgVector.d.ts.map +1 -0
- package/dist/types/adapters/memory/s3Vectors.d.ts +209 -0
- package/dist/types/adapters/memory/s3Vectors.d.ts.map +1 -0
- package/dist/types/adapters/memory/sqliteVector.d.ts +5 -27
- package/dist/types/adapters/memory/sqliteVector.d.ts.map +1 -1
- package/dist/types/embedders/index.d.ts +99 -19
- package/dist/types/embedders/index.d.ts.map +1 -1
- package/dist/types/lib/embedderMismatch.d.ts +68 -0
- package/dist/types/lib/embedderMismatch.d.ts.map +1 -0
- package/dist/types/lib/rag/defineRAG.d.ts +28 -6
- package/dist/types/lib/rag/defineRAG.d.ts.map +1 -1
- package/dist/types/memory/define.d.ts.map +1 -1
- package/dist/types/memory/define.types.d.ts +13 -2
- package/dist/types/memory/define.types.d.ts.map +1 -1
- package/dist/types/memory/embedding/loadRelevant.d.ts +10 -2
- package/dist/types/memory/embedding/loadRelevant.d.ts.map +1 -1
- package/dist/types/memory/pipeline/semantic.d.ts +13 -2
- package/dist/types/memory/pipeline/semantic.d.ts.map +1 -1
- package/dist/types/memory/store/capability.d.ts +25 -6
- package/dist/types/memory/store/capability.d.ts.map +1 -1
- package/dist/types/memory/store/index.d.ts +1 -0
- package/dist/types/memory/store/index.d.ts.map +1 -1
- package/dist/types/memory/store/types.d.ts +40 -0
- package/dist/types/memory/store/types.d.ts.map +1 -1
- package/dist/types/memory-providers.d.ts +7 -4
- package/dist/types/memory-providers.d.ts.map +1 -1
- package/package.json +9 -1
package/dist/embedders/index.js
CHANGED
|
@@ -154,39 +154,99 @@ function openaiEmbedder(options = {}) {
|
|
|
154
154
|
}
|
|
155
155
|
exports.openaiEmbedder = openaiEmbedder;
|
|
156
156
|
/**
|
|
157
|
-
*
|
|
158
|
-
*
|
|
157
|
+
* The Bedrock embedding models this library knows by name — three facts each,
|
|
158
|
+
* in one table, because they arrive together and drift apart when they are
|
|
159
|
+
* kept apart (9.3.0; two Titan-only tables until then).
|
|
159
160
|
*
|
|
160
|
-
* Titan Text Embeddings **V2** is configurable — 1024
|
|
161
|
-
* Titan Embeddings G1 – Text (**V1**) has one size, 1536,
|
|
162
|
-
* parameter at all.
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
* `openaiEmbedder` applies, for the same reason: a store that trusts
|
|
161
|
+
* **Size.** Titan Text Embeddings **V2** is the configurable one — 1024
|
|
162
|
+
* (default), 512, 256. Titan Embeddings G1 – Text (**V1**) has one size, 1536,
|
|
163
|
+
* and no `dimensions` parameter at all. Cohere Embed v3 (English and
|
|
164
|
+
* Multilingual) returns 1024 and likewise takes no size. A model outside this
|
|
165
|
+
* table has a length this library cannot know and must state its own — the same
|
|
166
|
+
* rule `openaiEmbedder` applies, for the same reason: a store that trusts
|
|
166
167
|
* `.dimensions` and gets a different length back corrupts silently.
|
|
168
|
+
*
|
|
169
|
+
* **Window.** Both Titan text-embedding models accept **8,192 tokens** —
|
|
170
|
+
* sixteen times the on-device model the shipped default ceiling was measured
|
|
171
|
+
* on. Cohere Embed v3 accepts **512**, and that number is the whole argument
|
|
172
|
+
* for a per-MODEL ceiling rather than a per-VENDOR one: 512 tokens is ~2,000
|
|
173
|
+
* characters, so the same corpus that is embedded whole by Titan is silently
|
|
174
|
+
* truncated by Cohere at a quarter of the chunk. Declared, the indexers cut to
|
|
175
|
+
* fit; guessed from a sibling model, they would not.
|
|
176
|
+
*
|
|
177
|
+
* **Family.** The body shape (see {@link BedrockEmbeddingFamily}) — the fact
|
|
178
|
+
* whose absence made a Cohere model id constructible and unusable before 9.3.0.
|
|
167
179
|
*/
|
|
168
|
-
const
|
|
169
|
-
'amazon.titan-embed-text-v2:0':
|
|
170
|
-
|
|
180
|
+
const BEDROCK_EMBEDDING_MODELS = {
|
|
181
|
+
'amazon.titan-embed-text-v2:0': {
|
|
182
|
+
family: 'titan',
|
|
183
|
+
dimensions: 1024,
|
|
184
|
+
sizes: [1024, 512, 256],
|
|
185
|
+
maxInputTokens: 8192,
|
|
186
|
+
},
|
|
187
|
+
'amazon.titan-embed-text-v1': { family: 'titan', dimensions: 1536, maxInputTokens: 8192 },
|
|
188
|
+
'cohere.embed-english-v3': { family: 'cohere', dimensions: 1024, maxInputTokens: 512 },
|
|
189
|
+
'cohere.embed-multilingual-v3': { family: 'cohere', dimensions: 1024, maxInputTokens: 512 },
|
|
171
190
|
};
|
|
172
191
|
/**
|
|
173
|
-
*
|
|
192
|
+
* Titan V2's configurable sizes, kept as a constant because an id this table
|
|
193
|
+
* has never seen can still be recognisably Titan V2 (a variant released after
|
|
194
|
+
* this version) — and for such an id the size must still be SENT, or the model
|
|
195
|
+
* returns 1024 while `.dimensions` reports 512.
|
|
196
|
+
*/
|
|
197
|
+
const TITAN_V2_SIZES = [1024, 512, 256];
|
|
198
|
+
/**
|
|
199
|
+
* How many texts Cohere embeds in ONE `InvokeModel` call.
|
|
174
200
|
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
201
|
+
* **96**, the documented maximum, and the reason `embedBatch` is a real batch
|
|
202
|
+
* here and N calls for Titan: a 500-chunk corpus is 6 round-trips instead of
|
|
203
|
+
* 500. Chunked at exactly the documented number rather than under it, because
|
|
204
|
+
* unlike a byte limit this one is a count the caller can see — and a batch that
|
|
205
|
+
* silently used half the allowance would be a cost nobody asked for.
|
|
206
|
+
*/
|
|
207
|
+
const COHERE_MAX_TEXTS_PER_CALL = 96;
|
|
208
|
+
/**
|
|
209
|
+
* The body shape sent to a model id this library has never met.
|
|
180
210
|
*
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
*
|
|
211
|
+
* Titan's — because it is the shape EVERY release before 9.3.0 sent to every
|
|
212
|
+
* model, so an unknown id keeps doing exactly what it did. `family` is how a
|
|
213
|
+
* caller says otherwise, and the read-side refusal names that option.
|
|
184
214
|
*/
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
215
|
+
const DEFAULT_BEDROCK_FAMILY = 'titan';
|
|
216
|
+
/**
|
|
217
|
+
* The facts for a model id, including ids that WRAP a known one.
|
|
218
|
+
*
|
|
219
|
+
* A cross-region inference profile (`us.amazon.titan-embed-text-v2:0`) and an
|
|
220
|
+
* inference-profile ARN both END in the model id they route to, so containment
|
|
221
|
+
* resolves them exactly rather than by guess — and an id that names its model is
|
|
222
|
+
* not "unknown" just because it has a prefix. Before 9.3.0 those were refused
|
|
223
|
+
* as unknown models, which is why widening this is safe: it accepts what used
|
|
224
|
+
* to throw.
|
|
225
|
+
*/
|
|
226
|
+
function bedrockFactsFor(model) {
|
|
227
|
+
const exact = BEDROCK_EMBEDDING_MODELS[model];
|
|
228
|
+
if (exact)
|
|
229
|
+
return exact;
|
|
230
|
+
for (const [id, facts] of Object.entries(BEDROCK_EMBEDDING_MODELS)) {
|
|
231
|
+
if (model.includes(id))
|
|
232
|
+
return facts;
|
|
233
|
+
}
|
|
234
|
+
return undefined;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* The family a model id NAMES, or `undefined` when it names none.
|
|
238
|
+
*
|
|
239
|
+
* Substring, not prefix: the id may be wrapped by a region prefix or an ARN.
|
|
240
|
+
* An id that says neither gets Titan's body — the shape every release before
|
|
241
|
+
* 9.3.0 sent to everything — and `family` is how you say otherwise.
|
|
242
|
+
*/
|
|
243
|
+
function inferBedrockFamily(model) {
|
|
244
|
+
if (model.includes('cohere.embed'))
|
|
245
|
+
return 'cohere';
|
|
246
|
+
if (model.includes('titan-embed'))
|
|
247
|
+
return 'titan';
|
|
248
|
+
return undefined;
|
|
249
|
+
}
|
|
190
250
|
/**
|
|
191
251
|
* Amazon Bedrock's hosted embeddings, through `InvokeModel`.
|
|
192
252
|
*
|
|
@@ -215,19 +275,31 @@ const TITAN_V2_SUPPORTED = [1024, 512, 256];
|
|
|
215
275
|
* q8 and an fp32 build of one model are near-identical spaces, and "near" is
|
|
216
276
|
* exactly the difference that surfaces as a mysteriously worse ranking.)
|
|
217
277
|
*
|
|
278
|
+
* ── One operation, two body shapes (9.3.0) ───────────────────────────────
|
|
279
|
+
* `InvokeModel` is a single API over vendor-specific JSON. Titan takes
|
|
280
|
+
* `{ inputText }` and answers `{ embedding }`; Cohere takes
|
|
281
|
+
* `{ texts, input_type }` and answers `{ embeddings }`, embeds up to
|
|
282
|
+
* {@link COHERE_MAX_TEXTS_PER_CALL} of them per call, and distinguishes a
|
|
283
|
+
* QUERY from a DOCUMENT. So the model id selects a FAMILY
|
|
284
|
+
* ({@link BedrockEmbeddingFamily}), and the family owns the request, the
|
|
285
|
+
* response and the batching. Before this, one shape was sent to everything —
|
|
286
|
+
* a Cohere id constructed fine and failed at the first embed.
|
|
287
|
+
*
|
|
218
288
|
* ── The input ceiling (9.1.0) ────────────────────────────────────────────
|
|
219
|
-
* `.maxInputChars`
|
|
220
|
-
*
|
|
221
|
-
*
|
|
222
|
-
* the indexer's own default, which was measured on an on-device model
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
226
|
-
*
|
|
289
|
+
* `.maxInputChars` is per MODEL, from its documented token window converted at
|
|
290
|
+
* the stated {@link CHARS_PER_TOKEN} assumption of 4 characters per token:
|
|
291
|
+
* **32,000** for both Titan text-embedding models (8,192 tokens — sixteen
|
|
292
|
+
* times the indexer's own default, which was measured on an on-device model),
|
|
293
|
+
* and **2,000** for Cohere Embed v3 (512 tokens). Those two numbers are why the
|
|
294
|
+
* ceiling cannot be a per-vendor constant: the same 2,500-character chunk is
|
|
295
|
+
* read whole by Titan and truncated by Cohere. Dense text (code, tables, CJK)
|
|
296
|
+
* tokenises tighter than the assumption; pass an explicit `maxChunkChars` for
|
|
297
|
+
* such a corpus, and it wins over this number.
|
|
227
298
|
*
|
|
228
299
|
* @throws if `model` is unknown and `dimensions` was not supplied; if
|
|
229
|
-
* `dimensions` is
|
|
230
|
-
*
|
|
300
|
+
* `dimensions` is a size the model does not produce; if `family`
|
|
301
|
+
* contradicts a known model id; or if the SDK is missing and no
|
|
302
|
+
* `client` / `_client` / `_sdk` was passed.
|
|
231
303
|
*
|
|
232
304
|
* @example
|
|
233
305
|
* ```ts
|
|
@@ -238,24 +310,61 @@ const TITAN_V2_SUPPORTED = [1024, 512, 256];
|
|
|
238
310
|
* const embedder = bedrockEmbedder({ region: 'us-east-1', dimensions: 512 });
|
|
239
311
|
* await indexFolder('./docs', { to: sqliteVectorStore({ file: './corpus.db' }), embedder });
|
|
240
312
|
* ```
|
|
313
|
+
*
|
|
314
|
+
* @example A Cohere embedding model on the same runtime
|
|
315
|
+
* ```ts
|
|
316
|
+
* // Body shape, response field, batch size and 512-token window all follow
|
|
317
|
+
* // from the model id — nothing else changes at the call site.
|
|
318
|
+
* const embedder = bedrockEmbedder({ model: 'cohere.embed-english-v3' });
|
|
319
|
+
* ```
|
|
241
320
|
*/
|
|
242
321
|
function bedrockEmbedder(options = {}) {
|
|
243
322
|
const model = options.model ?? 'amazon.titan-embed-text-v2:0';
|
|
244
|
-
const
|
|
323
|
+
const facts = bedrockFactsFor(model);
|
|
324
|
+
const named = inferBedrockFamily(model);
|
|
325
|
+
if (options.family !== undefined && facts !== undefined && options.family !== facts.family) {
|
|
326
|
+
throw new Error(`bedrockEmbedder: model '${model}' is a ${facts.family} model, and \`family: ` +
|
|
327
|
+
`'${options.family}'\` says otherwise. The two cannot both be right, and guessing ` +
|
|
328
|
+
`which line is the mistake would decide the request body — the one thing a wrong ` +
|
|
329
|
+
`answer here breaks at the first embed. Drop \`family\` (the model id already says ` +
|
|
330
|
+
`it), or name the model you meant.`);
|
|
331
|
+
}
|
|
332
|
+
// Explicit, then what the id names, then Titan — which is the body every
|
|
333
|
+
// release before 9.3.0 sent to every model, so an id this library has never
|
|
334
|
+
// met keeps behaving exactly as it did.
|
|
335
|
+
const family = options.family ?? facts?.family ?? named ?? DEFAULT_BEDROCK_FAMILY;
|
|
245
336
|
const requested = options.dimensions;
|
|
246
|
-
const dimensions = requested ??
|
|
337
|
+
const dimensions = requested ?? facts?.dimensions;
|
|
247
338
|
if (dimensions === undefined) {
|
|
248
339
|
throw new Error(`bedrockEmbedder: unknown model '${model}' — its vector length is not something this ` +
|
|
249
340
|
`library can know, and reporting a wrong .dimensions silently corrupts a vector store. ` +
|
|
250
341
|
`Pass { dimensions } with the length that model returns.`);
|
|
251
342
|
}
|
|
252
|
-
|
|
253
|
-
|
|
343
|
+
// A model this table has never seen can still be recognisably Titan V2, and
|
|
344
|
+
// for one of those the requested size must still be validated and SENT.
|
|
345
|
+
const sizes = facts?.sizes ??
|
|
346
|
+
(family === 'titan' && model.includes('titan-embed-text-v2') ? TITAN_V2_SIZES : undefined);
|
|
347
|
+
if (requested !== undefined && sizes !== undefined && !sizes.includes(requested)) {
|
|
348
|
+
throw new Error(`bedrockEmbedder: '${model}' returns ${sizes.join(', ')} ` +
|
|
254
349
|
`dimensions — received ${String(requested)}. Asking for a size the model does not ` +
|
|
255
350
|
`produce would store vectors of a length that disagrees with the .dimensions this ` +
|
|
256
351
|
`embedder reports.`);
|
|
257
352
|
}
|
|
258
|
-
|
|
353
|
+
if (requested !== undefined &&
|
|
354
|
+
sizes === undefined &&
|
|
355
|
+
facts !== undefined &&
|
|
356
|
+
requested !== facts.dimensions) {
|
|
357
|
+
throw new Error(`bedrockEmbedder: '${model}' returns ${facts.dimensions}-dimension vectors and takes no ` +
|
|
358
|
+
`size parameter — received ${String(requested)}, which would be reported as ` +
|
|
359
|
+
`.dimensions and never be the length that comes back. Drop \`dimensions\`: this ` +
|
|
360
|
+
`factory already knows this model's size.`);
|
|
361
|
+
}
|
|
362
|
+
const maxInputChars = options.maxInputChars ?? charsFor(facts?.maxInputTokens);
|
|
363
|
+
// Only a size the model actually TAKES is sent. Titan V2 defaults to 1024 on
|
|
364
|
+
// its own side, V1 and Cohere reject the field — so a caller who asked for
|
|
365
|
+
// nothing gets a request body identical to the one before this option
|
|
366
|
+
// existed.
|
|
367
|
+
const sendSize = requested !== undefined && sizes !== undefined;
|
|
259
368
|
let connection;
|
|
260
369
|
/**
|
|
261
370
|
* Resolve the client + command constructor, once, on first embed.
|
|
@@ -298,20 +407,26 @@ function bedrockEmbedder(options = {}) {
|
|
|
298
407
|
return connection;
|
|
299
408
|
};
|
|
300
409
|
/**
|
|
301
|
-
*
|
|
302
|
-
*
|
|
303
|
-
*
|
|
304
|
-
*
|
|
410
|
+
* ONE `InvokeModel` round-trip, with the family's body on the way in and the
|
|
411
|
+
* family's field on the way out.
|
|
412
|
+
*
|
|
413
|
+
* Takes a slice of texts rather than one, because how many fit in a call is
|
|
414
|
+
* itself a family fact: Titan embeds a single `inputText`, Cohere embeds up
|
|
415
|
+
* to {@link COHERE_MAX_TEXTS_PER_CALL}. The callers below never have to know
|
|
416
|
+
* which — they hand over texts and get one vector per text back, in order.
|
|
305
417
|
*/
|
|
306
|
-
async function invoke(
|
|
418
|
+
async function invoke(texts, inputType, signal) {
|
|
307
419
|
const conn = connect();
|
|
308
|
-
const body = JSON.stringify(
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
420
|
+
const body = JSON.stringify(family === 'cohere'
|
|
421
|
+
? {
|
|
422
|
+
texts: [...texts],
|
|
423
|
+
// Required by the model, so there is no "unset" — see `inputType`.
|
|
424
|
+
input_type: options.inputType ?? inputType,
|
|
425
|
+
}
|
|
426
|
+
: {
|
|
427
|
+
inputText: texts[0],
|
|
428
|
+
...(sendSize && { dimensions: requested }),
|
|
429
|
+
});
|
|
315
430
|
const command = new conn.Command({
|
|
316
431
|
modelId: model,
|
|
317
432
|
contentType: 'application/json',
|
|
@@ -321,7 +436,29 @@ function bedrockEmbedder(options = {}) {
|
|
|
321
436
|
const out = await (signal
|
|
322
437
|
? conn.client.send(command, { abortSignal: signal })
|
|
323
438
|
: conn.client.send(command));
|
|
324
|
-
return
|
|
439
|
+
return readEmbeddings(out, model, family, texts.length, facts === undefined);
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* The calls one batch becomes: Titan one text at a time, Cohere in chunks.
|
|
443
|
+
*
|
|
444
|
+
* Sequential rather than parallel either way: callers of the batch path are
|
|
445
|
+
* usually indexing a whole corpus, and `indexCorpus` already fans out over
|
|
446
|
+
* batches with its own bounded parallelism and retry. Racing N more requests
|
|
447
|
+
* inside one of those branches is how a corpus index meets a throttling
|
|
448
|
+
* error.
|
|
449
|
+
*
|
|
450
|
+
* The abort is checked between calls as well as passed into each one, so an
|
|
451
|
+
* aborted batch stops at the next boundary instead of embedding the rest of a
|
|
452
|
+
* corpus nobody is waiting for.
|
|
453
|
+
*/
|
|
454
|
+
async function invokeAll(texts, inputType, signal) {
|
|
455
|
+
const perCall = family === 'cohere' ? COHERE_MAX_TEXTS_PER_CALL : 1;
|
|
456
|
+
const out = [];
|
|
457
|
+
for (let i = 0; i < texts.length; i += perCall) {
|
|
458
|
+
signal?.throwIfAborted();
|
|
459
|
+
out.push(...(await invoke(texts.slice(i, i + perCall), inputType, signal)));
|
|
460
|
+
}
|
|
461
|
+
return out;
|
|
325
462
|
}
|
|
326
463
|
return {
|
|
327
464
|
dimensions,
|
|
@@ -331,24 +468,16 @@ function bedrockEmbedder(options = {}) {
|
|
|
331
468
|
// than one it cannot stand behind.
|
|
332
469
|
...(maxInputChars !== undefined && { maxInputChars }),
|
|
333
470
|
async embed({ text, signal }) {
|
|
334
|
-
|
|
471
|
+
// ONE text is this library's query shape (`loadRelevant` embeds the
|
|
472
|
+
// question) — so Cohere is told it is a query unless `inputType` says
|
|
473
|
+
// otherwise. Titan ignores the argument entirely.
|
|
474
|
+
return (await invoke([text], 'search_query', signal))[0];
|
|
335
475
|
},
|
|
336
476
|
async embedBatch({ texts, signal }) {
|
|
337
|
-
//
|
|
338
|
-
//
|
|
339
|
-
//
|
|
340
|
-
|
|
341
|
-
// branches is how a corpus index meets a throttling error.
|
|
342
|
-
//
|
|
343
|
-
// The abort is checked between calls as well as passed into each one,
|
|
344
|
-
// so an aborted batch stops at the next boundary instead of embedding
|
|
345
|
-
// the rest of a corpus nobody is waiting for.
|
|
346
|
-
const out = [];
|
|
347
|
-
for (const text of texts) {
|
|
348
|
-
signal?.throwIfAborted();
|
|
349
|
-
out.push(await invoke(text, signal));
|
|
350
|
-
}
|
|
351
|
-
return out;
|
|
477
|
+
// MANY texts is this library's document shape (`indexDocuments`,
|
|
478
|
+
// `embedMessages`), and Cohere embeds a document into a different place
|
|
479
|
+
// from a query on purpose.
|
|
480
|
+
return invokeAll(texts, 'search_document', signal);
|
|
352
481
|
},
|
|
353
482
|
};
|
|
354
483
|
}
|
|
@@ -370,15 +499,26 @@ function loadBedrockRuntimeSdk() {
|
|
|
370
499
|
}
|
|
371
500
|
}
|
|
372
501
|
/**
|
|
373
|
-
* Pull the
|
|
502
|
+
* Pull the vectors out of an `InvokeModel` response, by FAMILY.
|
|
374
503
|
*
|
|
375
504
|
* The SDK hands back `body` as a `Uint8Array`; a hand-rolled or mock client
|
|
376
505
|
* may hand back the decoded object or a string. All three are read, and
|
|
377
506
|
* anything else is refused by NAME rather than returning an empty vector —
|
|
378
507
|
* an embedder that silently returns `[]` writes a row a store will never
|
|
379
508
|
* rank, which is indistinguishable from "the corpus does not mention that".
|
|
509
|
+
*
|
|
510
|
+
* The field differs with the family (`embedding` vs `embeddings`), so the
|
|
511
|
+
* refusal has to as well: told the wrong family, the response is perfectly
|
|
512
|
+
* valid and this is the only place that can say so — which is why the message
|
|
513
|
+
* names `family` when the model id was not one this library knows.
|
|
514
|
+
*
|
|
515
|
+
* @param expected how many vectors were asked for. A count mismatch is refused
|
|
516
|
+
* rather than returned short: the caller pairs vectors with texts by
|
|
517
|
+
* POSITION, so a missing one does not go missing — it silently re-labels
|
|
518
|
+
* every passage after it.
|
|
519
|
+
* @param guessedFamily whether the family was a fallback rather than a fact.
|
|
380
520
|
*/
|
|
381
|
-
function
|
|
521
|
+
function readEmbeddings(response, model, family, expected, guessedFamily) {
|
|
382
522
|
const body = response?.body ?? response;
|
|
383
523
|
let parsed = body;
|
|
384
524
|
if (body instanceof Uint8Array) {
|
|
@@ -387,13 +527,37 @@ function readEmbedding(response, model) {
|
|
|
387
527
|
else if (typeof body === 'string') {
|
|
388
528
|
parsed = JSON.parse(body);
|
|
389
529
|
}
|
|
390
|
-
const
|
|
391
|
-
|
|
392
|
-
|
|
530
|
+
const field = family === 'cohere' ? 'embeddings' : 'embedding';
|
|
531
|
+
const raw = parsed?.[field];
|
|
532
|
+
// Cohere answers `{ embeddings: [[...]] }`, or `{ embeddings: { float: [[...]] } }`
|
|
533
|
+
// when a caller asked for typed embeddings. This never asks, and reads both.
|
|
534
|
+
const rows = family === 'cohere'
|
|
535
|
+
? Array.isArray(raw)
|
|
536
|
+
? raw
|
|
537
|
+
: raw?.float
|
|
538
|
+
: [raw];
|
|
539
|
+
const vectors = Array.isArray(rows) &&
|
|
540
|
+
rows.every((row) => Array.isArray(row) && row.every((n) => typeof n === 'number'))
|
|
541
|
+
? rows
|
|
542
|
+
: undefined;
|
|
543
|
+
if (vectors === undefined) {
|
|
544
|
+
throw new Error(`bedrockEmbedder: '${model}' returned no \`${field}\` array. Bedrock answered with ` +
|
|
393
545
|
`${describeShape(parsed)}, which this adapter cannot read — check the model id names an ` +
|
|
394
|
-
`EMBEDDING model (a text-generation model answers a different shape).`
|
|
546
|
+
`EMBEDDING model (a text-generation model answers a different shape).` +
|
|
547
|
+
(guessedFamily
|
|
548
|
+
? `\n This model id is not one this library knows, so it was sent the ${family} ` +
|
|
549
|
+
`request body. If it is a ${family === 'titan' ? 'Cohere' : 'Titan'} model, pass ` +
|
|
550
|
+
`\`family: '${family === 'titan' ? 'cohere' : 'titan'}'\` — the request body and ` +
|
|
551
|
+
`the response field both differ per family.`
|
|
552
|
+
: ''));
|
|
553
|
+
}
|
|
554
|
+
if (vectors.length !== expected) {
|
|
555
|
+
throw new Error(`bedrockEmbedder: '${model}' was sent ${expected} text(s) and answered with ` +
|
|
556
|
+
`${vectors.length} vector(s). Vectors are paired with texts by POSITION, so a short ` +
|
|
557
|
+
`answer would not lose one passage — it would attach every later vector to the wrong ` +
|
|
558
|
+
`passage, and the corpus would rank confidently and wrongly forever.`);
|
|
395
559
|
}
|
|
396
|
-
return
|
|
560
|
+
return vectors;
|
|
397
561
|
}
|
|
398
562
|
/** Describe a response by shape, never by content — it may carry customer text. */
|
|
399
563
|
function describeShape(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embedders/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embedders/index.ts"],"names":[],"mappings":"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"}
|