mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Fix JSDoc + lint + readability
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
const express = require('express');
|
const express = require('express');
|
||||||
const fetch = require('node-fetch').default;
|
const fetch = require('node-fetch').default;
|
||||||
|
const { Readable } = require('stream');
|
||||||
|
|
||||||
const { jsonParser } = require('../../express-common');
|
const { jsonParser } = require('../../express-common');
|
||||||
const { CHAT_COMPLETION_SOURCES, MAKERSUITE_SAFETY } = require('../../constants');
|
const { CHAT_COMPLETION_SOURCES, MAKERSUITE_SAFETY } = require('../../constants');
|
||||||
@@ -151,20 +152,16 @@ async function sendScaleRequest(request, response) {
|
|||||||
* @param {express.Request} request Express request
|
* @param {express.Request} request Express request
|
||||||
* @param {express.Response} response Express response
|
* @param {express.Response} response Express response
|
||||||
*/
|
*/
|
||||||
/**
|
|
||||||
* @param {express.Request} request
|
|
||||||
* @param {express.Response} response
|
|
||||||
*/
|
|
||||||
async function sendMakerSuiteRequest(request, response) {
|
async function sendMakerSuiteRequest(request, response) {
|
||||||
const api_key_makersuite = readSecret(SECRET_KEYS.MAKERSUITE);
|
const apiKey = readSecret(SECRET_KEYS.MAKERSUITE);
|
||||||
|
|
||||||
if (!api_key_makersuite) {
|
if (!apiKey) {
|
||||||
console.log('MakerSuite API key is missing.');
|
console.log('MakerSuite API key is missing.');
|
||||||
return response.status(400).send({ error: true });
|
return response.status(400).send({ error: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
const google_model = request.body.model;
|
const model = request.body.model;
|
||||||
const should_stream = request.body.stream;
|
const stream = request.body.stream;
|
||||||
|
|
||||||
const generationConfig = {
|
const generationConfig = {
|
||||||
stopSequences: request.body.stop,
|
stopSequences: request.body.stop,
|
||||||
@@ -176,7 +173,7 @@ async function sendMakerSuiteRequest(request, response) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const body = {
|
const body = {
|
||||||
contents: convertGooglePrompt(request.body.messages, google_model),
|
contents: convertGooglePrompt(request.body.messages, model),
|
||||||
safetySettings: MAKERSUITE_SAFETY,
|
safetySettings: MAKERSUITE_SAFETY,
|
||||||
generationConfig: generationConfig,
|
generationConfig: generationConfig,
|
||||||
};
|
};
|
||||||
@@ -188,7 +185,7 @@ async function sendMakerSuiteRequest(request, response) {
|
|||||||
controller.abort();
|
controller.abort();
|
||||||
});
|
});
|
||||||
|
|
||||||
const generateResponse = await fetch(`https://generativelanguage.googleapis.com/v1beta/models/${google_model}:${should_stream ? 'streamGenerateContent' : 'generateContent'}?key=${api_key_makersuite}`, {
|
const generateResponse = await fetch(`https://generativelanguage.googleapis.com/v1beta/models/${model}:${stream ? 'streamGenerateContent' : 'generateContent'}?key=${apiKey}`, {
|
||||||
body: JSON.stringify(body),
|
body: JSON.stringify(body),
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
@@ -198,7 +195,7 @@ async function sendMakerSuiteRequest(request, response) {
|
|||||||
timeout: 0,
|
timeout: 0,
|
||||||
});
|
});
|
||||||
// have to do this because of their busted ass streaming endpoint
|
// have to do this because of their busted ass streaming endpoint
|
||||||
if (should_stream) {
|
if (stream) {
|
||||||
try {
|
try {
|
||||||
let partialData = '';
|
let partialData = '';
|
||||||
generateResponse.body.on('data', (data) => {
|
generateResponse.body.on('data', (data) => {
|
||||||
@@ -221,7 +218,7 @@ async function sendMakerSuiteRequest(request, response) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
request.socket.on('close', function () {
|
request.socket.on('close', function () {
|
||||||
generateResponse.body.destroy();
|
if (generateResponse.body instanceof Readable) generateResponse.body.destroy();
|
||||||
response.end();
|
response.end();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@@ -72,6 +72,12 @@ function convertClaudePrompt(messages, addHumanPrefix, addAssistantPostfix, with
|
|||||||
return requestPrompt;
|
return requestPrompt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert a prompt from the ChatML objects to the format used by Google MakerSuite models.
|
||||||
|
* @param {object[]} messages Array of messages
|
||||||
|
* @param {string} model Model name
|
||||||
|
* @returns {object[]} Prompt for Google MakerSuite models
|
||||||
|
*/
|
||||||
function convertGooglePrompt(messages, model) {
|
function convertGooglePrompt(messages, model) {
|
||||||
const contents = [];
|
const contents = [];
|
||||||
let lastRole = '';
|
let lastRole = '';
|
||||||
|
Reference in New Issue
Block a user