mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Horde compatibility
This commit is contained in:
44
server.js
44
server.js
@ -56,7 +56,7 @@ var api_key_novel;
|
||||
//New chats made with characters will use this new formatting.
|
||||
//Useable variable is (( humanizedISO8601Datetime ))
|
||||
|
||||
|
||||
const delay = ms => new Promise(resolve => setTimeout(resolve, ms))
|
||||
|
||||
function humanizedISO8601DateTime() {
|
||||
let baseDate = new Date(Date.now());
|
||||
@ -225,7 +225,7 @@ app.post("/getlastversion", jsonParser, function (request, response_getlastversi
|
||||
});
|
||||
|
||||
//**************Kobold api
|
||||
app.post("/generate", jsonParser, function (request, response_generate = response) {
|
||||
app.post("/generate", jsonParser, async function (request, response_generate = response) {
|
||||
if (!request.body) return response_generate.sendStatus(400);
|
||||
//console.log(request.body.prompt);
|
||||
//const dataJson = JSON.parse(request.body);
|
||||
@ -271,24 +271,36 @@ app.post("/generate", jsonParser, function (request, response_generate = respons
|
||||
data: this_settings,
|
||||
headers: { "Content-Type": "application/json" }
|
||||
};
|
||||
client.post(api_server + "/v1/generate", args, function (data, response) {
|
||||
if (response.statusCode == 200) {
|
||||
|
||||
const MAX_RETRIES = 10;
|
||||
const delayAmount = 3000;
|
||||
for (let i = 0; i < MAX_RETRIES; i++) {
|
||||
try {
|
||||
const data = await postAsync(api_server + "/v1/generate", args);
|
||||
console.log(data);
|
||||
response_generate.send(data);
|
||||
return response_generate.send(data);
|
||||
}
|
||||
if (response.statusCode == 422) {
|
||||
catch (error) {
|
||||
// data
|
||||
console.log(error[0]);
|
||||
|
||||
// response
|
||||
if (error[1]) {
|
||||
switch (error[1].statusCode) {
|
||||
case 503:
|
||||
await delay(delayAmount);
|
||||
break;
|
||||
case 422:
|
||||
console.log('Validation error');
|
||||
response_generate.send({ error: true });
|
||||
case 501:
|
||||
case 507:
|
||||
return response_generate.send({ error: true });
|
||||
}
|
||||
} else {
|
||||
return response_generate.send({ error: true });
|
||||
}
|
||||
}
|
||||
if (response.statusCode == 501 || response.statusCode == 503 || response.statusCode == 507) {
|
||||
console.log(data);
|
||||
response_generate.send({ error: true });
|
||||
}
|
||||
}).on('error', function (err) {
|
||||
console.log(err);
|
||||
//console.log('something went wrong on the request', err.request.options);
|
||||
response_generate.send({ error: true });
|
||||
});
|
||||
});
|
||||
|
||||
//************** Text generation web UI
|
||||
@ -1517,7 +1529,7 @@ function postAsync(url, args) {
|
||||
return new Promise((resolve, reject) => {
|
||||
client.post(url, args, (data, response) => {
|
||||
if (response.statusCode >= 400) {
|
||||
reject(data);
|
||||
reject([data, response]);
|
||||
}
|
||||
resolve(data);
|
||||
}).on('error', e => reject(e));
|
||||
|
Reference in New Issue
Block a user