Spaces:
Paused
Paused
Update index.js
Browse files
index.js
CHANGED
|
@@ -608,9 +608,11 @@ async function handleResponse(response, model, res, isStream) {
|
|
| 608 |
if (!data.trim()) continue;
|
| 609 |
if (data === "[DONE]") continue;
|
| 610 |
const linejosn = JSON.parse(data);
|
| 611 |
-
|
| 612 |
-
if (linejosn?.error) {
|
| 613 |
Logger.error(JSON.stringify(linejosn, null, 2), 'Server');
|
|
|
|
|
|
|
|
|
|
| 614 |
stream.destroy();
|
| 615 |
reject(new Error("RateLimitError"));
|
| 616 |
return;
|
|
@@ -640,6 +642,7 @@ async function handleResponse(response, model, res, isStream) {
|
|
| 640 |
})();
|
| 641 |
dataPromises.push(processPromise);
|
| 642 |
} catch (error) {
|
|
|
|
| 643 |
continue;
|
| 644 |
}
|
| 645 |
}
|
|
@@ -661,11 +664,13 @@ async function handleResponse(response, model, res, isStream) {
|
|
| 661 |
CONFIG.IS_IMG_GEN2 = false;
|
| 662 |
resolve();
|
| 663 |
} catch (error) {
|
|
|
|
| 664 |
reject(error);
|
| 665 |
}
|
| 666 |
});
|
| 667 |
|
| 668 |
stream.on('error', (error) => {
|
|
|
|
| 669 |
reject(error);
|
| 670 |
});
|
| 671 |
});
|
|
@@ -673,7 +678,7 @@ async function handleResponse(response, model, res, isStream) {
|
|
| 673 |
Logger.error(error, 'Server');
|
| 674 |
CONFIG.IS_IMG_GEN = false;
|
| 675 |
CONFIG.IS_IMG_GEN2 = false;
|
| 676 |
-
throw error;
|
| 677 |
}
|
| 678 |
}
|
| 679 |
|
|
@@ -700,6 +705,7 @@ async function handleImageResponse(imageUrl) {
|
|
| 700 |
await new Promise(resolve => setTimeout(resolve, CONFIG.API.RETRY_TIME * retryCount));
|
| 701 |
|
| 702 |
} catch (error) {
|
|
|
|
| 703 |
retryCount++;
|
| 704 |
if (retryCount === MAX_RETRIES) {
|
| 705 |
throw error;
|
|
@@ -762,12 +768,7 @@ async function handleImageResponse(imageUrl) {
|
|
| 762 |
} else {
|
| 763 |
Logger.info("ηεΎζε", 'Server');
|
| 764 |
const result = await responseURL.json();
|
| 765 |
-
|
| 766 |
-
var url = result.data.links.url
|
| 767 |
-
return ``
|
| 768 |
-
} catch (error) {
|
| 769 |
-
return error
|
| 770 |
-
}
|
| 771 |
}
|
| 772 |
}
|
| 773 |
}
|
|
@@ -786,7 +787,7 @@ app.use(cors({
|
|
| 786 |
allowedHeaders: ['Content-Type', 'Authorization']
|
| 787 |
}));
|
| 788 |
|
| 789 |
-
app.get('/
|
| 790 |
res.json({
|
| 791 |
object: "list",
|
| 792 |
data: Object.keys(CONFIG.MODELS).map((model, index) => ({
|
|
@@ -799,7 +800,7 @@ app.get('/hf/v1/models', (req, res) => {
|
|
| 799 |
});
|
| 800 |
|
| 801 |
|
| 802 |
-
app.post('/
|
| 803 |
try {
|
| 804 |
const authToken = req.headers.authorization?.replace('Bearer ', '');
|
| 805 |
if (CONFIG.API.IS_CUSTOM_SSO) {
|
|
@@ -880,8 +881,10 @@ app.post('/hf/v1/chat/completions', async (req, res) => {
|
|
| 880 |
Logger.info(`ε½εε©δ½ε―η¨δ»€ηζ°: ${tokenManager.getTokenCount()}`, 'Server');
|
| 881 |
try {
|
| 882 |
await handleResponse(response, req.body.model, res, req.body.stream);
|
|
|
|
| 883 |
return;
|
| 884 |
} catch (error) {
|
|
|
|
| 885 |
if (isTempCookie) {
|
| 886 |
await Utils.get_signature();
|
| 887 |
} else {
|
|
@@ -900,7 +903,7 @@ app.post('/hf/v1/chat/completions', async (req, res) => {
|
|
| 900 |
if (response.status === 429) {
|
| 901 |
if (isTempCookie) {
|
| 902 |
await Utils.get_signature();
|
| 903 |
-
} else {
|
| 904 |
tokenManager.setModelLimit(CONFIG.SSO_INDEX, req.body.model);
|
| 905 |
for (let i = 1; i <= tokenManager.getTokenCount(); i++) {
|
| 906 |
CONFIG.SSO_INDEX = (CONFIG.SSO_INDEX + 1) % tokenManager.getTokenCount();
|
|
@@ -911,7 +914,7 @@ app.post('/hf/v1/chat/completions', async (req, res) => {
|
|
| 911 |
}
|
| 912 |
}
|
| 913 |
}
|
| 914 |
-
} else {
|
| 915 |
// ι429ιθ――η΄ζ₯ζεΊ
|
| 916 |
if (isTempCookie) {
|
| 917 |
await Utils.get_signature();
|
|
|
|
| 608 |
if (!data.trim()) continue;
|
| 609 |
if (data === "[DONE]") continue;
|
| 610 |
const linejosn = JSON.parse(data);
|
| 611 |
+
if (linejosn?.error) {
|
|
|
|
| 612 |
Logger.error(JSON.stringify(linejosn, null, 2), 'Server');
|
| 613 |
+
if(linejosn.error?.name === "RateLimitError"){
|
| 614 |
+
CONFIG.API.TEMP_COOKIE = null;
|
| 615 |
+
}
|
| 616 |
stream.destroy();
|
| 617 |
reject(new Error("RateLimitError"));
|
| 618 |
return;
|
|
|
|
| 642 |
})();
|
| 643 |
dataPromises.push(processPromise);
|
| 644 |
} catch (error) {
|
| 645 |
+
Logger.error(error, 'Server');
|
| 646 |
continue;
|
| 647 |
}
|
| 648 |
}
|
|
|
|
| 664 |
CONFIG.IS_IMG_GEN2 = false;
|
| 665 |
resolve();
|
| 666 |
} catch (error) {
|
| 667 |
+
Logger.error(error, 'Server');
|
| 668 |
reject(error);
|
| 669 |
}
|
| 670 |
});
|
| 671 |
|
| 672 |
stream.on('error', (error) => {
|
| 673 |
+
Logger.error(error, 'Server');
|
| 674 |
reject(error);
|
| 675 |
});
|
| 676 |
});
|
|
|
|
| 678 |
Logger.error(error, 'Server');
|
| 679 |
CONFIG.IS_IMG_GEN = false;
|
| 680 |
CONFIG.IS_IMG_GEN2 = false;
|
| 681 |
+
throw new Error(error);
|
| 682 |
}
|
| 683 |
}
|
| 684 |
|
|
|
|
| 705 |
await new Promise(resolve => setTimeout(resolve, CONFIG.API.RETRY_TIME * retryCount));
|
| 706 |
|
| 707 |
} catch (error) {
|
| 708 |
+
Logger.error(error, 'Server');
|
| 709 |
retryCount++;
|
| 710 |
if (retryCount === MAX_RETRIES) {
|
| 711 |
throw error;
|
|
|
|
| 768 |
} else {
|
| 769 |
Logger.info("ηεΎζε", 'Server');
|
| 770 |
const result = await responseURL.json();
|
| 771 |
+
return ``
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 772 |
}
|
| 773 |
}
|
| 774 |
}
|
|
|
|
| 787 |
allowedHeaders: ['Content-Type', 'Authorization']
|
| 788 |
}));
|
| 789 |
|
| 790 |
+
app.get('/v1/models', (req, res) => {
|
| 791 |
res.json({
|
| 792 |
object: "list",
|
| 793 |
data: Object.keys(CONFIG.MODELS).map((model, index) => ({
|
|
|
|
| 800 |
});
|
| 801 |
|
| 802 |
|
| 803 |
+
app.post('/v1/chat/completions', async (req, res) => {
|
| 804 |
try {
|
| 805 |
const authToken = req.headers.authorization?.replace('Bearer ', '');
|
| 806 |
if (CONFIG.API.IS_CUSTOM_SSO) {
|
|
|
|
| 881 |
Logger.info(`ε½εε©δ½ε―η¨δ»€ηζ°: ${tokenManager.getTokenCount()}`, 'Server');
|
| 882 |
try {
|
| 883 |
await handleResponse(response, req.body.model, res, req.body.stream);
|
| 884 |
+
Logger.info(`θ―·ζ±η»ζ`, 'Server');
|
| 885 |
return;
|
| 886 |
} catch (error) {
|
| 887 |
+
Logger.error(error, 'Server');
|
| 888 |
if (isTempCookie) {
|
| 889 |
await Utils.get_signature();
|
| 890 |
} else {
|
|
|
|
| 903 |
if (response.status === 429) {
|
| 904 |
if (isTempCookie) {
|
| 905 |
await Utils.get_signature();
|
| 906 |
+
} else {
|
| 907 |
tokenManager.setModelLimit(CONFIG.SSO_INDEX, req.body.model);
|
| 908 |
for (let i = 1; i <= tokenManager.getTokenCount(); i++) {
|
| 909 |
CONFIG.SSO_INDEX = (CONFIG.SSO_INDEX + 1) % tokenManager.getTokenCount();
|
|
|
|
| 914 |
}
|
| 915 |
}
|
| 916 |
}
|
| 917 |
+
} else {
|
| 918 |
// ι429ιθ――η΄ζ₯ζεΊ
|
| 919 |
if (isTempCookie) {
|
| 920 |
await Utils.get_signature();
|