--- license: mit --- ```python from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline import os # خطوة تشخيصية: دعنا نرى محتويات المجلد للتأكد main_output_dir = "/content/gpt2-openhermes-finetuned-tpu" print(f"محتويات المجلد '{main_output_dir}':") # قد يكون المجلد فارغًا أو يحتوي فقط على مجلدات الـ checkpoints # وهذا سيؤكد سبب المشكلة !ls -l {main_output_dir} # تحديد مسار نقطة التفتيش التي تريد اختبارها checkpoint_path = "/content/gpt2-openhermes-finetuned-tpu/checkpoint-4000" # اسم النموذج الأصلي الذي تم التدريب عليه base_model_name = "gpt2" # 1. تحميل النموذج من نقطة التفتيش المحلية print(f"\nتحميل النموذج من: {checkpoint_path}") finetuned_model = AutoModelForCausalLM.from_pretrained(checkpoint_path) # 2. تحميل المُرمِّز من المصدر الأصلي على Hugging Face Hub # <--- هذا هو الحل النهائي الذي يتجاوز مشكلة الملفات المفقودة print(f"تحميل المُرمِّز الأصلي من: '{base_model_name}'") finetuned_tokenizer = AutoTokenizer.from_pretrained(base_model_name) # GPT-2 لا يملك pad_token افتراضيًا، لذلك يجب تعيينه # هذه خطوة ضرورية جدًا لتجنب الأخطاء والتحذيرات أثناء التوليد if finetuned_tokenizer.pad_token is None: finetuned_tokenizer.pad_token = finetuned_tokenizer.eos_token # نقوم بتحديث إعدادات النموذج أيضًا finetuned_model.config.pad_token_id = finetuned_model.config.eos_token_id # إعداد pipeline لتوليد النصوص generator = pipeline( "text-generation", model=finetuned_model, tokenizer=finetuned_tokenizer, device=-1 # استخدام CPU للاختبار ) # قائمة بالأسئلة questions = [ "What is the capital of Egypt and what is it famous for", "How does a computer work", ] # اختبار النموذج على الأسئلة print("\n--- اختبار النموذج من Checkpoint-4000 ---") for prompt in questions: result = generator( prompt, max_new_tokens=150, do_sample=True, temperature=0.7, top_p=0.9, top_k=50, pad_token_id=finetuned_tokenizer.eos_token_id # ممارسة جيدة لتمرير هذا ) print(f"\nالسؤال: {prompt}") print(f"إجابة النموذج:\n{result[0]['generated_text']}") ```