1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
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 };
|