apexify.js 4.2.4 → 4.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/README.md +5 -4
  2. package/dist/ai/ApexAI.d.ts +2 -0
  3. package/dist/ai/ApexAI.d.ts.map +1 -1
  4. package/dist/ai/ApexAI.js +31 -22
  5. package/dist/ai/ApexAI.js.map +1 -1
  6. package/dist/ai/ApexModules.d.ts +10 -1
  7. package/dist/ai/ApexModules.d.ts.map +1 -1
  8. package/dist/ai/ApexModules.js +79 -3
  9. package/dist/ai/ApexModules.js.map +1 -1
  10. package/dist/ai/buttons/drawMenu.js +1 -2
  11. package/dist/ai/buttons/drawMenu.js.map +1 -1
  12. package/dist/ai/buttons/tools.js +1 -2
  13. package/dist/ai/buttons/tools.js.map +1 -1
  14. package/dist/ai/functions/chunkString.js +1 -2
  15. package/dist/ai/functions/chunkString.js.map +1 -1
  16. package/dist/ai/functions/draw.js +9 -11
  17. package/dist/ai/functions/draw.js.map +1 -1
  18. package/dist/ai/functions/generateVoiceResponse.js +1 -2
  19. package/dist/ai/functions/generateVoiceResponse.js.map +1 -1
  20. package/dist/ai/functions/imageReader.js +1 -2
  21. package/dist/ai/functions/imageReader.js.map +1 -1
  22. package/dist/ai/functions/readFiles.d.ts.map +1 -1
  23. package/dist/ai/functions/readFiles.js +3 -3
  24. package/dist/ai/functions/readFiles.js.map +1 -1
  25. package/dist/ai/functions/readImagess.js +1 -2
  26. package/dist/ai/functions/readImagess.js.map +1 -1
  27. package/dist/ai/functions/shouldDrawImage.js +1 -2
  28. package/dist/ai/functions/shouldDrawImage.js.map +1 -1
  29. package/dist/ai/functions/typeWriter.js +1 -2
  30. package/dist/ai/functions/typeWriter.js.map +1 -1
  31. package/dist/ai/functions/validOptions.d.ts +2 -0
  32. package/dist/ai/functions/validOptions.d.ts.map +1 -1
  33. package/dist/ai/functions/validOptions.js +5 -1
  34. package/dist/ai/functions/validOptions.js.map +1 -1
  35. package/dist/ai/modals-chat/Gemini-flash.js +3 -5
  36. package/dist/ai/modals-chat/Gemini-flash.js.map +1 -1
  37. package/dist/ai/modals-chat/Gemini-pro.js +3 -5
  38. package/dist/ai/modals-chat/Gemini-pro.js.map +1 -1
  39. package/dist/ai/modals-chat/apexChat.js +1 -2
  40. package/dist/ai/modals-chat/apexChat.js.map +1 -1
  41. package/dist/ai/modals-chat/bard.d.ts.map +1 -1
  42. package/dist/ai/modals-chat/bard.js +24 -6
  43. package/dist/ai/modals-chat/bard.js.map +1 -1
  44. package/dist/ai/modals-chat/bing.d.ts.map +1 -1
  45. package/dist/ai/modals-chat/bing.js +24 -6
  46. package/dist/ai/modals-chat/bing.js.map +1 -1
  47. package/dist/ai/modals-chat/codellama.d.ts.map +1 -1
  48. package/dist/ai/modals-chat/codellama.js +23 -6
  49. package/dist/ai/modals-chat/codellama.js.map +1 -1
  50. package/dist/ai/modals-chat/facebook-ai.js +1 -2
  51. package/dist/ai/modals-chat/facebook-ai.js.map +1 -1
  52. package/dist/ai/modals-chat/geminiV2.d.ts.map +1 -1
  53. package/dist/ai/modals-chat/geminiV2.js +24 -6
  54. package/dist/ai/modals-chat/geminiV2.js.map +1 -1
  55. package/dist/ai/modals-chat/gemma.d.ts +1 -2
  56. package/dist/ai/modals-chat/gemma.d.ts.map +1 -1
  57. package/dist/ai/modals-chat/gemma.js +30 -41
  58. package/dist/ai/modals-chat/gemma.js.map +1 -1
  59. package/dist/ai/modals-chat/llama.d.ts.map +1 -1
  60. package/dist/ai/modals-chat/llama.js +24 -6
  61. package/dist/ai/modals-chat/llama.js.map +1 -1
  62. package/dist/ai/modals-chat/llamav2.d.ts +2 -0
  63. package/dist/ai/modals-chat/llamav2.d.ts.map +1 -0
  64. package/dist/ai/modals-chat/llamav2.js +43 -0
  65. package/dist/ai/modals-chat/llamav2.js.map +1 -0
  66. package/dist/ai/modals-chat/llamav3.d.ts +2 -0
  67. package/dist/ai/modals-chat/llamav3.d.ts.map +1 -0
  68. package/dist/ai/modals-chat/llamav3.js +43 -0
  69. package/dist/ai/modals-chat/llamav3.js.map +1 -0
  70. package/dist/ai/modals-chat/mixtral.d.ts.map +1 -1
  71. package/dist/ai/modals-chat/mixtral.js +24 -6
  72. package/dist/ai/modals-chat/mixtral.js.map +1 -1
  73. package/dist/ai/modals-chat/mixtralv2.d.ts +2 -0
  74. package/dist/ai/modals-chat/mixtralv2.d.ts.map +1 -0
  75. package/dist/ai/modals-chat/mixtralv2.js +43 -0
  76. package/dist/ai/modals-chat/mixtralv2.js.map +1 -0
  77. package/dist/ai/modals-chat/openChat.d.ts.map +1 -1
  78. package/dist/ai/modals-chat/openChat.js +24 -6
  79. package/dist/ai/modals-chat/openChat.js.map +1 -1
  80. package/dist/ai/modals-chat/starChat.js +1 -2
  81. package/dist/ai/modals-chat/starChat.js.map +1 -1
  82. package/dist/ai/modals-chat/v4.d.ts.map +1 -1
  83. package/dist/ai/modals-chat/v4.js +24 -6
  84. package/dist/ai/modals-chat/v4.js.map +1 -1
  85. package/dist/ai/modals-chat/whisper.d.ts +2 -0
  86. package/dist/ai/modals-chat/whisper.d.ts.map +1 -0
  87. package/dist/ai/modals-chat/whisper.js +101 -0
  88. package/dist/ai/modals-chat/whisper.js.map +1 -0
  89. package/dist/ai/modals-chat/yi-ai.js +1 -2
  90. package/dist/ai/modals-chat/yi-ai.js.map +1 -1
  91. package/dist/canvas/ApexPainter.d.ts +0 -1
  92. package/dist/canvas/ApexPainter.d.ts.map +1 -1
  93. package/dist/canvas/ApexPainter.js +5 -6
  94. package/dist/canvas/ApexPainter.js.map +1 -1
  95. package/dist/canvas/utils/bg.js +3 -4
  96. package/dist/canvas/utils/bg.js.map +1 -1
  97. package/dist/canvas/utils/charts.d.ts +0 -1
  98. package/dist/canvas/utils/charts.d.ts.map +1 -1
  99. package/dist/canvas/utils/charts.js +66 -75
  100. package/dist/canvas/utils/charts.js.map +1 -1
  101. package/dist/canvas/utils/circular.js +1 -2
  102. package/dist/canvas/utils/circular.js.map +1 -1
  103. package/dist/canvas/utils/conversion.d.ts +0 -1
  104. package/dist/canvas/utils/conversion.d.ts.map +1 -1
  105. package/dist/canvas/utils/conversion.js +5 -6
  106. package/dist/canvas/utils/conversion.js.map +1 -1
  107. package/dist/canvas/utils/customLines.js +1 -2
  108. package/dist/canvas/utils/customLines.js.map +1 -1
  109. package/dist/canvas/utils/general functions.d.ts +0 -1
  110. package/dist/canvas/utils/general functions.d.ts.map +1 -1
  111. package/dist/canvas/utils/general functions.js +12 -14
  112. package/dist/canvas/utils/general functions.js.map +1 -1
  113. package/dist/canvas/utils/imageProperties.js +7 -8
  114. package/dist/canvas/utils/imageProperties.js.map +1 -1
  115. package/dist/canvas/utils/radius.d.ts.map +1 -1
  116. package/dist/canvas/utils/radius.js +1 -2
  117. package/dist/canvas/utils/radius.js.map +1 -1
  118. package/dist/canvas/utils/textProperties.js +2 -3
  119. package/dist/canvas/utils/textProperties.js.map +1 -1
  120. package/dist/canvas/utils/types.d.ts +0 -2
  121. package/dist/canvas/utils/types.d.ts.map +1 -1
  122. package/dist/index.d.ts +1 -16
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +2 -3
  125. package/dist/index.js.map +1 -1
  126. package/lib/ai/ApexAI.ts +20 -10
  127. package/lib/ai/ApexModules.ts +87 -1
  128. package/lib/ai/functions/readFiles.ts +6 -4
  129. package/lib/ai/functions/validOptions.ts +7 -2
  130. package/lib/ai/modals-chat/bard.ts +20 -4
  131. package/lib/ai/modals-chat/bing.ts +20 -4
  132. package/lib/ai/modals-chat/codellama.ts +21 -6
  133. package/lib/ai/modals-chat/geminiV2.ts +20 -4
  134. package/lib/ai/modals-chat/gemma.ts +35 -0
  135. package/lib/ai/modals-chat/llama.ts +20 -4
  136. package/lib/ai/modals-chat/llamav2.ts +35 -0
  137. package/lib/ai/modals-chat/llamav3.ts +35 -0
  138. package/lib/ai/modals-chat/mixtral.ts +21 -4
  139. package/lib/ai/modals-chat/mixtralv2.ts +35 -0
  140. package/lib/ai/modals-chat/openChat.ts +20 -4
  141. package/lib/ai/modals-chat/v4.ts +20 -4
  142. package/lib/ai/modals-chat/whisper.ts +102 -0
  143. package/lib/canvas/ApexPainter.ts +3 -3
  144. package/lib/index.ts +3 -2
  145. package/package.json +6 -1
