mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Update AI Horde client library
This commit is contained in:
20
package-lock.json
generated
20
package-lock.json
generated
@@ -12,7 +12,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@agnai/sentencepiece-js": "^1.1.1",
|
"@agnai/sentencepiece-js": "^1.1.1",
|
||||||
"@agnai/web-tokenizers": "^0.1.3",
|
"@agnai/web-tokenizers": "^0.1.3",
|
||||||
"@zeldafan0225/ai_horde": "^4.0.1",
|
"@zeldafan0225/ai_horde": "^5.1.0",
|
||||||
"archiver": "^7.0.1",
|
"archiver": "^7.0.1",
|
||||||
"bing-translate-api": "^2.9.1",
|
"bing-translate-api": "^2.9.1",
|
||||||
"body-parser": "^1.20.2",
|
"body-parser": "^1.20.2",
|
||||||
@@ -880,12 +880,14 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/@zeldafan0225/ai_horde": {
|
"node_modules/@zeldafan0225/ai_horde": {
|
||||||
"version": "4.0.1",
|
"version": "5.1.0",
|
||||||
"license": "MIT",
|
"resolved": "https://registry.npmjs.org/@zeldafan0225/ai_horde/-/ai_horde-5.1.0.tgz",
|
||||||
|
"integrity": "sha512-rPC0nmmFSXK808Oon0zFPA7yGSUKBXiLtMejkmKTyfAzzOHHQt/i2lO4ccfN2e355LzX1lBLwSi+nlATVA43Sw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@thunder04/supermap": "^3.0.2",
|
"@thunder04/supermap": "^3.0.2"
|
||||||
"centra": "^2.5.0",
|
},
|
||||||
"esbuild": "^0.12.28"
|
"engines": {
|
||||||
|
"node": ">=18.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/abort-controller": {
|
"node_modules/abort-controller": {
|
||||||
@@ -2122,12 +2124,6 @@
|
|||||||
"url": "https://github.com/fb55/entities?sponsor=1"
|
"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": {
|
"node_modules/escalade": {
|
||||||
"version": "3.1.1",
|
"version": "3.1.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@agnai/sentencepiece-js": "^1.1.1",
|
"@agnai/sentencepiece-js": "^1.1.1",
|
||||||
"@agnai/web-tokenizers": "^0.1.3",
|
"@agnai/web-tokenizers": "^0.1.3",
|
||||||
"@zeldafan0225/ai_horde": "^4.0.1",
|
"@zeldafan0225/ai_horde": "^5.1.0",
|
||||||
"archiver": "^7.0.1",
|
"archiver": "^7.0.1",
|
||||||
"bing-translate-api": "^2.9.1",
|
"bing-translate-api": "^2.9.1",
|
||||||
"body-parser": "^1.20.2",
|
"body-parser": "^1.20.2",
|
||||||
@@ -59,9 +59,6 @@
|
|||||||
"axios": {
|
"axios": {
|
||||||
"follow-redirects": "^1.15.4"
|
"follow-redirects": "^1.15.4"
|
||||||
},
|
},
|
||||||
"@zeldafan0225/ai_horde": {
|
|
||||||
"esbuild": "npm:dry-uninstall"
|
|
||||||
},
|
|
||||||
"node-fetch": {
|
"node-fetch": {
|
||||||
"whatwg-url": "^14.0.0"
|
"whatwg-url": "^14.0.0"
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const fetch = require('node-fetch').default;
|
const fetch = require('node-fetch').default;
|
||||||
const express = require('express');
|
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 { getVersion, delay, Cache } = require('../util');
|
||||||
const { readSecret, SECRET_KEYS } = require('./secrets');
|
const { readSecret, SECRET_KEYS } = require('./secrets');
|
||||||
const { jsonParser } = require('../express-common');
|
const { jsonParser } = require('../express-common');
|
||||||
@@ -191,8 +191,7 @@ router.post('/generate-text', jsonParser, async (request, response) => {
|
|||||||
|
|
||||||
router.post('/sd-samplers', jsonParser, async (_, response) => {
|
router.post('/sd-samplers', jsonParser, async (_, response) => {
|
||||||
try {
|
try {
|
||||||
const ai_horde = await getHordeClient();
|
const samplers = Object.values(ModelGenerationInputStableSamplers);
|
||||||
const samplers = Object.values(ai_horde.ModelGenerationInputStableSamplers);
|
|
||||||
response.send(samplers);
|
response.send(samplers);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
@@ -217,7 +216,7 @@ router.post('/caption-image', jsonParser, async (request, response) => {
|
|||||||
const ai_horde = await getHordeClient();
|
const ai_horde = await getHordeClient();
|
||||||
const result = await ai_horde.postAsyncInterrogate({
|
const result = await ai_horde.postAsyncInterrogate({
|
||||||
source_image: request.body.image,
|
source_image: request.body.image,
|
||||||
forms: [{ name: AIHorde.ModelInterrogationFormTypes.caption }],
|
forms: [{ name: ModelInterrogationFormTypes.caption }],
|
||||||
}, { token: api_key_horde });
|
}, { token: api_key_horde });
|
||||||
|
|
||||||
if (!result.id) {
|
if (!result.id) {
|
||||||
@@ -233,7 +232,7 @@ router.post('/caption-image', jsonParser, async (request, response) => {
|
|||||||
const status = await ai_horde.getInterrogationStatus(result.id);
|
const status = await ai_horde.getInterrogationStatus(result.id);
|
||||||
console.log(status);
|
console.log(status);
|
||||||
|
|
||||||
if (status.state === AIHorde.HordeAsyncRequestStates.done) {
|
if (status.state === HordeAsyncRequestStates.done) {
|
||||||
|
|
||||||
if (status.forms === undefined) {
|
if (status.forms === undefined) {
|
||||||
console.error('Image interrogation request failed: no forms found.');
|
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 });
|
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.');
|
console.log('Image interrogation request is not successful.');
|
||||||
return response.sendStatus(503);
|
return response.sendStatus(503);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user