diff --git a/api/app/chatgpt-custom.js b/api/app/chatgpt-custom.js index 9eabb80ccd..e7a0ee0503 100644 --- a/api/app/chatgpt-custom.js +++ b/api/app/chatgpt-custom.js @@ -9,7 +9,7 @@ const clientOptions = { debug: false }; -const customClient = async ({ text, progressCallback, convo, promptPrefix, chatGptLabel }) => { +const customClient = async ({ text, onProgress, convo, promptPrefix, chatGptLabel }) => { const ChatGPTClient = (await import('@waylaidwanderer/chatgpt-api')).default; const store = { store: new KeyvFile({ filename: './data/cache.json' }) @@ -23,10 +23,7 @@ const customClient = async ({ text, progressCallback, convo, promptPrefix, chatG const client = new ChatGPTClient(process.env.OPENAI_KEY, clientOptions, store); - let options = { - onProgress: async (partialRes) => await progressCallback(partialRes) - }; - + let options = { onProgress }; if (!!convo.parentMessageId && !!convo.conversationId) { options = { ...options, ...convo }; } diff --git a/api/app/chatgpt.js b/api/app/chatgpt.js deleted file mode 100644 index 18edcfca83..0000000000 --- a/api/app/chatgpt.js +++ /dev/null @@ -1,38 +0,0 @@ -require('dotenv').config(); -const Keyv = require('keyv'); -const { Configuration, OpenAIApi } = require('openai'); -const messageStore = new Keyv(process.env.MONGODB_URI, { namespace: 'chatgpt' }); - -const ask = async (question, progressCallback, convo) => { - const { ChatGPTAPI } = await import('chatgpt'); - const api = new ChatGPTAPI({ apiKey: process.env.OPENAI_KEY, messageStore }); - let options = { - onProgress: async (partialRes) => { - if (partialRes.text.length > 0) { - await progressCallback(partialRes); - } - } - }; - - if (!!convo.parentMessageId && !!convo.conversationId) { - options = { ...options, ...convo }; - } - - const res = await api.sendMessage(question, options); - return res; -}; - -const titleConvo = async (message, response, model) => { - const configuration = new Configuration({ - apiKey: process.env.OPENAI_KEY - }); - const openai = new OpenAIApi(configuration); - const completion = await openai.createCompletion({ - model: 'text-davinci-002', - prompt: `Write a short title in title case, ideally in 5 words or less, and do not refer to the user or ${model}, that summarizes this conversation:\nUser:"${message}"\n${model}:"${response}"\nTitle: ` - }); - - return completion.data.choices[0].text.replace(/\n/g, ''); -}; - -module.exports = { ask, titleConvo };