@@ -10,6 +10,11 @@ import { codellama } from './modals-chat/codellama';
10
10
  import { bard } from './modals-chat/bard';
11
11
  import { bing } from './modals-chat/bing';
12
12
  import { gemini_v2 } from './modals-chat/geminiV2';
13
+ import { whisper } from './modals-chat/whisper';
14
+ import { llama2 } from './modals-chat/llamav2';
15
+ import { llama3 } from './modals-chat/llamav3';
16
+ import { gemma } from './modals-chat/gemma';
17
+ import { mixtral2 } from './modals-chat/mixtralv2';
13
18
 
14
19
  sdk.auth('43435e1c-cab1-493f-a224-f51e4b97ce8d');
15
20
  const hercai = new Hercai('6eZZOdDwm6Epdzn8mnhcX9SBDkxvoNYcNj9ILS0P44=');
@@ -675,6 +680,18 @@ async function processChunk(model: string, prompt: string, ApiKey?: string): Pro
675
680
  case 'llama':
676
681
  response = await llamaChat({ API_KEY: ApiKey, prompt });
677
682
  break;
683
+ case 'llama-v2':
684
+ response = await llama2(prompt, ApiKey);
685
+ break;
686
+ case 'llama-v3':
687
+ response = await llama3(prompt, ApiKey);
688
+ break;
689
+ case 'gemma':
690
+ response = await gemma(prompt, ApiKey);
691
+ break;
692
+ case 'mixtral-v2':
693
+ response = await mixtral2(prompt, ApiKey);
694
+ break;
678
695
  case 'codellama':
