txtai 9.2.0 → 9.4.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/api.js +46 -1
- package/dist/api.js.map +1 -1
- package/dist/embeddings.js +146 -0
- package/dist/embeddings.js.map +1 -1
- package/package.json +1 -1
package/dist/api.js
CHANGED
|
@@ -107,7 +107,7 @@ var API = /*#__PURE__*/function () {
|
|
|
107
107
|
}()
|
|
108
108
|
/**
|
|
109
109
|
* Executes a post request.
|
|
110
|
-
*
|
|
110
|
+
*
|
|
111
111
|
* @param method api method
|
|
112
112
|
* @param params post parameters
|
|
113
113
|
* @return response
|
|
@@ -172,6 +172,51 @@ var API = /*#__PURE__*/function () {
|
|
|
172
172
|
|
|
173
173
|
return post;
|
|
174
174
|
}()
|
|
175
|
+
/**
|
|
176
|
+
* Executes a multipart form post request.
|
|
177
|
+
*
|
|
178
|
+
* @param method api method
|
|
179
|
+
* @param formData FormData object
|
|
180
|
+
* @return response
|
|
181
|
+
*/
|
|
182
|
+
|
|
183
|
+
}, {
|
|
184
|
+
key: "postForm",
|
|
185
|
+
value: function () {
|
|
186
|
+
var _postForm = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(method, formData) {
|
|
187
|
+
var url, res;
|
|
188
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
189
|
+
while (1) {
|
|
190
|
+
switch (_context3.prev = _context3.next) {
|
|
191
|
+
case 0:
|
|
192
|
+
// Build URL
|
|
193
|
+
url = "".concat(this.url, "/").concat(method); // Execute remote call (no Content-Type header - browser sets it with boundary)
|
|
194
|
+
|
|
195
|
+
_context3.next = 3;
|
|
196
|
+
return fetch(url, {
|
|
197
|
+
method: "post",
|
|
198
|
+
body: formData,
|
|
199
|
+
headers: this.headers()
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
case 3:
|
|
203
|
+
res = _context3.sent;
|
|
204
|
+
return _context3.abrupt("return", res.ok ? Promise.resolve() : Promise.reject("".concat(res.status, " ").concat(res.statusText)));
|
|
205
|
+
|
|
206
|
+
case 5:
|
|
207
|
+
case "end":
|
|
208
|
+
return _context3.stop();
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}, _callee3, this);
|
|
212
|
+
}));
|
|
213
|
+
|
|
214
|
+
function postForm(_x5, _x6) {
|
|
215
|
+
return _postForm.apply(this, arguments);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
return postForm;
|
|
219
|
+
}()
|
|
175
220
|
/**
|
|
176
221
|
* Creates default HTTP headers.
|
|
177
222
|
*
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/api.js"],"names":["API","url","token","process","env","TXTAI_API_URL","TXTAI_API_TOKEN","method","params","URLSearchParams","fetch","headers","res","ok","json","Promise","reject","status","statusText","defaults","body","JSON","stringify","base"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AACA;;AAFA;;AAIA;AACA;AACA;IACMA,G;AACF;AACJ;AACA;AACA;AACA;AACA;AACI,eAAYC,GAAZ,EAAiBC,KAAjB,EAAwB;AAAA;AACpB;AACA,SAAKD,GAAL,GAAWA,GAAG,GAAGA,GAAH,GAASE,OAAO,CAACC,GAAR,CAAYC,aAAnC,CAFoB,CAIpB;;AACA,SAAKH,KAAL,GAAaA,KAAK,GAAGA,KAAH,GAAWC,OAAO,CAACC,GAAR,CAAYE,eAAzC;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;;+FACI,iBAAUC,MAAV,EAAkBC,MAAlB;AAAA;AAAA;AAAA;AAAA;AAAA;AACI;AACIP,gBAAAA,GAFR,aAEiB,KAAKA,GAFtB,cAE6BM,MAF7B;;AAGI,oBAAIC,MAAJ,EAAY;AACRP,kBAAAA,GAAG,eAAQ,IAAIQ,eAAJ,CAAoBD,MAApB,CAAR,CAAH;AACH,iBALL,CAOI;;;AAPJ;AAAA,uBAQoBE,KAAK,CAACT,GAAD,EAAM;AAACU,kBAAAA,OAAO,EAAE,KAAKA,OAAL;AAAV,iBAAN,CARzB;;AAAA;AAQQC,gBAAAA,GARR;;AAAA,qBAWWA,GAAG,CAACC,EAXf;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAW0BD,GAAG,CAACE,IAAJ,EAX1B;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,8BAWuCC,OAAO,CAACC,MAAR,WAAkBJ,GAAG,CAACK,MAAtB,cAAgCL,GAAG,CAACM,UAApC,EAXvC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAcA;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;gGACI,kBAAWX,MAAX,EAAmBC,MAAnB;AAAA;AAAA;AAAA;AAAA;AAAA;AACI;AACIP,gBAAAA,GAFR,aAEiB,KAAKA,GAFtB,cAE6BM,MAF7B,GAII;;AACIY,gBAAAA,QALR,GAKmB;AAAC,kCAAgB;AAAjB,iBALnB,EAOI;;AAPJ;AAAA,uBAQoBT,KAAK,CAACT,GAAD,EAAM;AAACM,kBAAAA,MAAM,EAAE,MAAT;AACCa,kBAAAA,IAAI,EAAEC,IAAI,CAACC,SAAL,CAAed,MAAf,CADP;AAECG,kBAAAA,OAAO,EAAE,KAAKA,OAAL,CAAaQ,QAAb;AAFV,iBAAN,CARzB;;AAAA;AAQQP,gBAAAA,GARR;;AAAA,qBAaWA,GAAG,CAACC,EAbf;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAa0BD,GAAG,CAACE,IAAJ,EAb1B;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,+BAauCC,OAAO,CAACC,MAAR,WAAkBJ,GAAG,CAACK,MAAtB,cAAgCL,GAAG,CAACM,UAApC,EAbvC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAgBA;AACJ;AACA;AACA;AACA;AACA;;;;WACI,
|
|
1
|
+
{"version":3,"sources":["../src/api.js"],"names":["API","url","token","process","env","TXTAI_API_URL","TXTAI_API_TOKEN","method","params","URLSearchParams","fetch","headers","res","ok","json","Promise","reject","status","statusText","defaults","body","JSON","stringify","formData","resolve","base"],"mappings":"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","sourcesContent":["// Backwards compatibility\nimport \"core-js/features/promise\";\nimport \"isomorphic-fetch\";\n\n/**\n * Base class for interfacing with a remote txtai service via REST API calls. \n */\nclass API {\n /**\n * Creates an API instance.\n * \n * @param url api url\n * @param token api token\n */\n constructor(url, token) {\n // API url\n this.url = url ? url : process.env.TXTAI_API_URL\n\n // API token\n this.token = token ? token : process.env.TXTAI_API_TOKEN\n }\n\n /**\n * Executes a get request.\n * \n * @param method api method\n * @param params query parameters\n * @return response\n */\n async get(method, params) {\n // Build URL\n let url = `${this.url}/${method}`;\n if (params) {\n url += `?${new URLSearchParams(params)}`;\n }\n\n // Execute remote call\n let res = await fetch(url, {headers: this.headers()});\n\n // Validate response and return JSON \n return res.ok ? await res.json() : Promise.reject(`${res.status} ${res.statusText}`);\n }\n\n /**\n * Executes a post request.\n *\n * @param method api method\n * @param params post parameters\n * @return response\n */\n async post(method, params) {\n // Build URL\n let url = `${this.url}/${method}`;\n\n // Default headers\n let defaults = {\"Content-Type\": \"application/json\"};\n\n // Execute remote call\n let res = await fetch(url, {method: \"post\",\n body: JSON.stringify(params),\n headers: this.headers(defaults)});\n\n // Validate response and return JSON\n return res.ok ? await res.json() : Promise.reject(`${res.status} ${res.statusText}`);\n }\n\n /**\n * Executes a multipart form post request.\n *\n * @param method api method\n * @param formData FormData object\n * @return response\n */\n async postForm(method, formData) {\n // Build URL\n let url = `${this.url}/${method}`;\n\n // Execute remote call (no Content-Type header - browser sets it with boundary)\n let res = await fetch(url, {method: \"post\",\n body: formData,\n headers: this.headers()});\n\n // Validate response\n return res.ok ? Promise.resolve() : Promise.reject(`${res.status} ${res.statusText}`);\n }\n\n /**\n * Creates default HTTP headers.\n *\n * @param base base headers\n * @return headers\n */\n headers(base) {\n let headers = base ? base : {};\n if (this.token) {\n headers[\"Authorization\"] = \"Bearer \" + this.token;\n }\n\n return headers\n }\n}\n\nexport default API;\n"],"file":"api.js"}
|
package/dist/embeddings.js
CHANGED
|
@@ -23,6 +23,12 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
23
23
|
|
|
24
24
|
var _api = _interopRequireDefault(require("./api"));
|
|
25
25
|
|
|
26
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
27
|
+
|
|
28
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
29
|
+
|
|
30
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
31
|
+
|
|
26
32
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
27
33
|
|
|
28
34
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -542,6 +548,146 @@ var Embeddings = /*#__PURE__*/function (_API) {
|
|
|
542
548
|
|
|
543
549
|
return batchtransform;
|
|
544
550
|
}()
|
|
551
|
+
/**
|
|
552
|
+
* Adds a batch of binary objects for indexing.
|
|
553
|
+
*
|
|
554
|
+
* @param data list of binary data (Blob, File, or Buffer objects)
|
|
555
|
+
* @param uid list of corresponding ids (optional)
|
|
556
|
+
* @param field optional object field name
|
|
557
|
+
*/
|
|
558
|
+
|
|
559
|
+
}, {
|
|
560
|
+
key: "addobject",
|
|
561
|
+
value: function () {
|
|
562
|
+
var _addobject = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee13(data) {
|
|
563
|
+
var uid,
|
|
564
|
+
field,
|
|
565
|
+
formData,
|
|
566
|
+
i,
|
|
567
|
+
_iterator,
|
|
568
|
+
_step,
|
|
569
|
+
id,
|
|
570
|
+
_args13 = arguments;
|
|
571
|
+
|
|
572
|
+
return _regenerator["default"].wrap(function _callee13$(_context13) {
|
|
573
|
+
while (1) {
|
|
574
|
+
switch (_context13.prev = _context13.next) {
|
|
575
|
+
case 0:
|
|
576
|
+
uid = _args13.length > 1 && _args13[1] !== undefined ? _args13[1] : null;
|
|
577
|
+
field = _args13.length > 2 && _args13[2] !== undefined ? _args13[2] : null;
|
|
578
|
+
formData = new FormData();
|
|
579
|
+
|
|
580
|
+
for (i = 0; i < data.length; i++) {
|
|
581
|
+
formData.append("data", data[i], "file".concat(i));
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
if (uid != null) {
|
|
585
|
+
_iterator = _createForOfIteratorHelper(uid);
|
|
586
|
+
|
|
587
|
+
try {
|
|
588
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
589
|
+
id = _step.value;
|
|
590
|
+
formData.append("uid", id);
|
|
591
|
+
}
|
|
592
|
+
} catch (err) {
|
|
593
|
+
_iterator.e(err);
|
|
594
|
+
} finally {
|
|
595
|
+
_iterator.f();
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
if (field != null) {
|
|
600
|
+
formData.append("field", field);
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
_context13.next = 8;
|
|
604
|
+
return this.postForm("addobject", formData)["catch"](function (e) {
|
|
605
|
+
throw e;
|
|
606
|
+
});
|
|
607
|
+
|
|
608
|
+
case 8:
|
|
609
|
+
case "end":
|
|
610
|
+
return _context13.stop();
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
}, _callee13, this);
|
|
614
|
+
}));
|
|
615
|
+
|
|
616
|
+
function addobject(_x12) {
|
|
617
|
+
return _addobject.apply(this, arguments);
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
return addobject;
|
|
621
|
+
}()
|
|
622
|
+
/**
|
|
623
|
+
* Adds a batch of images for indexing.
|
|
624
|
+
*
|
|
625
|
+
* @param data list of image data (Blob, File, or Buffer objects)
|
|
626
|
+
* @param uid list of corresponding ids
|
|
627
|
+
* @param field optional object field name
|
|
628
|
+
*/
|
|
629
|
+
|
|
630
|
+
}, {
|
|
631
|
+
key: "addimage",
|
|
632
|
+
value: function () {
|
|
633
|
+
var _addimage = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee14(data, uid) {
|
|
634
|
+
var field,
|
|
635
|
+
formData,
|
|
636
|
+
i,
|
|
637
|
+
_iterator2,
|
|
638
|
+
_step2,
|
|
639
|
+
id,
|
|
640
|
+
_args14 = arguments;
|
|
641
|
+
|
|
642
|
+
return _regenerator["default"].wrap(function _callee14$(_context14) {
|
|
643
|
+
while (1) {
|
|
644
|
+
switch (_context14.prev = _context14.next) {
|
|
645
|
+
case 0:
|
|
646
|
+
field = _args14.length > 2 && _args14[2] !== undefined ? _args14[2] : null;
|
|
647
|
+
formData = new FormData();
|
|
648
|
+
|
|
649
|
+
for (i = 0; i < data.length; i++) {
|
|
650
|
+
formData.append("data", data[i], data[i].name || "image".concat(i));
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
if (uid != null) {
|
|
654
|
+
_iterator2 = _createForOfIteratorHelper(uid);
|
|
655
|
+
|
|
656
|
+
try {
|
|
657
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
658
|
+
id = _step2.value;
|
|
659
|
+
formData.append("uid", id);
|
|
660
|
+
}
|
|
661
|
+
} catch (err) {
|
|
662
|
+
_iterator2.e(err);
|
|
663
|
+
} finally {
|
|
664
|
+
_iterator2.f();
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
if (field != null) {
|
|
669
|
+
formData.append("field", field);
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
_context14.next = 7;
|
|
673
|
+
return this.postForm("addimage", formData)["catch"](function (e) {
|
|
674
|
+
throw e;
|
|
675
|
+
});
|
|
676
|
+
|
|
677
|
+
case 7:
|
|
678
|
+
case "end":
|
|
679
|
+
return _context14.stop();
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
}, _callee14, this);
|
|
683
|
+
}));
|
|
684
|
+
|
|
685
|
+
function addimage(_x13, _x14) {
|
|
686
|
+
return _addimage.apply(this, arguments);
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
return addimage;
|
|
690
|
+
}()
|
|
545
691
|
}]);
|
|
546
692
|
return Embeddings;
|
|
547
693
|
}(_api["default"]);
|
package/dist/embeddings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/embeddings.js"],"names":["Embeddings","query","limit","weights","index","params","get","e","queries","post","documents","ids","config","func","texts","text","API"],"mappings":"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","sourcesContent":["import API from \"./api\";\n\n/**\n * txtai embeddings instance. \n */\nclass Embeddings extends API {\n /**\n * Finds documents in the embeddings model most similar to the input query. Returns\n * a list of {id: value, score: value} sorted by highest score, where id is the\n * document id in the embeddings model.\n * \n * @param query query text\n * @param limit maximum results (defaults to 10)\n * @param weights hybrid score weights, if applicable\n * @param index index name, if applicable\n * @return list of {id: value, score: value}\n */\n async search(query, limit = 10, weights = null, index = null) {\n let params = {\n query: query,\n limit: limit\n }\n\n if (weights != null) {\n params[\"weights\"] = weights\n }\n if (index != null) {\n params[\"index\"] = index\n }\n\n return await this.get(\"search\", params).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Finds documents in the embeddings model most similar to the input queries. Returns\n * a list of {id: value, score: value} sorted by highest score per query, where id is\n * the document id in the embeddings model.\n *\n * @param queries queries text\n * @param limit maximum results (defaults to 10)\n * @param weights hybrid score weights, if applicable\n * @param index index name, if applicable\n * @return list of {id: value, score: value} per query\n */\n async batchsearch(queries, limit = 10, weights = null, index = null) {\n let params = {\n queries: queries,\n limit: limit\n }\n\n if (weights != null) {\n params[\"weights\"] = weights\n }\n if (index != null) {\n params[\"index\"] = index\n }\n\n return await this.post(\"batchsearch\", params).catch (e => {\n throw(e);\n });\n }\n\n /**\n * Adds a batch of documents for indexing.\n * \n * @param documents list of {id: value, text: value}\n */\n async add(documents) {\n await this.post(\"add\", documents).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Builds an embeddings index for previously batched documents.\n */\n async index() {\n await this.get(\"index\", null).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Runs an embeddings upsert operation for previously batched documents.\n */\n async upsert() {\n await this.get(\"upsert\", null).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Deletes from an embeddings index. Returns list of ids deleted.\n *\n * @param ids list of ids to delete\n * @return ids deleted\n */\n async delete(ids) {\n return await this.post(\"delete\", ids).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Recreates this embeddings index using config. This method only works if document content storage is enabled.\n *\n * @param config new config\n * @param func optional function to prepare content for indexing\n */\n async reindex(config, func = null) {\n let params = {\n config: config,\n }\n\n if (func != null) {\n params[\"function\"] = func\n }\n\n await this.post(\"reindex\", params).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Total number of elements in this embeddings index.\n *\n * @return number of elements in embeddings index\n */\n async count() {\n return await this.get(\"count\", null).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Computes the similarity between query and list of text. Returns a list of\n * {id: value, score: value} sorted by highest score, where id is the index\n * in texts.\n *\n * @param query query text\n * @param texts list of text\n * @return list of {id: value, score: value}\n */\n async similarity(query, texts) {\n return await this.post(\"similarity\", {query: query, texts: texts}).catch (e => {\n throw(e);\n });\n }\n\n /**\n * Computes the similarity between list of queries and list of text. Returns a list\n * of {id: value, score: value} sorted by highest score per query, where id is the\n * index in texts.\n * \n * @param queries queries text\n * @param texts list of text\n * @return list of {id: value, score: value} per query\n */\n async batchsimilarity(queries, texts) {\n return await this.post(\"batchsimilarity\", {queries: queries, texts: texts}).catch (e => {\n throw(e);\n });\n }\n\n /**\n * Transforms text into an embeddings array.\n *\n * @param text input text\n * @return embeddings array\n */\n async transform(text) {\n return await this.get(\"transform\", {text: text}).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Transforms list of text into embeddings arrays.\n *\n * @param texts list of text\n * @return embeddings array\n */\n async batchtransform(texts) {\n return await this.post(\"batchtransform\", texts).catch(e => {\n throw(e);\n });\n }\n}\n\nexport default Embeddings;\n"],"file":"embeddings.js"}
|
|
1
|
+
{"version":3,"sources":["../src/embeddings.js"],"names":["Embeddings","query","limit","weights","index","params","get","e","queries","post","documents","ids","config","func","texts","text","data","uid","field","formData","FormData","i","length","append","id","postForm","name","API"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;AAEA;AACA;AACA;IACMA,U;;;;;;;;;;;;;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;kGACI,iBAAaC,KAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoBC,gBAAAA,KAApB,2DAA4B,EAA5B;AAAgCC,gBAAAA,OAAhC,2DAA0C,IAA1C;AAAgDC,gBAAAA,KAAhD,2DAAwD,IAAxD;AACQC,gBAAAA,MADR,GACiB;AACTJ,kBAAAA,KAAK,EAAEA,KADE;AAETC,kBAAAA,KAAK,EAAEA;AAFE,iBADjB;;AAMI,oBAAIC,OAAO,IAAI,IAAf,EAAqB;AACjBE,kBAAAA,MAAM,CAAC,SAAD,CAAN,GAAoBF,OAApB;AACH;;AACD,oBAAIC,KAAK,IAAI,IAAb,EAAmB;AACfC,kBAAAA,MAAM,CAAC,OAAD,CAAN,GAAkBD,KAAlB;AACH;;AAXL;AAAA,uBAaiB,KAAKE,GAAL,CAAS,QAAT,EAAmBD,MAAnB,WAAiC,UAAAE,CAAC,EAAI;AAC/C,wBAAMA,CAAN;AACH,iBAFY,CAbjB;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAkBA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;uGACI,kBAAkBC,OAAlB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2BN,gBAAAA,KAA3B,8DAAmC,EAAnC;AAAuCC,gBAAAA,OAAvC,8DAAiD,IAAjD;AAAuDC,gBAAAA,KAAvD,8DAA+D,IAA/D;AACQC,gBAAAA,MADR,GACiB;AACTG,kBAAAA,OAAO,EAAEA,OADA;AAETN,kBAAAA,KAAK,EAAEA;AAFE,iBADjB;;AAMI,oBAAIC,OAAO,IAAI,IAAf,EAAqB;AACjBE,kBAAAA,MAAM,CAAC,SAAD,CAAN,GAAoBF,OAApB;AACH;;AACD,oBAAIC,KAAK,IAAI,IAAb,EAAmB;AACfC,kBAAAA,MAAM,CAAC,OAAD,CAAN,GAAkBD,KAAlB;AACH;;AAXL;AAAA,uBAaiB,KAAKK,IAAL,CAAU,aAAV,EAAyBJ,MAAzB,WAAwC,UAAAE,CAAC,EAAI;AACtD,wBAAMA,CAAN;AACH,iBAFY,CAbjB;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAkBA;AACJ;AACA;AACA;AACA;;;;;+FACI,kBAAUG,SAAV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACU,KAAKD,IAAL,CAAU,KAAV,EAAiBC,SAAjB,WAAkC,UAAAH,CAAC,EAAI;AACzC,wBAAMA,CAAN;AACH,iBAFK,CADV;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAMA;AACJ;AACA;;;;;iGACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACU,KAAKD,GAAL,CAAS,OAAT,EAAkB,IAAlB,WAA8B,UAAAC,CAAC,EAAI;AACrC,wBAAMA,CAAN;AACH,iBAFK,CADV;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAMA;AACJ;AACA;;;;;kGACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACU,KAAKD,GAAL,CAAS,QAAT,EAAmB,IAAnB,WAA+B,UAAAC,CAAC,EAAI;AACtC,wBAAMA,CAAN;AACH,iBAFK,CADV;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAMA;AACJ;AACA;AACA;AACA;AACA;;;;;mGACI,kBAAaI,GAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACiB,KAAKF,IAAL,CAAU,QAAV,EAAoBE,GAApB,WAA+B,UAAAJ,CAAC,EAAI;AAC7C,wBAAMA,CAAN;AACH,iBAFY,CADjB;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAMA;AACJ;AACA;AACA;AACA;AACA;;;;;mGACI,kBAAcK,MAAd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsBC,gBAAAA,IAAtB,8DAA6B,IAA7B;AACQR,gBAAAA,MADR,GACiB;AACTO,kBAAAA,MAAM,EAAEA;AADC,iBADjB;;AAKI,oBAAIC,IAAI,IAAI,IAAZ,EAAkB;AACdR,kBAAAA,MAAM,CAAC,UAAD,CAAN,GAAqBQ,IAArB;AACH;;AAPL;AAAA,uBASU,KAAKJ,IAAL,CAAU,SAAV,EAAqBJ,MAArB,WAAmC,UAAAE,CAAC,EAAI;AAC1C,wBAAMA,CAAN;AACH,iBAFK,CATV;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAcA;AACJ;AACA;AACA;AACA;;;;;iGACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACiB,KAAKD,GAAL,CAAS,OAAT,EAAkB,IAAlB,WAA8B,UAAAC,CAAC,EAAI;AAC5C,wBAAMA,CAAN;AACH,iBAFY,CADjB;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAMA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;sGACI,kBAAiBN,KAAjB,EAAwBa,KAAxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACiB,KAAKL,IAAL,CAAU,YAAV,EAAwB;AAACR,kBAAAA,KAAK,EAAEA,KAAR;AAAea,kBAAAA,KAAK,EAAEA;AAAtB,iBAAxB,WAA6D,UAAAP,CAAC,EAAI;AAC3E,wBAAMA,CAAN;AACH,iBAFY,CADjB;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAMA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;2GACI,mBAAsBC,OAAtB,EAA+BM,KAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACiB,KAAKL,IAAL,CAAU,iBAAV,EAA6B;AAACD,kBAAAA,OAAO,EAAEA,OAAV;AAAmBM,kBAAAA,KAAK,EAAEA;AAA1B,iBAA7B,WAAsE,UAAAP,CAAC,EAAI;AACpF,wBAAMA,CAAN;AACH,iBAFY,CADjB;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAMA;AACJ;AACA;AACA;AACA;AACA;;;;;qGACI,mBAAgBQ,IAAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACiB,KAAKT,GAAL,CAAS,WAAT,EAAsB;AAACS,kBAAAA,IAAI,EAAEA;AAAP,iBAAtB,WAA0C,UAAAR,CAAC,EAAI;AACxD,wBAAMA,CAAN;AACH,iBAFY,CADjB;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAMA;AACJ;AACA;AACA;AACA;AACA;;;;;0GACI,mBAAqBO,KAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACiB,KAAKL,IAAL,CAAU,gBAAV,EAA4BK,KAA5B,WAAyC,UAAAP,CAAC,EAAI;AACvD,wBAAMA,CAAN;AACH,iBAFY,CADjB;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAMA;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;qGACI,mBAAgBS,IAAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAsBC,gBAAAA,GAAtB,iEAA4B,IAA5B;AAAkCC,gBAAAA,KAAlC,iEAA0C,IAA1C;AACQC,gBAAAA,QADR,GACmB,IAAIC,QAAJ,EADnB;;AAGI,qBAASC,CAAT,GAAa,CAAb,EAAgBA,CAAC,GAAGL,IAAI,CAACM,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;AAClCF,kBAAAA,QAAQ,CAACI,MAAT,CAAgB,MAAhB,EAAwBP,IAAI,CAACK,CAAD,CAA5B,gBAAwCA,CAAxC;AACH;;AAED,oBAAIJ,GAAG,IAAI,IAAX,EAAiB;AAAA,yDACEA,GADF;;AAAA;AACb,wEAAoB;AAAXO,sBAAAA,EAAW;AAChBL,sBAAAA,QAAQ,CAACI,MAAT,CAAgB,KAAhB,EAAuBC,EAAvB;AACH;AAHY;AAAA;AAAA;AAAA;AAAA;AAIhB;;AAED,oBAAIN,KAAK,IAAI,IAAb,EAAmB;AACfC,kBAAAA,QAAQ,CAACI,MAAT,CAAgB,OAAhB,EAAyBL,KAAzB;AACH;;AAfL;AAAA,uBAiBU,KAAKO,QAAL,CAAc,WAAd,EAA2BN,QAA3B,WAA2C,UAAAZ,CAAC,EAAI;AAClD,wBAAMA,CAAN;AACH,iBAFK,CAjBV;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAsBA;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;oGACI,mBAAeS,IAAf,EAAqBC,GAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAA0BC,gBAAAA,KAA1B,iEAAkC,IAAlC;AACQC,gBAAAA,QADR,GACmB,IAAIC,QAAJ,EADnB;;AAGI,qBAASC,CAAT,GAAa,CAAb,EAAgBA,CAAC,GAAGL,IAAI,CAACM,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;AAClCF,kBAAAA,QAAQ,CAACI,MAAT,CAAgB,MAAhB,EAAwBP,IAAI,CAACK,CAAD,CAA5B,EAAiCL,IAAI,CAACK,CAAD,CAAJ,CAAQK,IAAR,mBAAwBL,CAAxB,CAAjC;AACH;;AAED,oBAAIJ,GAAG,IAAI,IAAX,EAAiB;AAAA,0DACEA,GADF;;AAAA;AACb,2EAAoB;AAAXO,sBAAAA,EAAW;AAChBL,sBAAAA,QAAQ,CAACI,MAAT,CAAgB,KAAhB,EAAuBC,EAAvB;AACH;AAHY;AAAA;AAAA;AAAA;AAAA;AAIhB;;AAED,oBAAIN,KAAK,IAAI,IAAb,EAAmB;AACfC,kBAAAA,QAAQ,CAACI,MAAT,CAAgB,OAAhB,EAAyBL,KAAzB;AACH;;AAfL;AAAA,uBAiBU,KAAKO,QAAL,CAAc,UAAd,EAA0BN,QAA1B,WAA0C,UAAAZ,CAAC,EAAI;AACjD,wBAAMA,CAAN;AACH,iBAFK,CAjBV;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA7NqBoB,e;;eAoPV3B,U","sourcesContent":["import API from \"./api\";\n\n/**\n * txtai embeddings instance. \n */\nclass Embeddings extends API {\n /**\n * Finds documents in the embeddings model most similar to the input query. Returns\n * a list of {id: value, score: value} sorted by highest score, where id is the\n * document id in the embeddings model.\n * \n * @param query query text\n * @param limit maximum results (defaults to 10)\n * @param weights hybrid score weights, if applicable\n * @param index index name, if applicable\n * @return list of {id: value, score: value}\n */\n async search(query, limit = 10, weights = null, index = null) {\n let params = {\n query: query,\n limit: limit\n }\n\n if (weights != null) {\n params[\"weights\"] = weights\n }\n if (index != null) {\n params[\"index\"] = index\n }\n\n return await this.get(\"search\", params).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Finds documents in the embeddings model most similar to the input queries. Returns\n * a list of {id: value, score: value} sorted by highest score per query, where id is\n * the document id in the embeddings model.\n *\n * @param queries queries text\n * @param limit maximum results (defaults to 10)\n * @param weights hybrid score weights, if applicable\n * @param index index name, if applicable\n * @return list of {id: value, score: value} per query\n */\n async batchsearch(queries, limit = 10, weights = null, index = null) {\n let params = {\n queries: queries,\n limit: limit\n }\n\n if (weights != null) {\n params[\"weights\"] = weights\n }\n if (index != null) {\n params[\"index\"] = index\n }\n\n return await this.post(\"batchsearch\", params).catch (e => {\n throw(e);\n });\n }\n\n /**\n * Adds a batch of documents for indexing.\n * \n * @param documents list of {id: value, text: value}\n */\n async add(documents) {\n await this.post(\"add\", documents).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Builds an embeddings index for previously batched documents.\n */\n async index() {\n await this.get(\"index\", null).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Runs an embeddings upsert operation for previously batched documents.\n */\n async upsert() {\n await this.get(\"upsert\", null).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Deletes from an embeddings index. Returns list of ids deleted.\n *\n * @param ids list of ids to delete\n * @return ids deleted\n */\n async delete(ids) {\n return await this.post(\"delete\", ids).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Recreates this embeddings index using config. This method only works if document content storage is enabled.\n *\n * @param config new config\n * @param func optional function to prepare content for indexing\n */\n async reindex(config, func = null) {\n let params = {\n config: config,\n }\n\n if (func != null) {\n params[\"function\"] = func\n }\n\n await this.post(\"reindex\", params).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Total number of elements in this embeddings index.\n *\n * @return number of elements in embeddings index\n */\n async count() {\n return await this.get(\"count\", null).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Computes the similarity between query and list of text. Returns a list of\n * {id: value, score: value} sorted by highest score, where id is the index\n * in texts.\n *\n * @param query query text\n * @param texts list of text\n * @return list of {id: value, score: value}\n */\n async similarity(query, texts) {\n return await this.post(\"similarity\", {query: query, texts: texts}).catch (e => {\n throw(e);\n });\n }\n\n /**\n * Computes the similarity between list of queries and list of text. Returns a list\n * of {id: value, score: value} sorted by highest score per query, where id is the\n * index in texts.\n * \n * @param queries queries text\n * @param texts list of text\n * @return list of {id: value, score: value} per query\n */\n async batchsimilarity(queries, texts) {\n return await this.post(\"batchsimilarity\", {queries: queries, texts: texts}).catch (e => {\n throw(e);\n });\n }\n\n /**\n * Transforms text into an embeddings array.\n *\n * @param text input text\n * @return embeddings array\n */\n async transform(text) {\n return await this.get(\"transform\", {text: text}).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Transforms list of text into embeddings arrays.\n *\n * @param texts list of text\n * @return embeddings array\n */\n async batchtransform(texts) {\n return await this.post(\"batchtransform\", texts).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Adds a batch of binary objects for indexing.\n *\n * @param data list of binary data (Blob, File, or Buffer objects)\n * @param uid list of corresponding ids (optional)\n * @param field optional object field name\n */\n async addobject(data, uid = null, field = null) {\n let formData = new FormData();\n\n for (let i = 0; i < data.length; i++) {\n formData.append(\"data\", data[i], `file${i}`);\n }\n\n if (uid != null) {\n for (let id of uid) {\n formData.append(\"uid\", id);\n }\n }\n\n if (field != null) {\n formData.append(\"field\", field);\n }\n\n await this.postForm(\"addobject\", formData).catch(e => {\n throw(e);\n });\n }\n\n /**\n * Adds a batch of images for indexing.\n *\n * @param data list of image data (Blob, File, or Buffer objects)\n * @param uid list of corresponding ids\n * @param field optional object field name\n */\n async addimage(data, uid, field = null) {\n let formData = new FormData();\n\n for (let i = 0; i < data.length; i++) {\n formData.append(\"data\", data[i], data[i].name || `image${i}`);\n }\n\n if (uid != null) {\n for (let id of uid) {\n formData.append(\"uid\", id);\n }\n }\n\n if (field != null) {\n formData.append(\"field\", field);\n }\n\n await this.postForm(\"addimage\", formData).catch(e => {\n throw(e);\n });\n }\n}\n\nexport default Embeddings;\n"],"file":"embeddings.js"}
|