UNPKG

anylang

Version:

A translator's kit that uses the free APIs of Google Translate, Yandex, Bing, ChatGPT, and other LLMs

40 lines (38 loc) 5.97 kB
import { LLMTranslator, } from '../LLMTranslator'; import { GeminiLLMFetcher } from './GeminiLLMFetcher'; export class GeminiLLMTranslator extends LLMTranslator { constructor(config) { var _a, _b, _c, _d; const llm = new GeminiLLMFetcher({ apiKey: config.apiKey, model: config.model, apiOrigin: config.apiOrigin, }); super(llm, { getPrompt: config.getPrompt, retryOptions: { retryLimit: (_a = config.retryOptions) === null || _a === void 0 ? void 0 : _a.retryLimit, retryTimeout: (_b = config.retryOptions) === null || _b === void 0 ? void 0 : _b.retryTimeout, maxRetryTimeout: (_c = config.retryOptions) === null || _c === void 0 ? void 0 : _c.maxRetryTimeout, retryBackoffFactor: (_d = config.retryOptions) === null || _d === void 0 ? void 0 : _d.retryBackoffFactor, }, }); } } GeminiLLMTranslator.translatorName = 'GeminiLLMTranslator'; GeminiLLMTranslator.isRequiredKey = () => true; GeminiLLMTranslator.isSupportedAutoFrom = () => true; // source: https://ai.google.dev/gemini-api/docs/models#supported-languages GeminiLLMTranslator.getSupportedLanguages = () => { // eslint-disable // prettier-ignore return [ "ar", "bn", "bg", "zh", "hr", "cs", "da", "nl", "en", "et", "fa", "fi", "fr", "de", "el", "gu", "he", "hi", "hu", "id", "it", "ja", "kn", "ko", "lv", "lt", "ml", "mr", "no", "pl", "pt", "ro", "ru", "sr", "sk", "sl", "es", "sw", "sv", "ta", "te", "th", "tr", "uk", "ur", "vi" ]; // eslint-enable }; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyYW5zbGF0b3JzL0xMTVRyYW5zbGF0b3JzL0dlbWluaUxMTVRyYW5zbGF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLGFBQWEsR0FHYixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBR3JELFlBQVksTUFNWDs7UUFDQSxNQUFNLEdBQUcsR0FBRyxJQUFJLGdCQUFnQixDQUFDO1lBQ2hDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtZQUNyQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1NBQzNCLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDVixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsWUFBWSxFQUFFO2dCQUNiLFVBQVUsRUFBRSxNQUFBLE1BQU0sQ0FBQyxZQUFZLDBDQUFFLFVBQVU7Z0JBQzNDLFlBQVksRUFBRSxNQUFBLE1BQU0sQ0FBQyxZQUFZLDBDQUFFLFlBQVk7Z0JBQy9DLGVBQWUsRUFBRSxNQUFBLE1BQU0sQ0FBQyxZQUFZLDBDQUFFLGVBQWU7Z0JBQ3JELGtCQUFrQixFQUFFLE1BQUEsTUFBTSxDQUFDLFlBQVksMENBQUUsa0JBQWtCO2FBQzNEO1NBQ0QsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7QUF2QnNCLGtDQUFjLEdBQVcscUJBQXFCLENBQUM7QUF5QnhELGlDQUFhLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO0FBQzNCLHVDQUFtQixHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztBQUUvQywyRUFBMkU7QUFDN0QseUNBQXFCLEdBQUcsR0FBYSxFQUFFO0lBQ3BELGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsT0FBTztRQUNOLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSTtRQUNwRCxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJO1FBQzFELElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUk7UUFDMUQsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSTtRQUMxRCxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJO0tBQ3hDLENBQUM7SUFDRixnQkFBZ0I7QUFDakIsQ0FBQyxDQUFDIiwiZmlsZSI6InRyYW5zbGF0b3JzL0xMTVRyYW5zbGF0b3JzL0dlbWluaUxMTVRyYW5zbGF0b3IvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRMTE1UcmFuc2xhdG9yLFxuXHRMTE1UcmFuc2xhdG9yUmV0cnlPcHRpb25zLFxuXHRQcm9tcHRHZW5lcmF0b3IsXG59IGZyb20gJy4uL0xMTVRyYW5zbGF0b3InO1xuaW1wb3J0IHsgR2VtaW5pTExNRmV0Y2hlciB9IGZyb20gJy4vR2VtaW5pTExNRmV0Y2hlcic7XG5cbmV4cG9ydCBjbGFzcyBHZW1pbmlMTE1UcmFuc2xhdG9yIGV4dGVuZHMgTExNVHJhbnNsYXRvciB7XG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgdHJhbnNsYXRvck5hbWU6IHN0cmluZyA9ICdHZW1pbmlMTE1UcmFuc2xhdG9yJztcblxuXHRjb25zdHJ1Y3Rvcihjb25maWc6IHtcblx0XHRhcGlLZXk6IHN0cmluZztcblx0XHRtb2RlbD86IHN0cmluZztcblx0XHRnZXRQcm9tcHQ/OiBQcm9tcHRHZW5lcmF0b3I7XG5cdFx0YXBpT3JpZ2luPzogc3RyaW5nO1xuXHRcdHJldHJ5T3B0aW9ucz86IExMTVRyYW5zbGF0b3JSZXRyeU9wdGlvbnM7XG5cdH0pIHtcblx0XHRjb25zdCBsbG0gPSBuZXcgR2VtaW5pTExNRmV0Y2hlcih7XG5cdFx0XHRhcGlLZXk6IGNvbmZpZy5hcGlLZXksXG5cdFx0XHRtb2RlbDogY29uZmlnLm1vZGVsLFxuXHRcdFx0YXBpT3JpZ2luOiBjb25maWcuYXBpT3JpZ2luLFxuXHRcdH0pO1xuXHRcdHN1cGVyKGxsbSwge1xuXHRcdFx0Z2V0UHJvbXB0OiBjb25maWcuZ2V0UHJvbXB0LFxuXHRcdFx0cmV0cnlPcHRpb25zOiB7XG5cdFx0XHRcdHJldHJ5TGltaXQ6IGNvbmZpZy5yZXRyeU9wdGlvbnM/LnJldHJ5TGltaXQsXG5cdFx0XHRcdHJldHJ5VGltZW91dDogY29uZmlnLnJldHJ5T3B0aW9ucz8ucmV0cnlUaW1lb3V0LFxuXHRcdFx0XHRtYXhSZXRyeVRpbWVvdXQ6IGNvbmZpZy5yZXRyeU9wdGlvbnM/Lm1heFJldHJ5VGltZW91dCxcblx0XHRcdFx0cmV0cnlCYWNrb2ZmRmFjdG9yOiBjb25maWcucmV0cnlPcHRpb25zPy5yZXRyeUJhY2tvZmZGYWN0b3IsXG5cdFx0XHR9LFxuXHRcdH0pO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBpc1JlcXVpcmVkS2V5ID0gKCkgPT4gdHJ1ZTtcblx0cHVibGljIHN0YXRpYyBpc1N1cHBvcnRlZEF1dG9Gcm9tID0gKCkgPT4gdHJ1ZTtcblxuXHQvLyBzb3VyY2U6IGh0dHBzOi8vYWkuZ29vZ2xlLmRldi9nZW1pbmktYXBpL2RvY3MvbW9kZWxzI3N1cHBvcnRlZC1sYW5ndWFnZXNcblx0cHVibGljIHN0YXRpYyBnZXRTdXBwb3J0ZWRMYW5ndWFnZXMgPSAoKTogc3RyaW5nW10gPT4ge1xuXHRcdC8vIGVzbGludC1kaXNhYmxlXG5cdFx0Ly8gcHJldHRpZXItaWdub3JlXG5cdFx0cmV0dXJuIFtcblx0XHRcdFwiYXJcIiwgXCJiblwiLCBcImJnXCIsIFwiemhcIiwgXCJoclwiLCBcImNzXCIsIFwiZGFcIiwgXCJubFwiLCBcImVuXCIsXG5cdFx0XHRcImV0XCIsIFwiZmFcIiwgXCJmaVwiLCBcImZyXCIsIFwiZGVcIiwgXCJlbFwiLCBcImd1XCIsIFwiaGVcIiwgXCJoaVwiLCBcImh1XCIsXG5cdFx0XHRcImlkXCIsIFwiaXRcIiwgXCJqYVwiLCBcImtuXCIsIFwia29cIiwgXCJsdlwiLCBcImx0XCIsIFwibWxcIiwgXCJtclwiLCBcIm5vXCIsXG5cdFx0XHRcInBsXCIsIFwicHRcIiwgXCJyb1wiLCBcInJ1XCIsIFwic3JcIiwgXCJza1wiLCBcInNsXCIsIFwiZXNcIiwgXCJzd1wiLCBcInN2XCIsXG5cdFx0XHRcInRhXCIsIFwidGVcIiwgXCJ0aFwiLCBcInRyXCIsIFwidWtcIiwgXCJ1clwiLCBcInZpXCJcblx0XHRdO1xuXHRcdC8vIGVzbGludC1lbmFibGVcblx0fTtcbn1cbiJdfQ==