679
696
  response = await codellama({ API_KEY: ApiKey, prompt });
680
697
  break;
@@ -768,5 +785,74 @@ async function checkJobStatus(jobId: string, retryCount = 3): Promise<string | n
768
785
  }
769
786
  }
770
787
 
788
+ async function ApexListener(options: { filepath: string, model: string, prompt?: string, lang?: string }) {
789
+
790
+ const { filepath, model = 'v3', prompt = '', lang = 'en' } = options;
791
+
792
+ const validatedLang = validateLanguageInput(lang);
793
+
794
+ if (!validatedLang) {
795
+ throw new Error(`Unsupported language: ${lang}. Please provide a valid ISO 639-1 language code or language name.`);
796
+ }
797
+
798
+ const transcribe = await whisper(prompt, filepath, validatedLang);
799
+
800
+ const response = await ApexChat(model, transcribe);
801
+
802
+ return { response, transcribe };
803
+ }
804
+
805
+ function validateLanguageInput(lang: string): string | null {
806
+ const supportedLanguages = [
807
+ { code: 'en', name: 'English' },
808
+ { code: 'es', name: 'Spanish' },
809
+ { code: 'fr', name: 'French' },
810
+ { code: 'de', name: 'German' },
811
+ { code: 'it', name: 'Italian' },
812
+ { code: 'pt', name: 'Portuguese' },
813
+ { code: 'ru', name: 'Russian' },
814
+ { code: 'zh', name: 'Chinese' },
815
+ { code: 'ja', name: 'Japanese' },
816
+ { code: 'ko', name: 'Korean' },
817
+ { code: 'ar', name: 'Arabic' },
818
+ { code: 'hi', name: 'Hindi' },
819
+ { code: 'bn', name: 'Bengali' },
820
+ { code: 'pa', name: 'Punjabi' },
821
+ { code: 'ur', name: 'Urdu' },
822
+ { code: 'tr', name: 'Turkish' },
823
+ { code: 'vi', name: 'Vietnamese' },
824
+ { code: 'th', name: 'Thai' },
825
+ { code: 'nl', name: 'Dutch' },
826
+ { code: 'pl', name: 'Polish' },
827
+ { code: 'sv', name: 'Swedish' },
828
+ { code: 'no', name: 'Norwegian' },
829
+ { code: 'fi', name: 'Finnish' },
830
+ { code: 'da', name: 'Danish' },
831
+ { code: 'el', name: 'Greek' },
832
+ { code: 'he', name: 'Hebrew' },
833
+ { code: 'fa', name: 'Persian' },
834
+ { code: 'hu', name: 'Hungarian' },
835
+ { code: 'cs', name: 'Czech' },
836
+ { code: 'ro', name: 'Romanian' },
837
+ { code: 'uk', name: 'Ukrainian' },
838
+ { code: 'bg', name: 'Bulgarian' },
839
+ { code: 'ms', name: 'Malay' },
840
+ { code: 'id', name: 'Indonesian' },
841
+ { code: 'tl', name: 'Tagalog' },
842
+ { code: 'nl', name: 'Dutch' }
843
+ ];
844
+
845
+ const foundByCode = supportedLanguages.find(langObj => langObj.code === lang.toLowerCase());
846
+ if (foundByCode) {
847
+ return foundByCode.code;
848
+ }
849
+
850
+ const foundByName = supportedLanguages.find(langObj => langObj.name.toLowerCase() === lang.toLowerCase());
851
+ if (foundByName) {
852
+ return foundByName.code;
853
+ }
854
+
855
+ return null;
856
+ }
771
857
 
