From 34d91dff790ef287143e0899bb738493dba69a0f Mon Sep 17 00:00:00 2001 From: MaxRobinsonTheGreat Date: Fri, 16 Feb 2024 17:04:11 -0600 Subject: [PATCH] removed request queuing --- src/utils/gpt.js | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/src/utils/gpt.js b/src/utils/gpt.js index 5d18988..b5281c7 100644 --- a/src/utils/gpt.js +++ b/src/utils/gpt.js @@ -20,28 +20,14 @@ else { const openai = new OpenAIApi(openAiConfig); -let counter = 0; -let request_queue = []; -export async function sendRequest(turns, systemMessage) { - // this wrapper function ensures that new requests await the completion of previous requests in order - let id = counter++; - request_queue.push(id); - if (request_queue.length > 1) - console.log('awaiting previous requests to complete, queueing request', id); - while (request_queue[0] !== id) { - await new Promise(r => setTimeout(r, 100)); - } - let res = await queryGPT(turns, systemMessage); - request_queue.shift(); - return res; -} -async function queryGPT(turns, systemMessage, stop_seq='***') { +export async function sendRequest(turns, systemMessage, stop_seq='***') { + let messages = [{'role': 'system', 'content': systemMessage}].concat(turns); let res = null; try { - console.log('Awaiting openai api response...'); + console.log('Awaiting openai api response...') let completion = await openai.chat.completions.create({ model: 'gpt-3.5-turbo', messages: messages, @@ -49,12 +35,13 @@ async function queryGPT(turns, systemMessage, stop_seq='***') { }); if (completion.choices[0].finish_reason == 'length') throw new Error('Context length exceeded'); + console.log('Received.') res = completion.choices[0].message.content; } catch (err) { if ((err.message == 'Context length exceeded' || err.code == 'context_length_exceeded') && turns.length > 1) { console.log('Context length exceeded, trying again with shorter context.'); - return await queryGPT(turns.slice(1), systemMessage, stop_seq); + return await sendRequest(turns.slice(1), systemMessage, stop_seq); } else { console.log(err); res = 'My brain disconnected, try again.';