Trainer_LLM/scripts/import_folder_txt.py

62 lines
1.7 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import sys
import subprocess
from tqdm import tqdm
def main():
import argparse
parser = argparse.ArgumentParser(
description="Importiert alle .txt-Dateien in einer Kategorie mittels import_single_file.py"
)
parser.add_argument(
"category",
help="Name der Kategorie (Ordner unter ~/knowledge/)"
)
parser.add_argument(
"--topic", "-t",
help="Optionaler Kontext/Topic für alle Importe",
default="default"
)
parser.add_argument(
"--script-path", "-s",
help="Pfad zum import_single_file.py",
default="import_single_file.py"
)
args = parser.parse_args()
category = args.category
topic = args.topic
script_path = args.script_path
base_dir = os.path.expanduser(f"~/knowledge/{category}")
if not os.path.isdir(base_dir):
print(f"❌ Kategorie-Ordner nicht gefunden: {base_dir}")
sys.exit(1)
files = [f for f in os.listdir(base_dir) if f.endswith(".txt")]
if not files:
print(f"⚠️ Keine .txt-Dateien in {base_dir} gefunden.")
sys.exit(0)
print(f"📁 Starte Ordner-Import: {len(files)} Dateien in Kategorie '{category}' (Topic: '{topic}')")
for filename in tqdm(files, desc="Importiere Dateien"):
cmd = [
sys.executable,
script_path,
category,
filename,
topic
]
try:
subprocess.run(cmd, check=True)
except subprocess.CalledProcessError as e:
print(f"❌ Fehler beim Import von {filename}: {e}")
print("✅ Ordner-Import abgeschlossen.")
if __name__ == "__main__":
main()