772
- export { ApexImagine, ApexChat };
858
+ export { ApexImagine, ApexChat, ApexListener };
@@ -1,6 +1,7 @@
1
- import pdf from "pdf-parse";
1
+ import pdf from "pdf-parse";
2
2
  import * as fs from "fs";
3
3
  import * as https from "https";
4
+ import { WriteStream } from "fs";
4
5
 
5
6
  export async function readPdf(url: string): Promise<string> {
6
7
  const pdfBuffer = await downloadFile(url);
@@ -15,10 +16,11 @@ export async function readTextFile(url: string): Promise<string> {
15
16
 
16
17
  function downloadFile(url: string): Promise<Buffer> {
17
18
  return new Promise((resolve, reject) => {
18
- const tempFilePath = 'temp';
19
- const file = fs.createWriteStream(tempFilePath);
19
+ const tempFilePath = 'temp';
20
+ const file: WriteStream = fs.createWriteStream(tempFilePath);
20
21
 
21
22
  https.get(url, (response) => {
23
+ // @ts-ignore: Ignore type checking for this line
22
24
  response.pipe(file);
23
25
  file.on('finish', () => {
24
26
  file.close();
@@ -31,4 +33,4 @@ function downloadFile(url: string): Promise<Buffer> {
31
33
  reject(err.message);
32
34
  });
33
35
  });
34
- }
36
+ }
@@ -10,6 +10,9 @@ async function initializeValidOptions() {
10
10
  sampler()
11
11
  ]);
12
12
 
13
+ const ApexAIModals = ['v4', 'gemmini-pro', 'gemini-flash', 'gemini', 'v3', 'v3-32k', 'turbo', 'turbo-16k', 'llama', 'apexChat', 'openChat', 'yi-ai', 'facebook-ai', 'starChat', 'mixtral']
14
+ const ApexChatModals = ['v4', 'gemini-v2', 'gemini', 'v3', 'v3-32k', 'turbo', 'turbo-16k', 'llama', 'apexChat', 'openChat', 'yi-ai', 'facebook-ai', 'starChat', 'mixtral', 'codellama', 'bing', 'bard']
15
+
13
16
  const HercModals = [
14
17
  "v1",
15
18
  "v2",
@@ -24,6 +27,8 @@ async function initializeValidOptions() {
24
27
 
25
28
  return {
26
29
  validHercaiModals: HercModals,
30
+ validApexAI: ApexAIModals,
31
+ validApexChat: ApexChatModals,
27
32
  validEnhancers: [
28
33
  "ESRGAN_4x", "Lanczos", "Nearest", "LDSR", "R-ESRGAN 4x+",
29
34
  "R-ESRGAN 4x+ Anime6B", "ScuNET GAN", "ScuNET PSNR", "SwinIR 4x"
@@ -37,7 +42,7 @@ async function initializeValidOptions() {
37
42
  "pixel-art", "texture", "craft-clay"
38
43
  ],
39
44
  validProdiaModals: SDModals,
40
- allModals: [...SDModals, ...SDXLModals, ...HercModals]
45
+ allModals: [...SDModals, ...SDXLModals, ...HercModals, ...ApexAIModals, ...ApexChatModals]
41
46
  };
42
47
  }
43
48
 
@@ -57,5 +62,5 @@ async function sdxlModals(): Promise<string[]> {
57
62
  async function sampler(): Promise<string[]> {
58
63
  const Samplers = await sdk.listSamplers();
59
64
 
60
- return Samplers.data
65
+ return Samplers.data;
61
66
  }
@@ -17,11 +17,27 @@ export async function bard({ API_KEY, prompt }: aiOptions): Promise<string> {
17
17
  return response.data.message;
18
18
  } catch (e: any) {
19
19
  if (e.response && e.response.data.message === 'Invalid API key.') {
20
- const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/bard`, { prompt }, {
21
- headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
22
- });
23
- return defaultResponse.data.message;
20
+ try {
21
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/bard`, { prompt }, {
22
+ headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
23
+ });
24
+ return defaultResponse.data.message;
25
+ } catch (err) {
26
+ console.log(err);
27
+ return 'An error occurred while using the default API key.';
28
+ }
29
+ } else if (e.response && e.response.status === 500) {
30
+ try {
31
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/bard`, { prompt }, {
32
+ headers: { Authorization: `Bearer rsnai_lvIch9Z7apBHqfXYqOiXwzm7` },
33
+ });
34
+ return defaultResponse.data.message;
35
+ } catch (err) {
36
+ console.log(err);
37
+ return 'An error occurred while using the backup API key.';
38
+ }
24
39
  } else {
40
+ console.log(e);
25
41
  return 'The API is on cooldown for 50 seconds.';
26
42
  }
27
43
  }
@@ -17,11 +17,27 @@ export async function bing({ API_KEY, prompt }: aiOptions): Promise<string> {
17
17
  return response.data.message;
18
18
  } catch (e: any) {
19
19
  if (e.response && e.response.data.message === 'Invalid API key.') {
20
- const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/bing`, { prompt }, {
21
- headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
22
- });
23
- return defaultResponse.data.message;
20
+ try {
21
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/bing`, { prompt }, {
22
+ headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
23
+ });
24
+ return defaultResponse.data.message;
25
+ } catch (err) {
26
+ console.log(err);
27
+ return 'An error occurred while using the default API key.';
28
+ }
29
+ } else if (e.response && e.response.status === 500) {
30
+ try {
31
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/bing`, { prompt }, {
32
+ headers: { Authorization: `Bearer rsnai_lvIch9Z7apBHqfXYqOiXwzm7` },
33
+ });
34
+ return defaultResponse.data.message;
35
+ } catch (err) {
36
+ console.log(err);
37
+ return 'An error occurred while using the backup API key.';
38
+ }
24
39
  } else {
40
+ console.log(e);
25
41
  return 'The API is on cooldown for 50 seconds.';
26
42
  }
27
43
  }
@@ -17,13 +17,28 @@ export async function codellama({ API_KEY, prompt }: aiOptions): Promise<string>
17
17
  return response.data.message;
18
18
  } catch (e: any) {
19
19
  if (e.response && e.response.data.message === 'Invalid API key.') {
20
- const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/codellama`, { prompt }, {
21
- headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
22
- });
23
- return defaultResponse.data.message;
20
+ try {
21
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/codellama`, { prompt }, {
22
+ headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
23
+ });
24
+ return defaultResponse.data.message;
25
+ } catch (err) {
26
+ console.log(err);
27
+ return 'An error occurred while using the default API key.';
28
+ }
29
+ } else if (e.response && e.response.status === 500) {
30
+ try {
31
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/codellama`, { prompt }, {
32
+ headers: { Authorization: `Bearer rsnai_lvIch9Z7apBHqfXYqOiXwzm7` },
33
+ });
34
+ return defaultResponse.data.message;
35
+ } catch (err) {
36
+ console.log(err);
37
+ return 'An error occurred while using the backup API key.';
38
+ }
24
39
  } else {
25
- console.log(e)
40
+ console.log(e);
26
41
  return 'The API is on cooldown for 50 seconds.';
27
42
  }
28
43
  }
29
- }
44
+ }
@@ -17,11 +17,27 @@ export async function gemini_v2({ API_KEY, prompt }: aiOptions): Promise<string>
17
17
  return response.data.message;
18
18
  } catch (e: any) {
19
19
  if (e.response && e.response.data.message === 'Invalid API key.') {
20
- const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/gemini`, { prompt }, {
21
- headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
22
- });
23
- return defaultResponse.data.message;
20
+ try {
21
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/gemini`, { prompt }, {
22
+ headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
23
+ });
24
+ return defaultResponse.data.message;
25
+ } catch (err) {
26
+ console.log(err);
27
+ return 'An error occurred while using the default API key.';
28
+ }
29
+ } else if (e.response && e.response.status === 500) {
30
+ try {
31
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/gemini`, { prompt }, {
32
+ headers: { Authorization: `Bearer rsnai_lvIch9Z7apBHqfXYqOiXwzm7` },
33
+ });
34
+ return defaultResponse.data.message;
35
+ } catch (err) {
36
+ console.log(err);
37
+ return 'An error occurred while using the backup API key.';
38
+ }
24
39
  } else {
40
+ console.log(e);
25
41
  return 'The API is on cooldown for 50 seconds.';
26
42
  }
