UNPKG

i18n-ai-translate

Version:

Use LLMs to translate your i18n JSON to any language.

52 lines (44 loc) 1.43 kB
import type { ChatRequest } from "ollama"; import type { ChatSession, StartChatParams } from "@google/generative-ai"; import type { MessageCreateParams } from "@anthropic-ai/sdk/resources"; import type OpenAI from "openai"; import type PromptMode from "./enums/prompt_mode"; export type Chat = ChatSession | OpenAI.Completion; export type ChatParams = | StartChatParams | OpenAI.ChatCompletionCreateParamsNonStreaming | ChatRequest | MessageCreateParams; export type Model = | "gemini-pro" | OpenAI.ChatCompletionCreateParamsNonStreaming["model"] | string; export type ModelArgs = { model: Model; chatParams: ChatParams; rateLimitMs: number; apiKey: string | undefined; host: string | undefined; promptMode: PromptMode; batchSize: number; batchMaxTokens: number; }; export type GenerateStateCSV = { fixedTranslationMappings: { [input: string]: string }; translationToRetryAttempts: { [translation: string]: number }; inputLineToTemplatedString: { [index: number]: Array<string> }; splitInput: Array<string>; generationRetries: number; }; export type TranslationStats = { translate: TranslationStatsItem; verify: TranslationStatsItem; }; export type TranslationStatsItem = { batchStartTime: number; processedItems: number; processedTokens: number; enqueuedItems: number; totalItems: number; totalTokens: number; };