generaltranslation 1.1.20 → 1.1.22

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.
package/README.md CHANGED
@@ -102,7 +102,7 @@ const gt = new GT({
102
102
  });
103
103
  ```
104
104
 
105
- ### async getPrompt(prompt, code)
105
+ ### async getPrompt(prompt, language)
106
106
 
107
107
  Translates prompt into the language represented by an ISO-639 language code. Designed for translating prompts into other languages, to internationalize responses from AI models.
108
108
 
package/index.js CHANGED
@@ -4,8 +4,8 @@
4
4
  // ----- IMPORTS ----- //
5
5
 
6
6
  const { _getLanguageName, _getLanguageCode } = require('./codes/codes.js');
7
- const { _getModelList, _getModelInfo, _getModelLanguages, _isLanguageSupported, _getModelsByDeveloper, _getModelsByLanguage, } = require('./models/models.js');
8
- const { _translate } = require('./translate/translate.js');
7
+ const { _getModelList, _getModelInfo, _getAllModelInfo, _getModelLanguages, _isLanguageSupported, _getModelsByDeveloper, _getModelsByLanguage, } = require('./models/models.js');
8
+ const { _translatePrompt } = require('./prompts/translate.js');
9
9
 
10
10
  // ----- CORE CLASS ----- //
11
11
 
@@ -13,10 +13,12 @@ class GT {
13
13
 
14
14
  constructor({
15
15
  apiKey = '',
16
- defaultLanguage = 'en'
16
+ defaultLanguage = 'en',
17
+ baseURL = 'https://translate.gtx.dev'
17
18
  } = {}) {
18
19
  this.apiKey = apiKey;
19
20
  this.defaultLanguage = defaultLanguage;
21
+ this.baseURL = baseURL;
20
22
  }
21
23
 
22
24
  // Language code functions
@@ -26,20 +28,19 @@ class GT {
26
28
  // Model information functions
27
29
  getModelList = _getModelList; // returns array of supported model names
28
30
  getModelInfo = _getModelInfo; // returns model object
31
+ getAllModelInfo = _getAllModelInfo; // returns all info on all models
29
32
  getModelLanguages = _getModelLanguages; // e.g. 'mistral-7b' => ['en']
30
33
  isLanguageSupported = _isLanguageSupported; // e.g. ('mistral-7b', 'en') => true
31
34
  getModelsByLanguage = _getModelsByLanguage; // returns array of model names
32
35
  getModelsByDeveloper = _getModelsByDeveloper; // returns array of model names
33
36
 
34
- // Prompt internationalization
35
- getPrompt = async (prompt, code) => {
36
- return await _translate(prompt, code, this.defaultLanguage, this.apiKey);
37
+ // Prompt I18N
38
+ getPrompt = async (prompt, language) => {
39
+ return await _translatePrompt({
40
+ content: prompt, language: language, context: this
41
+ });
37
42
  }
38
- // Translation (same as prompt internationalization)
39
- translate = async (content, code) => {
40
- return await _translate(content, code, this.defaultLanguage, this.apiKey);
41
- }
42
-
43
+
43
44
  }
44
45
 
45
46
  // ----- EXPORTS ----- //
@@ -49,6 +50,7 @@ module.exports.getLanguageCode = _getLanguageCode;
49
50
  module.exports.getLanguageName = _getLanguageName;
50
51
  module.exports.getModelList = _getModelList;
51
52
  module.exports.getModelInfo = _getModelInfo;
53
+ module.exports.getAllModelInfo = _getAllModelInfo;
52
54
  module.exports.getModelLanguages = _getModelLanguages;
53
55
  module.exports.isLanguageSupported = _isLanguageSupported;
54
56
  module.exports.getModelsByDeveloper = _getModelsByDeveloper;
package/models/models.js CHANGED
@@ -1,5 +1,16 @@
1
1
  // ----- MODEL INFORMATION ----- //
2
2
 
3
+ // Get all info on all models
4
+ const _getAllModelInfo = async () => {
5
+ try {
6
+ const result = await fetch(`https://models.gtx.dev/all`);
7
+ return await result.json();
8
+ } catch (error) {
9
+ console.error(error)
10
+ return null;
11
+ }
12
+ }
13
+
3
14
  // Get all models by a given developer
4
15
  // Returns an empty array if none
5
16
  const _getModelsByDeveloper = async developer => {
@@ -74,10 +85,11 @@ const _isLanguageSupported = async (model, code) => {
74
85
  }
75
86
 
76
87
  module.exports = {
77
- _getModelsByDeveloper,
78
- _getModelsByLanguage,
79
88
  _getModelList,
80
89
  _getModelInfo,
81
90
  _getModelLanguages,
82
- _isLanguageSupported
91
+ _isLanguageSupported,
92
+ _getModelsByDeveloper,
93
+ _getModelsByLanguage,
94
+ _getAllModelInfo
83
95
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "generaltranslation",
3
- "version": "1.1.20",
3
+ "version": "1.1.22",
4
4
  "description": "A language toolkit for AI developers",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -5,7 +5,7 @@ const _shouldTranslate = item => typeof item?.translate === 'boolean' ? item.tra
5
5
 
6
6
  // Pre-processes content to send to the API
7
7
  // Separates out text that shouldn't be translated.
8
- const _processContent = (content) => {
8
+ const _processContent = ({ content }) => {
9
9
  const processed = [];
10
10
  const untranslated = [];
11
11
  if (Array.isArray(content)) {
@@ -64,16 +64,24 @@ const _constructContent = ({ content, untranslated = null}) => {
64
64
 
65
65
  // Get a translation via General Translation API
66
66
  // Returns string
67
- const _translate = async (content, code, defaultLanguage, apiKey) => {
67
+ const _translatePrompt = async ({
68
+ content, language, context
69
+ }) => {
70
+
71
+ const apiKey = context?.apiKey;
68
72
  if (!apiKey) {
69
73
  throw new Error('Missing API Key!')
70
- }
71
- if (code === defaultLanguage) {
74
+ };
75
+
76
+ const defaultLanguage = context?.defaultLanguage;
77
+ if (language === defaultLanguage) {
72
78
  return _constructContent({ content: content });
73
- }
74
- const { processed, untranslated } = _processContent(content);
79
+ };
80
+
81
+ const { processed, untranslated } = _processContent({ content });
82
+
75
83
  try {
76
- const response = await fetch('http://translate.gtx.dev', {
84
+ const response = await fetch(`${context?.baseURL}/prompt`, {
77
85
  method: 'POST',
78
86
  headers: {
79
87
  'Content-Type': 'application/json',
@@ -81,7 +89,7 @@ const _translate = async (content, code, defaultLanguage, apiKey) => {
81
89
  },
82
90
  body: JSON.stringify({
83
91
  content: processed,
84
- targetLanguage: code,
92
+ targetLanguage: language,
85
93
  defaultLanguage: defaultLanguage
86
94
  })
87
95
  })
@@ -96,8 +104,9 @@ const _translate = async (content, code, defaultLanguage, apiKey) => {
96
104
  console.error(error)
97
105
  return _constructContent({ content: content })
98
106
  }
107
+
99
108
  }
100
109
 
101
110
  module.exports = {
102
- _translate
111
+ _translatePrompt
103
112
  }