27
43
  }
@@ -0,0 +1,35 @@
1
+ import Groq from 'groq-sdk';
2
+
3
+ export async function gemma(prompt: string, API_KEY?: string): Promise<string> {
4
+
5
+ try {
6
+ const groq = new Groq({
7
+ apiKey: API_KEY || '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',
8
+ });
9
+
10
+ const chatCompletion = await groq.chat.completions.create({
11
+ messages: [{ role: 'user', content: prompt }],
12
+ model: 'gemma-7b-it',
13
+ max_tokens: 8192
14
+ });
15
+ const response = chatCompletion.choices[0]?.message?.content || 'Rate limit'
16
+
17
+ return response;
18
+ } catch (err: any) {
19
+ if (err instanceof Groq.APIError) {
20
+ if (err.status === 400) {
21
+ return 'Bad request try again after a minute please.'
22
+ } else if (err.status === 429) {
23
+ return 'Rate limit try again after one minute or provide your own api-key.'
24
+ } else if (err.status === 401 || !err.status) {
25
+ throw new Error('Invalid Api-Key provided.')
26
+ } else {
27
+ console.error(err)
28
+ return "unknown error occurred."
29
+ }
30
+ } else {
31
+ console.error(err)
32
+ return "unknown error occurred."
33
+ }
34
+ }
35
+ }
@@ -17,11 +17,27 @@ export async function llamaChat({ API_KEY, prompt }: aiOptions): Promise<string>
17
17
  return response.data.message;
18
18
  } catch (e: any) {
19
19
  if (e.response && e.response.data.message === 'Invalid API key.') {
20
- const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/llama`, { prompt }, {
21
- headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
22
- });
23
- return defaultResponse.data.message;
20
+ try {
21
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/llama`, { prompt }, {
22
+ headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
23
+ });
24
+ return defaultResponse.data.message;
25
+ } catch (err) {
26
+ console.log(err);
27
+ return 'An error occurred while using the default API key.';
28
+ }
29
+ } else if (e.response && e.response.status === 500) {
30
+ try {
31
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/llama`, { prompt }, {
32
+ headers: { Authorization: `Bearer rsnai_lvIch9Z7apBHqfXYqOiXwzm7` },
33
+ });
34
+ return defaultResponse.data.message;
35
+ } catch (err) {
36
+ console.log(err);
37
+ return 'An error occurred while using the backup API key.';
38
+ }
24
39
  } else {
40
+ console.log(e);
25
41
  return 'The API is on cooldown for 50 seconds.';
26
42
  }
27
43
  }
@@ -0,0 +1,35 @@
1
+ import Groq from 'groq-sdk';
2
+
3
+ export async function llama2(prompt: string, API_KEY?: string): Promise<string> {
4
+
5
+ try {
6
+ const groq = new Groq({
7
+ apiKey: API_KEY || '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',
8
+ });
9
+
10
+ const chatCompletion = await groq.chat.completions.create({
11
+ messages: [{ role: 'user', content: prompt }],
12
+ model: 'llama3-70b-8192',
13
+ max_tokens: 8192
14
+ });
15
+
16
+ const response = chatCompletion.choices[0]?.message?.content || 'Rate limit'
17
+ return response;
18
+ } catch (err: any) {
19
+ if (err instanceof Groq.APIError) {
20
+ if (err.status === 400) {
21
+ return 'Bad request try again after a minute please.'
22
+ } else if (err.status === 429) {
23
+ return 'Rate limit try again after one minute or provide your own api-key.'
24
+ } else if (err.status === 401 || !err.status) {
25
+ throw new Error('Invalid Api-Key provided.')
26
+ } else {
27
+ console.error(err)
28
+ return "unknown error occurred."
29
+ }
30
+ } else {
31
+ console.error(err)
32
+ return 'unknown error occurred.'
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,35 @@
1
+ import Groq from 'groq-sdk';
2
+
3
+ export async function llama3(prompt: string, API_KEY?: string): Promise<string> {
4
+
5
+ try {
6
+ const groq = new Groq({
7
+ apiKey: API_KEY || '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',
8
+ });
9
+
10
+ const chatCompletion = await groq.chat.completions.create({
11
+ messages: [{ role: 'user', content: prompt }],
12
+ model: 'llama3-8b-8192',
13
+ max_tokens: 8192
14
+ });
15
+ const response = chatCompletion.choices[0]?.message?.content || 'Rate limit'
16
+
17
+ return response;
18
+ } catch (err: any) {
19
+ if (err instanceof Groq.APIError) {
20
+ if (err.status === 400) {
21
+ return 'Bad request try again after a minute please.'
22
+ } else if (err.status === 429) {
23
+ return 'Rate limit try again after one minute or provide your own api-key.'
24
+ } else if (err.status === 401 || !err.status) {
25
+ throw new Error('Invalid Api-Key provided.')
26
+ } else {
27
+ console.error(err)
28
+ return "unknown error occurred."
29
+ }
30
+ } else {
31
+ console.error(err)
32
+ return "unknown error occurred."
33
+ }
34
+ }
35
+ }
@@ -17,12 +17,29 @@ export async function mixtral({ API_KEY, prompt }: aiOptions): Promise<string> {
17
17
  return response.data.message;
18
18
  } catch (e: any) {
19
19
  if (e.response && e.response.data.message === 'Invalid API key.') {
20
- const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/mixtral`, { prompt }, {
21
- headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
22
- });
23
- return defaultResponse.data.message;
20
+ try {
21
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/mixtral`, { prompt }, {
22
+ headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
23
+ });
24
+ return defaultResponse.data.message;
25
+ } catch (err) {
26
+ console.log(err);
27
+ return 'An error occurred while using the default API key.';
28
+ }
29
+ } else if (e.response && e.response.status === 500) {
30
+ try {
31
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/mixtral`, { prompt }, {
32
+ headers: { Authorization: `Bearer rsnai_lvIch9Z7apBHqfXYqOiXwzm7` },
33
+ });
34
+ return defaultResponse.data.message;
35
+ } catch (err) {
36
+ console.log(err);
37
+ return 'An error occurred while using the backup API key.';
38
+ }
24
39
  } else {
40
+ console.log(e);
25
41
  return 'The API is on cooldown for 50 seconds.';
26
42
  }
27
43
  }
28
44
  }
45
+
@@ -0,0 +1,35 @@
1
+ import Groq from 'groq-sdk';
2
+
3
+ export async function mixtral2(prompt: string, API_KEY?: string): Promise<string> {
4
+
5
+ try {
6
+ const groq = new Groq({
7
+ apiKey: API_KEY || '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',
8
+ });
9
+
10
+ const chatCompletion = await groq.chat.completions.create({
11
+ messages: [{ role: 'user', content: prompt }],
12
+ model: 'mixtral-8x7b-32768',
13
+ max_tokens: 8192
14
+ });
15
+ const response = chatCompletion.choices[0]?.message?.content || 'Rate limit'
16
+
17
+ return response;
18
+ } catch (err: any) {
19
+ if (err instanceof Groq.APIError) {
20
+ if (err.status === 400) {
21
+ return 'Bad request try again after a minute please.'
22
+ } else if (err.status === 429) {
23
+ return 'Rate limit try again after one minute or provide your own api-key.'
24
+ } else if (err.status === 401 || !err.status) {
25
+ throw new Error('Invalid Api-Key provided.')
26
+ } else {
27
+ console.error(err)
28
+ return "unknown error occurred."
29
+ }
30
+ } else {
31
+ console.error(err)
32
+ return "unknown error occurred."
33
+ }
34
+ }
35
+ }
@@ -17,11 +17,27 @@ export async function openChat({ API_KEY, prompt }: aiOptions): Promise<string>
17
17
  return response.data.message;
