mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-18 01:10:14 +01:00
ci(backend-review.yml): add linter step to the backend review workflow (#625)
* ci(backend-review.yml): add linter step to the backend review workflow * chore(backend-review.yml): remove prettier from lint-action configuration * chore: apply new linting workflow * chore(lint-staged.config.js): reorder lint-staged tasks for JavaScript and TypeScript files * chore(eslint): update ignorePatterns in .eslintrc.js chore(lint-action): remove prettier option in backend-review.yml chore(package.json): add lint and lint:fix scripts * chore(lint-staged.config.js): remove prettier --write command for js, jsx, ts, tsx files * chore(titleConvo.js): remove unnecessary console.log statement chore(titleConvo.js): add missing comma in options object * chore: apply linting to all files * chore(lint-staged.config.js): update lint-staged configuration to include prettier formatting
This commit is contained in:
parent
637bb6bc11
commit
e5336039fc
231 changed files with 1688 additions and 1526 deletions
|
|
@ -5,19 +5,19 @@ const addToCache = async ({ endpoint, endpointOption, userMessage, responseMessa
|
|||
try {
|
||||
const conversationsCache = new Keyv({
|
||||
store: new KeyvFile({ filename: './data/cache.json' }),
|
||||
namespace: 'chatgpt' // should be 'bing' for bing/sydney
|
||||
namespace: 'chatgpt', // should be 'bing' for bing/sydney
|
||||
});
|
||||
|
||||
const {
|
||||
conversationId,
|
||||
messageId: userMessageId,
|
||||
parentMessageId: userParentMessageId,
|
||||
text: userText
|
||||
text: userText,
|
||||
} = userMessage;
|
||||
const {
|
||||
messageId: responseMessageId,
|
||||
parentMessageId: responseParentMessageId,
|
||||
text: responseText
|
||||
text: responseText,
|
||||
} = responseMessage;
|
||||
|
||||
let conversation = await conversationsCache.get(conversationId);
|
||||
|
|
@ -26,7 +26,7 @@ const addToCache = async ({ endpoint, endpointOption, userMessage, responseMessa
|
|||
if (!conversation) {
|
||||
conversation = {
|
||||
messages: [],
|
||||
createdAt: Date.now()
|
||||
createdAt: Date.now(),
|
||||
};
|
||||
// isNewConversation = true;
|
||||
}
|
||||
|
|
@ -43,14 +43,14 @@ const addToCache = async ({ endpoint, endpointOption, userMessage, responseMessa
|
|||
id: userMessageId,
|
||||
parentMessageId: userParentMessageId,
|
||||
role: 'User',
|
||||
message: userText
|
||||
message: userText,
|
||||
};
|
||||
|
||||
let _responseMessage = {
|
||||
id: responseMessageId,
|
||||
parentMessageId: responseParentMessageId,
|
||||
role: roles(endpointOption),
|
||||
message: responseText
|
||||
message: responseText,
|
||||
};
|
||||
|
||||
conversation.messages.push(_userMessage, _responseMessage);
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
temperature: req.body?.temperature ?? 0.7,
|
||||
maxOutputTokens: req.body?.maxOutputTokens ?? 1024,
|
||||
topP: req.body?.topP ?? 0.7,
|
||||
topK: req.body?.topK ?? 40
|
||||
}
|
||||
topK: req.body?.topK ?? 40,
|
||||
},
|
||||
};
|
||||
|
||||
const conversationId = oldConversationId || crypto.randomUUID();
|
||||
|
|
@ -39,7 +39,7 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
conversationId,
|
||||
parentMessageId,
|
||||
req,
|
||||
res
|
||||
res,
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -49,7 +49,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
'Content-Type': 'text/event-stream',
|
||||
'Cache-Control': 'no-cache, no-transform',
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'X-Accel-Buffering': 'no'
|
||||
'X-Accel-Buffering': 'no',
|
||||
});
|
||||
|
||||
let userMessage;
|
||||
|
|
@ -81,10 +81,10 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
text: partialText,
|
||||
unfinished: true,
|
||||
cancelled: false,
|
||||
error: false
|
||||
error: false,
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
const abortController = new AbortController();
|
||||
|
|
@ -110,7 +110,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
final: true,
|
||||
conversation: await getConvo(req.user.id, conversationId),
|
||||
requestMessage: userMessage,
|
||||
responseMessage: responseMessage
|
||||
responseMessage: responseMessage,
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -132,10 +132,10 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
onProgress: progressCallback.call(null, {
|
||||
res,
|
||||
text,
|
||||
parentMessageId: overrideParentMessageId || userMessageId
|
||||
parentMessageId: overrideParentMessageId || userMessageId,
|
||||
}),
|
||||
onStart,
|
||||
abortController
|
||||
abortController,
|
||||
});
|
||||
|
||||
if (overrideParentMessageId) {
|
||||
|
|
@ -146,7 +146,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
...endpointOption,
|
||||
...endpointOption.modelOptions,
|
||||
conversationId,
|
||||
endpoint: 'anthropic'
|
||||
endpoint: 'anthropic',
|
||||
});
|
||||
|
||||
await saveMessage(response);
|
||||
|
|
@ -155,7 +155,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
final: true,
|
||||
conversation: await getConvo(req.user.id, conversationId),
|
||||
requestMessage: userMessage,
|
||||
responseMessage: response
|
||||
responseMessage: response,
|
||||
});
|
||||
res.end();
|
||||
|
||||
|
|
@ -163,7 +163,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
const title = await titleConvo({ text, response });
|
||||
await saveConvo(req.user.id, {
|
||||
conversationId,
|
||||
title
|
||||
title,
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
|
|
@ -176,7 +176,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
unfinished: false,
|
||||
cancelled: false,
|
||||
error: true,
|
||||
text: error.message
|
||||
text: error.message,
|
||||
};
|
||||
await saveMessage(errorMessage);
|
||||
handleError(res, errorMessage);
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
messageId,
|
||||
overrideParentMessageId = null,
|
||||
parentMessageId,
|
||||
conversationId: oldConversationId
|
||||
conversationId: oldConversationId,
|
||||
} = req.body;
|
||||
if (text.length === 0) return handleError(res, { text: 'Prompt empty or too short' });
|
||||
if (endpoint !== 'bingAI') return handleError(res, { text: 'Illegal request' });
|
||||
|
|
@ -29,7 +29,7 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
text,
|
||||
parentMessageId: userParentMessageId,
|
||||
conversationId,
|
||||
isCreatedByUser: true
|
||||
isCreatedByUser: true,
|
||||
};
|
||||
|
||||
// build endpoint option
|
||||
|
|
@ -41,7 +41,7 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
systemMessage: req.body?.systemMessage ?? null,
|
||||
context: req.body?.context ?? null,
|
||||
toneStyle: req.body?.toneStyle ?? 'creative',
|
||||
token: req.body?.token ?? null
|
||||
token: req.body?.token ?? null,
|
||||
};
|
||||
else
|
||||
endpointOption = {
|
||||
|
|
@ -52,13 +52,13 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
clientId: req.body?.clientId ?? null,
|
||||
invocationId: req.body?.invocationId ?? null,
|
||||
toneStyle: req.body?.toneStyle ?? 'creative',
|
||||
token: req.body?.token ?? null
|
||||
token: req.body?.token ?? null,
|
||||
};
|
||||
|
||||
console.log('ask log', {
|
||||
userMessage,
|
||||
endpointOption,
|
||||
conversationId
|
||||
conversationId,
|
||||
});
|
||||
|
||||
if (!overrideParentMessageId) {
|
||||
|
|
@ -67,7 +67,7 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
...userMessage,
|
||||
...endpointOption,
|
||||
conversationId,
|
||||
endpoint
|
||||
endpoint,
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -80,7 +80,7 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
preSendRequest: true,
|
||||
overrideParentMessageId,
|
||||
req,
|
||||
res
|
||||
res,
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -92,7 +92,7 @@ const ask = async ({
|
|||
preSendRequest = true,
|
||||
overrideParentMessageId = null,
|
||||
req,
|
||||
res
|
||||
res,
|
||||
}) => {
|
||||
let { text, parentMessageId: userParentMessageId, messageId: userMessageId } = userMessage;
|
||||
|
||||
|
|
@ -103,7 +103,7 @@ const ask = async ({
|
|||
'Content-Type': 'text/event-stream',
|
||||
'Cache-Control': 'no-cache, no-transform',
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'X-Accel-Buffering': 'no'
|
||||
'X-Accel-Buffering': 'no',
|
||||
});
|
||||
|
||||
if (preSendRequest) sendMessage(res, { message: userMessage, created: true });
|
||||
|
|
@ -123,10 +123,10 @@ const ask = async ({
|
|||
text: text,
|
||||
unfinished: true,
|
||||
cancelled: false,
|
||||
error: false
|
||||
error: false,
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
const abortController = new AbortController();
|
||||
let bingConversationId = null;
|
||||
|
|
@ -142,9 +142,9 @@ const ask = async ({
|
|||
onProgress: progressCallback.call(null, {
|
||||
res,
|
||||
text,
|
||||
parentMessageId: overrideParentMessageId || userMessageId
|
||||
parentMessageId: overrideParentMessageId || userMessageId,
|
||||
}),
|
||||
abortController
|
||||
abortController,
|
||||
});
|
||||
|
||||
console.log('BING RESPONSE', response);
|
||||
|
|
@ -173,7 +173,7 @@ const ask = async ({
|
|||
response.details.suggestedResponses.map((s) => s.text),
|
||||
unfinished: false,
|
||||
cancelled: false,
|
||||
error: false
|
||||
error: false,
|
||||
};
|
||||
|
||||
await saveMessage(responseMessage);
|
||||
|
|
@ -199,7 +199,7 @@ const ask = async ({
|
|||
await saveMessage({
|
||||
...userMessage,
|
||||
messageId: userMessageId,
|
||||
newMessageId: newUserMessageId
|
||||
newMessageId: newUserMessageId,
|
||||
});
|
||||
userMessageId = newUserMessageId;
|
||||
|
||||
|
|
@ -208,19 +208,19 @@ const ask = async ({
|
|||
final: true,
|
||||
conversation: await getConvo(req.user.id, conversationId),
|
||||
requestMessage: userMessage,
|
||||
responseMessage: responseMessage
|
||||
responseMessage: responseMessage,
|
||||
});
|
||||
res.end();
|
||||
|
||||
if (userParentMessageId == '00000000-0000-0000-0000-000000000000') {
|
||||
const title = await titleConvoBing({
|
||||
text,
|
||||
response: responseMessage
|
||||
response: responseMessage,
|
||||
});
|
||||
|
||||
await saveConvo(req.user.id, {
|
||||
conversationId: conversationId,
|
||||
title
|
||||
title,
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
|
|
@ -233,7 +233,7 @@ const ask = async ({
|
|||
unfinished: false,
|
||||
cancelled: false,
|
||||
error: true,
|
||||
text: error.message
|
||||
text: error.message,
|
||||
};
|
||||
await saveMessage(errorMessage);
|
||||
handleError(res, errorMessage);
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
text,
|
||||
overrideParentMessageId = null,
|
||||
parentMessageId,
|
||||
conversationId: oldConversationId
|
||||
conversationId: oldConversationId,
|
||||
} = req.body;
|
||||
if (text.length === 0) return handleError(res, { text: 'Prompt empty or too short' });
|
||||
if (endpoint !== 'chatGPTBrowser') return handleError(res, { text: 'Illegal request' });
|
||||
|
|
@ -29,13 +29,13 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
text,
|
||||
parentMessageId: userParentMessageId,
|
||||
conversationId,
|
||||
isCreatedByUser: true
|
||||
isCreatedByUser: true,
|
||||
};
|
||||
|
||||
// build endpoint option
|
||||
const endpointOption = {
|
||||
model: req.body?.model ?? 'text-davinci-002-render-sha',
|
||||
token: req.body?.token ?? null
|
||||
token: req.body?.token ?? null,
|
||||
};
|
||||
|
||||
// const availableModels = getChatGPTBrowserModels();
|
||||
|
|
@ -45,7 +45,7 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
console.log('ask log', {
|
||||
userMessage,
|
||||
endpointOption,
|
||||
conversationId
|
||||
conversationId,
|
||||
});
|
||||
|
||||
if (!overrideParentMessageId) {
|
||||
|
|
@ -54,7 +54,7 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
...userMessage,
|
||||
...endpointOption,
|
||||
conversationId,
|
||||
endpoint
|
||||
endpoint,
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -67,7 +67,7 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
preSendRequest: true,
|
||||
overrideParentMessageId,
|
||||
req,
|
||||
res
|
||||
res,
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -78,7 +78,7 @@ const ask = async ({
|
|||
conversationId,
|
||||
overrideParentMessageId = null,
|
||||
req,
|
||||
res
|
||||
res,
|
||||
}) => {
|
||||
let { text, parentMessageId: userParentMessageId, messageId: userMessageId } = userMessage;
|
||||
const userId = req.user.id;
|
||||
|
|
@ -88,7 +88,7 @@ const ask = async ({
|
|||
'Content-Type': 'text/event-stream',
|
||||
'Cache-Control': 'no-cache, no-transform',
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'X-Accel-Buffering': 'no'
|
||||
'X-Accel-Buffering': 'no',
|
||||
});
|
||||
|
||||
let responseMessageId = crypto.randomUUID();
|
||||
|
|
@ -108,10 +108,10 @@ const ask = async ({
|
|||
text: text,
|
||||
unfinished: true,
|
||||
cancelled: false,
|
||||
error: false
|
||||
error: false,
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
getPartialMessage = getPartialText;
|
||||
|
|
@ -134,9 +134,9 @@ const ask = async ({
|
|||
|
||||
sendMessage(res, {
|
||||
message: { ...userMessage, conversationId: data.conversation_id },
|
||||
created: true
|
||||
created: true,
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
console.log('CLIENT RESPONSE', response);
|
||||
|
|
@ -157,7 +157,7 @@ const ask = async ({
|
|||
sender: endpointOption?.chatGptLabel || 'ChatGPT',
|
||||
unfinished: false,
|
||||
cancelled: false,
|
||||
error: false
|
||||
error: false,
|
||||
};
|
||||
|
||||
await saveMessage(responseMessage);
|
||||
|
|
@ -173,13 +173,13 @@ const ask = async ({
|
|||
conversationUpdate = {
|
||||
...conversationUpdate,
|
||||
conversationId: conversationId,
|
||||
newConversationId: newConversationId
|
||||
newConversationId: newConversationId,
|
||||
};
|
||||
} else {
|
||||
// create new conversation
|
||||
conversationUpdate = {
|
||||
...conversationUpdate,
|
||||
...endpointOption
|
||||
...endpointOption,
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -195,7 +195,7 @@ const ask = async ({
|
|||
await saveMessage({
|
||||
...userMessage,
|
||||
messageId: userMessageId,
|
||||
newMessageId: newUserMassageId
|
||||
newMessageId: newUserMassageId,
|
||||
});
|
||||
userMessageId = newUserMassageId;
|
||||
|
||||
|
|
@ -204,7 +204,7 @@ const ask = async ({
|
|||
final: true,
|
||||
conversation: await getConvo(req.user.id, conversationId),
|
||||
requestMessage: userMessage,
|
||||
responseMessage: responseMessage
|
||||
responseMessage: responseMessage,
|
||||
});
|
||||
res.end();
|
||||
|
||||
|
|
@ -213,7 +213,7 @@ const ask = async ({
|
|||
const title = await response.details.title;
|
||||
await saveConvo(req.user.id, {
|
||||
conversationId: conversationId,
|
||||
title
|
||||
title,
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
|
|
@ -225,7 +225,7 @@ const ask = async ({
|
|||
unfinished: false,
|
||||
cancelled: false,
|
||||
// error: true,
|
||||
text: `${getPartialMessage() ?? ''}\n\nError message: "${error.message}"`
|
||||
text: `${getPartialMessage() ?? ''}\n\nError message: "${error.message}"`,
|
||||
};
|
||||
await saveMessage(errorMessage);
|
||||
handleError(res, errorMessage);
|
||||
|
|
|
|||
|
|
@ -23,13 +23,13 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
temperature: req.body?.temperature ?? 0.2,
|
||||
maxOutputTokens: req.body?.maxOutputTokens ?? 1024,
|
||||
topP: req.body?.topP ?? 0.95,
|
||||
topK: req.body?.topK ?? 40
|
||||
}
|
||||
topK: req.body?.topK ?? 40,
|
||||
},
|
||||
};
|
||||
|
||||
const availableModels = ['chat-bison', 'text-bison', 'codechat-bison'];
|
||||
if (availableModels.find((model) => model === endpointOption.modelOptions.model) === undefined) {
|
||||
return handleError(res, { text: `Illegal request: model` });
|
||||
return handleError(res, { text: 'Illegal request: model' });
|
||||
}
|
||||
|
||||
const conversationId = oldConversationId || crypto.randomUUID();
|
||||
|
|
@ -41,7 +41,7 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
conversationId,
|
||||
parentMessageId,
|
||||
req,
|
||||
res
|
||||
res,
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -51,7 +51,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
'Content-Type': 'text/event-stream',
|
||||
'Cache-Control': 'no-cache, no-transform',
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'X-Accel-Buffering': 'no'
|
||||
'X-Accel-Buffering': 'no',
|
||||
});
|
||||
let userMessage;
|
||||
let userMessageId;
|
||||
|
|
@ -84,10 +84,10 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
text: partialText,
|
||||
unfinished: true,
|
||||
cancelled: false,
|
||||
error: false
|
||||
error: false,
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
const abortController = new AbortController();
|
||||
|
|
@ -104,14 +104,14 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
key = require('../../../data/auth.json');
|
||||
}
|
||||
} catch (e) {
|
||||
console.log("No 'auth.json' file (service account key) found in /api/data/ for PaLM models");
|
||||
console.log('No \'auth.json\' file (service account key) found in /api/data/ for PaLM models');
|
||||
}
|
||||
|
||||
const clientOptions = {
|
||||
// debug: true, // for testing
|
||||
reverseProxyUrl: process.env.GOOGLE_REVERSE_PROXY || null,
|
||||
proxy: process.env.PROXY || null,
|
||||
...endpointOption
|
||||
...endpointOption,
|
||||
};
|
||||
|
||||
const client = new GoogleClient(key, clientOptions);
|
||||
|
|
@ -125,9 +125,9 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
onProgress: progressCallback.call(null, {
|
||||
res,
|
||||
text,
|
||||
parentMessageId: overrideParentMessageId || userMessageId
|
||||
parentMessageId: overrideParentMessageId || userMessageId,
|
||||
}),
|
||||
abortController
|
||||
abortController,
|
||||
});
|
||||
|
||||
if (overrideParentMessageId) {
|
||||
|
|
@ -138,7 +138,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
...endpointOption,
|
||||
...endpointOption.modelOptions,
|
||||
conversationId,
|
||||
endpoint: 'google'
|
||||
endpoint: 'google',
|
||||
});
|
||||
|
||||
await saveMessage(response);
|
||||
|
|
@ -147,7 +147,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
final: true,
|
||||
conversation: await getConvo(req.user.id, conversationId),
|
||||
requestMessage: userMessage,
|
||||
responseMessage: response
|
||||
responseMessage: response,
|
||||
});
|
||||
res.end();
|
||||
|
||||
|
|
@ -155,7 +155,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
const title = await titleConvo({ text, response });
|
||||
await saveConvo(req.user.id, {
|
||||
conversationId,
|
||||
title
|
||||
title,
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
|
|
@ -168,7 +168,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, conversationI
|
|||
unfinished: false,
|
||||
cancelled: false,
|
||||
error: true,
|
||||
text: error.message
|
||||
text: error.message,
|
||||
};
|
||||
await saveMessage(errorMessage);
|
||||
handleError(res, errorMessage);
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ const {
|
|||
sendMessage,
|
||||
createOnProgress,
|
||||
formatSteps,
|
||||
formatAction
|
||||
formatAction,
|
||||
} = require('./handlers');
|
||||
const requireJwtAuth = require('../../../middleware/requireJwtAuth');
|
||||
|
||||
|
|
@ -44,12 +44,12 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
temperature: req.body?.temperature ?? 0,
|
||||
top_p: req.body?.top_p ?? 1,
|
||||
presence_penalty: req.body?.presence_penalty ?? 0,
|
||||
frequency_penalty: req.body?.frequency_penalty ?? 0
|
||||
frequency_penalty: req.body?.frequency_penalty ?? 0,
|
||||
},
|
||||
agentOptions: {
|
||||
...agentOptions,
|
||||
// agent: 'functions'
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
console.log('ask log');
|
||||
|
|
@ -63,7 +63,7 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
conversationId,
|
||||
parentMessageId,
|
||||
req,
|
||||
res
|
||||
res,
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -73,7 +73,7 @@ const ask = async ({ text, endpoint, endpointOption, parentMessageId = null, con
|
|||
'Content-Type': 'text/event-stream',
|
||||
'Cache-Control': 'no-cache, no-transform',
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'X-Accel-Buffering': 'no'
|
||||
'X-Accel-Buffering': 'no',
|
||||
});
|
||||
let userMessage;
|
||||
let userMessageId;
|
||||
|
|
@ -87,7 +87,7 @@ const ask = async ({ text, endpoint, endpointOption, parentMessageId = null, con
|
|||
loading: true,
|
||||
inputs: [],
|
||||
latest: null,
|
||||
outputs: null
|
||||
outputs: null,
|
||||
};
|
||||
|
||||
try {
|
||||
|
|
@ -119,10 +119,10 @@ const ask = async ({ text, endpoint, endpointOption, parentMessageId = null, con
|
|||
model: endpointOption.modelOptions.model,
|
||||
unfinished: true,
|
||||
cancelled: false,
|
||||
error: false
|
||||
error: false,
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
const abortController = new AbortController();
|
||||
|
|
@ -149,7 +149,7 @@ const ask = async ({ text, endpoint, endpointOption, parentMessageId = null, con
|
|||
final: true,
|
||||
conversation: await getConvo(req.user.id, conversationId),
|
||||
requestMessage: userMessage,
|
||||
responseMessage: responseMessage
|
||||
responseMessage: responseMessage,
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -164,7 +164,7 @@ const ask = async ({ text, endpoint, endpointOption, parentMessageId = null, con
|
|||
endpoint,
|
||||
reverseProxyUrl: process.env.OPENAI_REVERSE_PROXY || null,
|
||||
proxy: process.env.PROXY || null,
|
||||
...endpointOption
|
||||
...endpointOption,
|
||||
};
|
||||
|
||||
let openAIApiKey = req.body?.token ?? process.env.OPENAI_API_KEY;
|
||||
|
|
@ -211,9 +211,9 @@ const ask = async ({ text, endpoint, endpointOption, parentMessageId = null, con
|
|||
res,
|
||||
text,
|
||||
plugin,
|
||||
parentMessageId: overrideParentMessageId || userMessageId
|
||||
parentMessageId: overrideParentMessageId || userMessageId,
|
||||
}),
|
||||
abortController
|
||||
abortController,
|
||||
});
|
||||
|
||||
if (overrideParentMessageId) {
|
||||
|
|
@ -230,7 +230,7 @@ const ask = async ({ text, endpoint, endpointOption, parentMessageId = null, con
|
|||
final: true,
|
||||
conversation: await getConvo(req.user.id, conversationId),
|
||||
requestMessage: userMessage,
|
||||
responseMessage: response
|
||||
responseMessage: response,
|
||||
});
|
||||
res.end();
|
||||
|
||||
|
|
@ -243,7 +243,7 @@ const ask = async ({ text, endpoint, endpointOption, parentMessageId = null, con
|
|||
});
|
||||
await saveConvo(req.user.id, {
|
||||
conversationId: conversationId,
|
||||
title
|
||||
title,
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
|
|
@ -256,7 +256,7 @@ const ask = async ({ text, endpoint, endpointOption, parentMessageId = null, con
|
|||
unfinished: false,
|
||||
cancelled: false,
|
||||
error: true,
|
||||
text: error.message
|
||||
text: error.message,
|
||||
};
|
||||
await saveMessage(errorMessage);
|
||||
handleError(res, errorMessage);
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ function formatAction(action) {
|
|||
input: getString(action.toolInput),
|
||||
thought: action.log.includes('Thought: ')
|
||||
? action.log.split('\n')[0].replace('Thought: ', '')
|
||||
: action.log.split('\n')[0]
|
||||
: action.log.split('\n')[0],
|
||||
};
|
||||
|
||||
formattedAction.thought = getString(formattedAction.thought);
|
||||
|
|
@ -161,5 +161,5 @@ module.exports = {
|
|||
createOnProgress,
|
||||
handleText,
|
||||
formatSteps,
|
||||
formatAction
|
||||
formatAction,
|
||||
};
|
||||
|
|
@ -31,8 +31,8 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
temperature: req.body?.temperature ?? 1,
|
||||
top_p: req.body?.top_p ?? 1,
|
||||
presence_penalty: req.body?.presence_penalty ?? 0,
|
||||
frequency_penalty: req.body?.frequency_penalty ?? 0
|
||||
}
|
||||
frequency_penalty: req.body?.frequency_penalty ?? 0,
|
||||
},
|
||||
};
|
||||
|
||||
console.log('ask log');
|
||||
|
|
@ -46,7 +46,7 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
parentMessageId,
|
||||
endpoint,
|
||||
req,
|
||||
res
|
||||
res,
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -56,7 +56,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, endpoint, con
|
|||
'Content-Type': 'text/event-stream',
|
||||
'Cache-Control': 'no-cache, no-transform',
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'X-Accel-Buffering': 'no'
|
||||
'X-Accel-Buffering': 'no',
|
||||
});
|
||||
let userMessage;
|
||||
let userMessageId;
|
||||
|
|
@ -90,10 +90,10 @@ const ask = async ({ text, endpointOption, parentMessageId = null, endpoint, con
|
|||
model: endpointOption.modelOptions.model,
|
||||
unfinished: true,
|
||||
cancelled: false,
|
||||
error: false
|
||||
error: false,
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
const abortController = new AbortController();
|
||||
|
|
@ -119,7 +119,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, endpoint, con
|
|||
final: true,
|
||||
conversation: await getConvo(req.user.id, conversationId),
|
||||
requestMessage: userMessage,
|
||||
responseMessage: responseMessage
|
||||
responseMessage: responseMessage,
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -135,7 +135,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, endpoint, con
|
|||
reverseProxyUrl: process.env.OPENAI_REVERSE_PROXY || null,
|
||||
proxy: process.env.PROXY || null,
|
||||
endpoint,
|
||||
...endpointOption
|
||||
...endpointOption,
|
||||
};
|
||||
|
||||
let openAIApiKey = req.body?.token ?? process.env.OPENAI_API_KEY;
|
||||
|
|
@ -157,9 +157,9 @@ const ask = async ({ text, endpointOption, parentMessageId = null, endpoint, con
|
|||
onProgress: progressCallback.call(null, {
|
||||
res,
|
||||
text,
|
||||
parentMessageId: overrideParentMessageId || userMessageId
|
||||
parentMessageId: overrideParentMessageId || userMessageId,
|
||||
}),
|
||||
abortController
|
||||
abortController,
|
||||
});
|
||||
|
||||
if (overrideParentMessageId) {
|
||||
|
|
@ -174,7 +174,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, endpoint, con
|
|||
final: true,
|
||||
conversation: await getConvo(req.user.id, conversationId),
|
||||
requestMessage: userMessage,
|
||||
responseMessage: response
|
||||
responseMessage: response,
|
||||
});
|
||||
res.end();
|
||||
|
||||
|
|
@ -183,11 +183,11 @@ const ask = async ({ text, endpointOption, parentMessageId = null, endpoint, con
|
|||
text,
|
||||
response,
|
||||
openAIApiKey,
|
||||
azure: endpoint === 'azureOpenAI'
|
||||
azure: endpoint === 'azureOpenAI',
|
||||
});
|
||||
await saveConvo(req.user.id, {
|
||||
conversationId,
|
||||
title
|
||||
title,
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
|
|
@ -204,7 +204,7 @@ const ask = async ({ text, endpointOption, parentMessageId = null, endpoint, con
|
|||
unfinished: false,
|
||||
cancelled: false,
|
||||
error: true,
|
||||
text: error.message
|
||||
text: error.message,
|
||||
};
|
||||
await saveMessage(errorMessage);
|
||||
handleError(res, errorMessage);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue