diff options
Diffstat (limited to 'src/server/ApiManagers/UtilManager.ts')
-rw-r--r-- | src/server/ApiManagers/UtilManager.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/server/ApiManagers/UtilManager.ts b/src/server/ApiManagers/UtilManager.ts index a0d0d0f4b..32aecd3c6 100644 --- a/src/server/ApiManagers/UtilManager.ts +++ b/src/server/ApiManagers/UtilManager.ts @@ -4,6 +4,11 @@ import { exec } from 'child_process'; import { command_line } from "../ActionUtilities"; 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(); 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 }) => { |