18
18
  } catch (e: any) {
19
19
  if (e.response && e.response.data.message === 'Invalid API key.') {
20
- const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/openchat`, { prompt }, {
21
- headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
22
- });
23
- return defaultResponse.data.message;
20
+ try {
21
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/openchat`, { prompt }, {
22
+ headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
23
+ });
24
+ return defaultResponse.data.message;
25
+ } catch (err) {
26
+ console.log(err);
27
+ return 'An error occurred while using the default API key.';
28
+ }
29
+ } else if (e.response && e.response.status === 500) {
30
+ try {
31
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/openchat`, { prompt }, {
32
+ headers: { Authorization: `Bearer rsnai_lvIch9Z7apBHqfXYqOiXwzm7` },
33
+ });
34
+ return defaultResponse.data.message;
35
+ } catch (err) {
36
+ console.log(err);
37
+ return 'An error occurred while using the backup API key.';
38
+ }
24
39
  } else {
40
+ console.log(e);
25
41
  return 'The API is on cooldown for 50 seconds.';
26
42
  }
27
43
  }
@@ -17,11 +17,27 @@ export async function v4({ API_KEY, prompt }: aiOptions): Promise<string> {
17
17
  return response.data.message;
18
18
  } catch (e: any) {
19
19
  if (e.response && e.response.data.message === 'Invalid API key.') {
20
- const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/gpt4`, { prompt }, {
21
- headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
22
- });
23
- return defaultResponse.data.message;
20
+ try {
21
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/gpt4`, { prompt }, {
22
+ headers: { Authorization: `Bearer rsnai_SbLbFcwdT2h2KoYet2LS0F34` },
23
+ });
24
+ return defaultResponse.data.message;
25
+ } catch (err) {
26
+ console.log(err);
27
+ return 'An error occurred while using the default API key.';
28
+ }
29
+ } else if (e.response && e.response.status === 500) {
30
+ try {
31
+ const defaultResponse = await axios.post(`https://api.rnilaweera.lk/api/v1/user/gpt4`, { prompt }, {
32
+ headers: { Authorization: `Bearer rsnai_lvIch9Z7apBHqfXYqOiXwzm7` },
33
+ });
34
+ return defaultResponse.data.message;
35
+ } catch (err) {
36
+ console.log(err);
37
+ return 'An error occurred while using the backup API key.';
38
+ }
24
39
  } else {
40
+ console.log(e);
25
41
  return 'The API is on cooldown for 50 seconds.';
26
42
  }
27
43
  }