from openai import OpenAI import argparse import os from dotenv import load_dotenv from tqdm import tqdm def translate_text(text, client, model_name, temp): messages = [ {"role": "system", "content": "User will provide some text. You need to translate the text into English and output it WITHOUT ANY ADDITIONAL INFORMATION OR EXPLANATION."}, {"role": "user", "content": text}, ] response = client.chat.completions.create( model=model_name, messages=messages, temperature=temp, ) return response.choices[0].message.content load_dotenv() parser = argparse.ArgumentParser() parser.add_argument("input", type=str, help="Path to the input file") parser.add_argument("output", type=str, help="Path to the output file") args = parser.parse_args() input_file = args.input output_file = args.output client = OpenAI( api_key=os.getenv("API_KEY"), base_url=os.getenv("BASE_URL"), ) model = os.getenv("TRANSLATION_MODEL") temp = float(os.getenv("TRANSLATION_TEMP")) with open(input_file, "r") as f: src_lines = f.readlines() for line in tqdm(src_lines): result = translate_text(line, client, model, temp) with open(output_file, 'a') as f: f.write(result + '\n')