Update AI Horde client library

This commit is contained in:
Cohee
2024-05-30 21:09:53 +03:00
parent 6228d1d3b1
commit 760af12252
3 changed files with 15 additions and 23 deletions

20
package-lock.json generated
View File

@@ -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",

View File

@@ -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"
}

View File

@@ -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);
}