import { GPTCallOpts, GPTCallType, callTypeMap, openai } from './setup'; /** * Calls the OpenAI API. * * @param inputText Text to process * @returns AI Output */ const gptAPICall = async (inputText: string, callType: GPTCallType) => { if (callType === GPTCallType.SUMMARY) inputText += '.'; const opts: GPTCallOpts = callTypeMap[callType]; try { const response = await openai.createCompletion({ model: opts.model, max_tokens: opts.maxTokens, temperature: opts.temp, prompt: `${opts.prompt}${inputText}`, }); return response.data.choices[0].text; } catch (err) { console.log(err); return 'Error connecting with API.'; } }; const gptImageCall = async (prompt: string, n?: number) => { try { const response = await openai.createImage({ prompt: prompt, n: n ?? 1, size: '1024x1024', }); return response.data.data.map(data => data.url); // return response.data.data[0].url; } catch (err) { console.error(err); return; } }; export { gptAPICall, gptImageCall, GPTCallType };