Download api/server/routes/ask/addToCache.js from Achyuth4/LibreChat: direct link, hf CLI and curl.
- Browser
- Download file 1.78 kB
-
https://huggingface.co/spaces/Achyuth4/LibreChat/resolve/main/api/server/routes/ask/addToCache.js
- Command line
-
hf download hf://spaces/Achyuth4/LibreChat/api/server/routes/ask/addToCache.js
-
curl -L -o addToCache.js https://huggingface.co/spaces/Achyuth4/LibreChat/resolve/main/api/server/routes/ask/addToCache.js
1.78 kB
| const Keyv = require('keyv'); | |
| const { KeyvFile } = require('keyv-file'); | |
| const addToCache = async ({ endpoint, endpointOption, userMessage, responseMessage }) => { | |
| try { | |
| const conversationsCache = new Keyv({ | |
| store: new KeyvFile({ filename: './data/cache.json' }), | |
| namespace: 'chatgpt', // should be 'bing' for bing/sydney | |
| }); | |
| const { | |
| conversationId, | |
| messageId: userMessageId, | |
| parentMessageId: userParentMessageId, | |
| text: userText, | |
| } = userMessage; | |
| const { | |
| messageId: responseMessageId, | |
| parentMessageId: responseParentMessageId, | |
| text: responseText, | |
| } = responseMessage; | |
| let conversation = await conversationsCache.get(conversationId); | |
| // used to generate a title for the conversation if none exists | |
| // let isNewConversation = false; | |
| if (!conversation) { | |
| conversation = { | |
| messages: [], | |
| createdAt: Date.now(), | |
| }; | |
| // isNewConversation = true; | |
| } | |
| const roles = (options) => { | |
| if (endpoint === 'openAI') { | |
| return options?.chatGptLabel || 'ChatGPT'; | |
| } else if (endpoint === 'bingAI') { | |
| return options?.jailbreak ? 'Sydney' : 'BingAI'; | |
| } | |
| }; | |
| let _userMessage = { | |
| id: userMessageId, | |
| parentMessageId: userParentMessageId, | |
| role: 'User', | |
| message: userText, | |
| }; | |
| let _responseMessage = { | |
| id: responseMessageId, | |
| parentMessageId: responseParentMessageId, | |
| role: roles(endpointOption), | |
| message: responseText, | |
| }; | |
| conversation.messages.push(_userMessage, _responseMessage); | |
| await conversationsCache.set(conversationId, conversation); | |
| } catch (error) { | |
| console.error('Trouble adding to cache', error); | |
| } | |
| }; | |
| module.exports = addToCache; | |