import argparse
import os

from openai import OpenAI

parser = argparse.ArgumentParser(description="Upload Batches")

parser.add_argument("--batch", type=str, required=True, help="Input file path")

args = parser.parse_args()
os.environ["OPENAI_API_KEY"] = (
    "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"
)

client = OpenAI()

file = client.files.create(
    # file=open(f"batchapi/batches/failed_1/{args.batch}.jsonl", "rb"),
    file=open(f"batchapi/batches/{args.batch}.jsonl", "rb"),
    purpose="batch",
)

print("File ID:", file.id)
with open(f"batchapi/jobs/jobs_1/file_id_{args.batch}", "w") as f:
    f.write(file.id)

batch = client.batches.create(
    input_file_id=file.id, endpoint="/v1/responses", completion_window="24h"
)

print("Batch ID:", batch.id)
with open(f"batchapi/jobs/jobs_1/batch_id_{args.batch}", "w") as f:
    f.write(batch.id)
