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 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 }) => { |