aboutsummaryrefslogtreecommitdiff
path: root/src/server/ApiManagers/UtilManager.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/ApiManagers/UtilManager.ts')
-rw-r--r--src/server/ApiManagers/UtilManager.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/server/ApiManagers/UtilManager.ts b/src/server/ApiManagers/UtilManager.ts
index 8adc3da81..d18529cf2 100644
--- a/src/server/ApiManagers/UtilManager.ts
+++ b/src/server/ApiManagers/UtilManager.ts
@@ -3,6 +3,11 @@ import { Method } from "../RouteManager";
import { exec } from 'child_process';
import RouteSubscriber from "../RouteSubscriber";
import { red } from "colors";
+import { IBM_Recommender } from "../../client/apis/IBM_Recommender";
+import { Recommender } from "../Recommender";
+
+const recommender = new Recommender();
+recommender.testModel();
import executeImport from "../../scraping/buxton/final/BuxtonImporter";
export default class UtilManager extends ApiManager {
@@ -23,6 +28,27 @@ export default class UtilManager extends ApiManager {
});
register({
+ method: Method.POST,
+ subscription: "/IBMAnalysis",
+ secureHandler: async ({ req, res }) => res.send(await IBM_Recommender.analyze(req.body))
+ });
+
+ register({
+ method: Method.POST,
+ subscription: "/recommender",
+ secureHandler: async ({ req, res }) => {
+ const keyphrases = req.body.keyphrases;
+ const wordvecs = await recommender.vectorize(keyphrases);
+ let embedding: Float32Array = new Float32Array();
+ if (wordvecs && wordvecs.dataSync()) {
+ embedding = wordvecs.dataSync() as Float32Array;
+ }
+ res.send(embedding);
+ }
+ });
+
+
+ register({
method: Method.GET,
subscription: "/pull",
secureHandler: async ({ res }) => {