From 760af1225233f35f646348f13d2e8eebf8fc48f9 Mon Sep 17 00:00:00 2001 From: Cohee <18619528+Cohee1207@users.noreply.github.com> Date: Thu, 30 May 2024 21:09:53 +0300 Subject: [PATCH] Update AI Horde client library --- package-lock.json | 20 ++++++++------------ package.json | 7 ++----- src/endpoints/horde.js | 11 +++++------ 3 files changed, 15 insertions(+), 23 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0aa9404ba..287fef74b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "dependencies": { "@agnai/sentencepiece-js": "^1.1.1", "@agnai/web-tokenizers": "^0.1.3", - "@zeldafan0225/ai_horde": "^4.0.1", + "@zeldafan0225/ai_horde": "^5.1.0", "archiver": "^7.0.1", "bing-translate-api": "^2.9.1", "body-parser": "^1.20.2", @@ -880,12 +880,14 @@ "license": "ISC" }, "node_modules/@zeldafan0225/ai_horde": { - "version": "4.0.1", - "license": "MIT", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@zeldafan0225/ai_horde/-/ai_horde-5.1.0.tgz", + "integrity": "sha512-rPC0nmmFSXK808Oon0zFPA7yGSUKBXiLtMejkmKTyfAzzOHHQt/i2lO4ccfN2e355LzX1lBLwSi+nlATVA43Sw==", "dependencies": { - "@thunder04/supermap": "^3.0.2", - "centra": "^2.5.0", - "esbuild": "^0.12.28" + "@thunder04/supermap": "^3.0.2" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/abort-controller": { @@ -2122,12 +2124,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/esbuild": { - "name": "dry-uninstall", - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/dry-uninstall/-/dry-uninstall-0.3.0.tgz", - "integrity": "sha512-b8h94RVpETWkVV59x62NsY++79bM7Si6Dxq7a4iVxRcJU3ZJJ4vaiC7wUZwM8WDK0ySRL+i+T/1SMAzbJLejYA==" - }, "node_modules/escalade": { "version": "3.1.1", "license": "MIT", diff --git a/package.json b/package.json index a3bea6544..414cc3f98 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "dependencies": { "@agnai/sentencepiece-js": "^1.1.1", "@agnai/web-tokenizers": "^0.1.3", - "@zeldafan0225/ai_horde": "^4.0.1", + "@zeldafan0225/ai_horde": "^5.1.0", "archiver": "^7.0.1", "bing-translate-api": "^2.9.1", "body-parser": "^1.20.2", @@ -44,7 +44,7 @@ "yauzl": "^2.10.0" }, "engines": { - "node": ">= 18" + "node": ">= 18" }, "overrides": { "parse-bmfont-xml": { @@ -59,9 +59,6 @@ "axios": { "follow-redirects": "^1.15.4" }, - "@zeldafan0225/ai_horde": { - "esbuild": "npm:dry-uninstall" - }, "node-fetch": { "whatwg-url": "^14.0.0" } diff --git a/src/endpoints/horde.js b/src/endpoints/horde.js index e7528d6b7..e229fb910 100644 --- a/src/endpoints/horde.js +++ b/src/endpoints/horde.js @@ -1,6 +1,6 @@ const fetch = require('node-fetch').default; const express = require('express'); -const AIHorde = require('@zeldafan0225/ai_horde'); +const { AIHorde, ModelGenerationInputStableSamplers, ModelInterrogationFormTypes, HordeAsyncRequestStates } = require('@zeldafan0225/ai_horde'); const { getVersion, delay, Cache } = require('../util'); const { readSecret, SECRET_KEYS } = require('./secrets'); const { jsonParser } = require('../express-common'); @@ -191,8 +191,7 @@ router.post('/generate-text', jsonParser, async (request, response) => { router.post('/sd-samplers', jsonParser, async (_, response) => { try { - const ai_horde = await getHordeClient(); - const samplers = Object.values(ai_horde.ModelGenerationInputStableSamplers); + const samplers = Object.values(ModelGenerationInputStableSamplers); response.send(samplers); } catch (error) { console.error(error); @@ -217,7 +216,7 @@ router.post('/caption-image', jsonParser, async (request, response) => { const ai_horde = await getHordeClient(); const result = await ai_horde.postAsyncInterrogate({ source_image: request.body.image, - forms: [{ name: AIHorde.ModelInterrogationFormTypes.caption }], + forms: [{ name: ModelInterrogationFormTypes.caption }], }, { token: api_key_horde }); if (!result.id) { @@ -233,7 +232,7 @@ router.post('/caption-image', jsonParser, async (request, response) => { const status = await ai_horde.getInterrogationStatus(result.id); console.log(status); - if (status.state === AIHorde.HordeAsyncRequestStates.done) { + if (status.state === HordeAsyncRequestStates.done) { if (status.forms === undefined) { console.error('Image interrogation request failed: no forms found.'); @@ -251,7 +250,7 @@ router.post('/caption-image', jsonParser, async (request, response) => { return response.send({ caption }); } - if (status.state === AIHorde.HordeAsyncRequestStates.faulted || status.state === AIHorde.HordeAsyncRequestStates.cancelled) { + if (status.state === HordeAsyncRequestStates.faulted || status.state === HordeAsyncRequestStates.cancelled) { console.log('Image interrogation request is not successful.'); return response.sendStatus(503); }