From 708399b459672bd80c08acaff30f2e6a0a2a2a72 Mon Sep 17 00:00:00 2001 From: Ahmed Almaghz <53489256+AhmedAlmaghz@users.noreply.github.com> Date: Tue, 10 Dec 2024 23:05:56 +0300 Subject: [PATCH 1/4] Delete docs/source/ar directory To Translate Files Into Arabic --- docs/source/ar/_config.py | 14 - docs/source/ar/_toctree.yml | 898 -------------------- docs/source/ar/accelerate.md | 120 --- docs/source/ar/agents.md | 539 ------------ docs/source/ar/attention.md | 25 - docs/source/ar/autoclass_tutorial.md | 167 ---- docs/source/ar/benchmarks.md | 352 -------- docs/source/ar/bertology.md | 18 - docs/source/ar/chat_templating.md | 835 ------------------ docs/source/ar/community.md | 66 -- docs/source/ar/conversations.md | 204 ----- docs/source/ar/create_a_model.md | 436 ---------- docs/source/ar/custom_models.md | 323 ------- docs/source/ar/fast_tokenizers.md | 51 -- docs/source/ar/gguf.md | 89 -- docs/source/ar/glossary.md | 446 ---------- docs/source/ar/how_to_hack_models.md | 163 ---- docs/source/ar/index.md | 342 -------- docs/source/ar/installation.md | 246 ------ docs/source/ar/llm_tutorial.md | 248 ------ docs/source/ar/llm_tutorial_optimization.md | 795 ----------------- docs/source/ar/model_memory_anatomy.md | 226 ----- docs/source/ar/model_sharing.md | 223 ----- docs/source/ar/model_summary.md | 89 -- docs/source/ar/modular_transformers.md | 184 ---- docs/source/ar/multilingual.md | 160 ---- docs/source/ar/notebooks.md | 141 --- docs/source/ar/pad_truncation.md | 52 -- docs/source/ar/peft.md | 250 ------ docs/source/ar/perplexity.md | 94 -- docs/source/ar/philosophy.md | 49 -- docs/source/ar/pipeline_tutorial.md | 315 ------- docs/source/ar/pipeline_webserver.md | 126 --- docs/source/ar/preprocessing.md | 521 ------------ docs/source/ar/quicktour.md | 543 ------------ docs/source/ar/run_scripts.md | 351 -------- docs/source/ar/sagemaker.md | 8 - docs/source/ar/serialization.md | 170 ---- docs/source/ar/task_summary.md | 323 ------- docs/source/ar/tasks_explained.md | 279 ------ docs/source/ar/tflite.md | 40 - docs/source/ar/tiktoken.md | 41 - docs/source/ar/tokenizer_summary.md | 198 ----- docs/source/ar/torchscript.md | 154 ---- docs/source/ar/trainer.md | 720 ---------------- docs/source/ar/training.md | 412 --------- docs/source/ar/troubleshooting.md | 171 ---- 47 files changed, 12217 deletions(-) delete mode 100644 docs/source/ar/_config.py delete mode 100644 docs/source/ar/_toctree.yml delete mode 100644 docs/source/ar/accelerate.md delete mode 100644 docs/source/ar/agents.md delete mode 100644 docs/source/ar/attention.md delete mode 100644 docs/source/ar/autoclass_tutorial.md delete mode 100644 docs/source/ar/benchmarks.md delete mode 100644 docs/source/ar/bertology.md delete mode 100644 docs/source/ar/chat_templating.md delete mode 100644 docs/source/ar/community.md delete mode 100644 docs/source/ar/conversations.md delete mode 100644 docs/source/ar/create_a_model.md delete mode 100644 docs/source/ar/custom_models.md delete mode 100644 docs/source/ar/fast_tokenizers.md delete mode 100644 docs/source/ar/gguf.md delete mode 100644 docs/source/ar/glossary.md delete mode 100644 docs/source/ar/how_to_hack_models.md delete mode 100644 docs/source/ar/index.md delete mode 100644 docs/source/ar/installation.md delete mode 100644 docs/source/ar/llm_tutorial.md delete mode 100644 docs/source/ar/llm_tutorial_optimization.md delete mode 100644 docs/source/ar/model_memory_anatomy.md delete mode 100644 docs/source/ar/model_sharing.md delete mode 100644 docs/source/ar/model_summary.md delete mode 100644 docs/source/ar/modular_transformers.md delete mode 100644 docs/source/ar/multilingual.md delete mode 100644 docs/source/ar/notebooks.md delete mode 100644 docs/source/ar/pad_truncation.md delete mode 100644 docs/source/ar/peft.md delete mode 100644 docs/source/ar/perplexity.md delete mode 100644 docs/source/ar/philosophy.md delete mode 100644 docs/source/ar/pipeline_tutorial.md delete mode 100644 docs/source/ar/pipeline_webserver.md delete mode 100644 docs/source/ar/preprocessing.md delete mode 100644 docs/source/ar/quicktour.md delete mode 100644 docs/source/ar/run_scripts.md delete mode 100644 docs/source/ar/sagemaker.md delete mode 100644 docs/source/ar/serialization.md delete mode 100644 docs/source/ar/task_summary.md delete mode 100644 docs/source/ar/tasks_explained.md delete mode 100644 docs/source/ar/tflite.md delete mode 100644 docs/source/ar/tiktoken.md delete mode 100644 docs/source/ar/tokenizer_summary.md delete mode 100644 docs/source/ar/torchscript.md delete mode 100644 docs/source/ar/trainer.md delete mode 100644 docs/source/ar/training.md delete mode 100644 docs/source/ar/troubleshooting.md diff --git a/docs/source/ar/_config.py b/docs/source/ar/_config.py deleted file mode 100644 index f49e4e4731965a..00000000000000 --- a/docs/source/ar/_config.py +++ /dev/null @@ -1,14 +0,0 @@ -# docstyle-ignore -INSTALL_CONTENT = """ -# Transformers installation -! pip install transformers datasets evaluate accelerate -# To install from source instead of the last release, comment the command above and uncomment the following one. -# ! pip install git+https://github.com/huggingface/transformers.git -""" - -notebook_first_cells = [{"type": "code", "content": INSTALL_CONTENT}] -black_avoid_patterns = { - "{processor_class}": "FakeProcessorClass", - "{model_class}": "FakeModelClass", - "{object_class}": "FakeObjectClass", -} diff --git a/docs/source/ar/_toctree.yml b/docs/source/ar/_toctree.yml deleted file mode 100644 index 138d3a1bd8aa08..00000000000000 --- a/docs/source/ar/_toctree.yml +++ /dev/null @@ -1,898 +0,0 @@ -- sections: - - local: index - title: 🤗 المحولات - - local: quicktour - title: جولة سريعة - - local: installation - title: التثبيت - title: البدء -- sections: - - local: pipeline_tutorial - title: تشغيل الاستنتاج باستخدام خطوط الأنابيب - - local: autoclass_tutorial - title: كتابة تعليمات برمجية متكيفه باستخدام AutoClass - - local: preprocessing - title: معالجة البيانات مسبقًا - - local: training - title: ضبط نموذج مسبق التدريب - - local: run_scripts - title: التدريب باستخدام نص برمجي - - local: accelerate - title: إعداد تدريب موزع باستخدام 🤗 Accelerate - - local: peft - title: تحميل النماذج المخصصة وتدريبها باستخدام 🤗 PEFT - - local: model_sharing - title: مشاركة نموذجك - - local: agents - title: الوكلاء - - local: llm_tutorial - title: التوليد باستخدام LLMs - - local: conversations - title: الدردشة مع المحولات - title: البرامج التعليمية -# - sections: -# - isExpanded: false -# sections: -# - local: tasks/sequence_classification -# title: تصنيف النصوص -# - local: tasks/token_classification -# title: تصنيف الرموز -# - local: tasks/question_answering -# title: الإجابة على الأسئلة -# - local: tasks/language_modeling -# title: نمذجة اللغة السببية -# - local: tasks/masked_language_modeling -# title: نمذجة اللغة المقنعة -# - local: tasks/translation -# title: الترجمة -# - local: tasks/summarization -# title: التلخيص -# - local: tasks/multiple_choice -# title: الاختيار المتعدد -# title: معالجة اللغات الطبيعية -# - isExpanded: false -# sections: -# - local: tasks/audio_classification -# title: تصنيف الصوت -# - local: tasks/asr -# title: التعرف التلقائي على الكلام -# title: الصوت -# - isExpanded: false -# sections: -# - local: tasks/image_classification -# title: تصنيف الصور -# - local: tasks/semantic_segmentation -# title: تجزئة الصور -# - local: tasks/video_classification -# title: تصنيف الفيديو -# - local: tasks/object_detection -# title: اكتشاف الأشياء -# - local: tasks/zero_shot_object_detection -# title: اكتشاف الأشياء بدون تدريب -# - local: tasks/zero_shot_image_classification -# title: تصنيف الصور بدون تدريب -# - local: tasks/monocular_depth_estimation -# title: تقدير العمق -# - local: tasks/image_to_image -# title: صورة إلى صورة -# - local: tasks/image_feature_extraction -# title: استخراج ميزات الصورة -# - local: tasks/mask_generation -# title: توليد القناع -# - local: tasks/knowledge_distillation_for_image_classification -# title: التقليل المعرفي للرؤية الحاسوبية -# title: الرؤية الحاسوبية -# - isExpanded: false -# sections: -# - local: tasks/image_captioning -# title: وصف الصور Image captioning -# - local: tasks/document_question_answering -# title: الإجابة على أسئلة المستندات -# - local: tasks/visual_question_answering -# title: الإجابة على الأسئلة المرئية -# - local: tasks/text-to-speech -# title: تحويل النص إلى كلام -# title: المتعددة الوسائط -# - isExpanded: false -# sections: -# - local: generation_strategies -# title: تخصيص استراتيجية التوليد -# - local: kv_cache -# title: أفضل الممارسات للتوليد باستخدام ذاكرة التخزين المؤقت -# title: التوليد -# - isExpanded: false -# sections: -# - local: tasks/idefics -# title: مهام الصور مع IDEFICS -# - local: tasks/prompting -# title: دليل إرشادي لمحفزات النماذج اللغوية الكبيرة -# title: الإرشاد -# title: أدلة المهام -- sections: - - local: fast_tokenizers - title: استخدم مجزئيات النصوص السريعة من 🤗 Tokenizers - - local: multilingual - title: الاستدلال باستخدام نماذج متعددة اللغات - - local: create_a_model - title: استخدام واجهات برمجة التطبيقات الخاصة بالنموذج - - local: custom_models - title: مشاركة نموذج مخصص - - local: chat_templating - title: قوالب لنماذج الدردشة - - local: trainer - title: المدرب - - local: sagemaker - title: تشغيل التدريب على Amazon SageMaker - - local: serialization - title: التصدير إلى ONNX - - local: tflite - title: التصدير إلى TFLite - - local: torchscript - title: التصدير إلى TorchScript - - local: benchmarks - title: المعايير - - local: notebooks - title: دفاتر الملاحظات مع الأمثلة - - local: community - title: موارد المجتمع - - local: troubleshooting - title: استكشاف الأخطاء وإصلاحها - - local: gguf - title: التوافق مع ملفات GGUF - - local: tiktoken - title: التوافق مع ملفات TikToken - - local: modular_transformers - title: الوحدات النمطية في `transformers` - - local: how_to_hack_models - title: اختراق النموذج (الكتابة فوق فئة لاستخدامك) - title: أدلة المطورين -# - sections: -# - local: quantization/overview -# title: نظرة عامة -# - local: quantization/bitsandbytes -# title: bitsandbytes -# - local: quantization/gptq -# title: GPTQ -# - local: quantization/awq -# title: AWQ -# - local: quantization/aqlm -# title: AQLM -# - local: quantization/quanto -# title: Quanto -# - local: quantization/eetq -# title: EETQ -# - local: quantization/hqq -# title: HQQ -# - local: quantization/optimum -# title: Optimum -# - local: quantization/contribute -# title: المساهمة بطريقة جديدة للتكميم -# title: أساليب التكميم -# - sections: -# - local: performance -# title: الأداء-نظرة عامة -# - local: llm_optims -# title: تحسين الاستدلال LLM -# - sections: -# - local: perf_train_gpu_one -# title: استخدام عدة وحدات معالجة رسوميات (GPUs) بشكل متوازٍ -# - local: perf_train_gpu_many -# title: وحدات معالجة الرسومات (GPU) متعددة والتوازي -# - local: fsdp -# title: Fully Sharded Data Parallel -# - local: deepspeed -# title: DeepSpeed -# - local: perf_train_cpu -# title: التدريب الفعال على وحدة المعالجة المركزية (CPU) -# - local: perf_train_cpu_many -# title: التدريب الموزع لوحدة المعالجة المركزية (CPU) -# - local: perf_train_tpu_tf -# title: التدريب على (TPU) باستخدام TensorFlow -# - local: perf_train_special -# title: تدريب PyTorch على Apple silicon -# - local: perf_hardware -# title: الأجهزة المخصصة للتدريب -# - local: hpo_train -# title: البحث عن المعاملات المثلى باستخدام واجهة برمجة تطبيقات المدرب -# title: تقنيات التدريب الفعال -# - sections: -# - local: perf_infer_cpu -# title: الإستدلال على وحدة المعالجة المركزية (CPU) -# - local: perf_infer_gpu_one -# title: الإستدلال على وحدة معالجة الرسومات (GPU) -# title: تحسين الاستدلال -# - local: big_models -# title: إنشاء نموذج كبير -# - local: debugging -# title: تصحيح الأخطاء البرمجية -# - local: tf_xla -# title: تكامل XLA لنماذج TensorFlow -# - local: perf_torch_compile -# title: تحسين الاستدلال باستخدام `torch.compile()` -# title: الأداء وقابلية التوسع -# - sections: -# - local: contributing -# title: كيفية المساهمة في 🤗 المحولات؟ -# - local: add_new_model -# title: كيفية إضافة نموذج إلى 🤗 المحولات؟ -# - local: add_new_pipeline -# title: كيفية إضافة خط أنابيب إلى 🤗 المحولات؟ -# - local: testing -# title: الاختبار -# - local: pr_checks -# title: التحقق من طلب السحب -# title: المساهمة -- sections: - - local: philosophy - title: الفلسفة - - local: glossary - title: (قاموس المصطلحات (قائمة الكلمات - - local: task_summary - title: ما الذي يمكن أن تفعله 🤗 المحولات - - local: tasks_explained - title: كيف تحل المحولات المهام - - local: model_summary - title: عائلة نماذج المحول - - local: tokenizer_summary - title: ملخص برنامج مقسم النصوص (tokenizers) - - local: attention - title: الانتباه Attention - - local: pad_truncation - title: الحشو والتقليم - - local: bertology - title: BERTology - - local: perplexity - title: حيرة النماذج ذات الطول الثابت - - local: pipeline_webserver - title: خطوط الأنابيب للاستدلال على خادم الويب - - local: model_memory_anatomy - title: تشريح تدريب النموذج - - local: llm_tutorial_optimization - title: الاستفادة القصوى من LLMs - title: أطر مفاهيمية -# - sections: -# - sections: -# - local: main_classes/agent -# title: الوكلاء والأدوات -# - local: model_doc/auto -# title: فئات يتم إنشاؤها ديناميكيًا -# - local: main_classes/backbones -# title: العمود الفقري -# - local: main_classes/callback -# title: عمليات الاسترجاع -# - local: main_classes/configuration -# title: التكوين -# - local: main_classes/data_collator -# title: مجمع البيانات -# - local: main_classes/keras_callbacks -# title: استدعاءات Keras -# - local: main_classes/logging -# title: التسجيل -# - local: main_classes/model -# title: النماذج -# - local: main_classes/text_generation -# title: توليد النصوص -# - local: main_classes/onnx -# title: ONNX -# - local: main_classes/optimizer_schedules -# title: التحسين -# - local: main_classes/output -# title: مخرجات النموذج -# - local: main_classes/pipelines -# title: خطوط الأنابيب -# - local: main_classes/processors -# title: المعالجات -# - local: main_classes/quantization -# title: التكميم -# - local: main_classes/tokenizer -# title: برنامج مقسم النصوص -# - local: main_classes/trainer -# title: المدرب -# - local: main_classes/deepspeed -# title: DeepSpeed -# - local: main_classes/feature_extractor -# title: مستخرج الميزات -# - local: main_classes/image_processor -# title: معالج الصور -# title: الفئات الرئيسية -# - sections: -# - isExpanded: false -# sections: -# - local: model_doc/albert -# title: ALBERT -# - local: model_doc/bart -# title: BART -# - local: model_doc/barthez -# title: BARThez -# - local: model_doc/bartpho -# title: BARTpho -# - local: model_doc/bert -# title: BERT -# - local: model_doc/bert-generation -# title: BertGeneration -# - local: model_doc/bert-japanese -# title: BertJapanese -# - local: model_doc/bertweet -# title: Bertweet -# - local: model_doc/big_bird -# title: BigBird -# - local: model_doc/bigbird_pegasus -# title: BigBirdPegasus -# - local: model_doc/biogpt -# title: BioGpt -# - local: model_doc/blenderbot -# title: Blenderbot -# - local: model_doc/blenderbot-small -# title: Blenderbot Small -# - local: model_doc/bloom -# title: BLOOM -# - local: model_doc/bort -# title: BORT -# - local: model_doc/byt5 -# title: ByT5 -# - local: model_doc/camembert -# title: CamemBERT -# - local: model_doc/canine -# title: CANINE -# - local: model_doc/codegen -# title: CodeGen -# - local: model_doc/code_llama -# title: CodeLlama -# - local: model_doc/cohere -# title: Cohere -# - local: model_doc/convbert -# title: ConvBERT -# - local: model_doc/cpm -# title: CPM -# - local: model_doc/cpmant -# title: CPMANT -# - local: model_doc/ctrl -# title: CTRL -# - local: model_doc/dbrx -# title: DBRX -# - local: model_doc/deberta -# title: DeBERTa -# - local: model_doc/deberta-v2 -# title: DeBERTa-v2 -# - local: model_doc/dialogpt -# title: DialoGPT -# - local: model_doc/distilbert -# title: DistilBERT -# - local: model_doc/dpr -# title: DPR -# - local: model_doc/electra -# title: ELECTRA -# - local: model_doc/encoder-decoder -# title: Encoder Decoder Models -# - local: model_doc/ernie -# title: ERNIE -# - local: model_doc/ernie_m -# title: ErnieM -# - local: model_doc/esm -# title: ESM -# - local: model_doc/falcon -# title: Falcon -# - local: model_doc/fastspeech2_conformer -# title: FastSpeech2Conformer -# - local: model_doc/flan-t5 -# title: FLAN-T5 -# - local: model_doc/flan-ul2 -# title: FLAN-UL2 -# - local: model_doc/flaubert -# title: FlauBERT -# - local: model_doc/fnet -# title: FNet -# - local: model_doc/fsmt -# title: FSMT -# - local: model_doc/funnel -# title: Funnel Transformer -# - local: model_doc/fuyu -# title: Fuyu -# - local: model_doc/gemma -# title: Gemma -# - local: model_doc/openai-gpt -# title: GPT -# - local: model_doc/gpt_neo -# title: GPT Neo -# - local: model_doc/gpt_neox -# title: GPT NeoX -# - local: model_doc/gpt_neox_japanese -# title: GPT NeoX Japanese -# - local: model_doc/gptj -# title: GPT-J -# - local: model_doc/gpt2 -# title: GPT2 -# - local: model_doc/gpt_bigcode -# title: GPTBigCode -# - local: model_doc/gptsan-japanese -# title: GPTSAN Japanese -# - local: model_doc/gpt-sw3 -# title: GPTSw3 -# - local: model_doc/herbert -# title: HerBERT -# - local: model_doc/ibert -# title: I-BERT -# - local: model_doc/jamba -# title: Jamba -# - local: model_doc/jetmoe -# title: JetMoe -# - local: model_doc/jukebox -# title: Jukebox -# - local: model_doc/led -# title: LED -# - local: model_doc/llama -# title: LLaMA -# - local: model_doc/llama2 -# title: Llama2 -# - local: model_doc/llama3 -# title: Llama3 -# - local: model_doc/longformer -# title: Longformer -# - local: model_doc/longt5 -# title: LongT5 -# - local: model_doc/luke -# title: LUKE -# - local: model_doc/m2m_100 -# title: M2M100 -# - local: model_doc/madlad-400 -# title: MADLAD-400 -# - local: model_doc/mamba -# title: Mamba -# - local: model_doc/marian -# title: MarianMT -# - local: model_doc/markuplm -# title: MarkupLM -# - local: model_doc/mbart -# title: MBart and MBart-50 -# - local: model_doc/mega -# title: MEGA -# - local: model_doc/megatron-bert -# title: MegatronBERT -# - local: model_doc/megatron_gpt2 -# title: MegatronGPT2 -# - local: model_doc/mistral -# title: Mistral -# - local: model_doc/mixtral -# title: Mixtral -# - local: model_doc/mluke -# title: mLUKE -# - local: model_doc/mobilebert -# title: MobileBERT -# - local: model_doc/mpnet -# title: MPNet -# - local: model_doc/mpt -# title: MPT -# - local: model_doc/mra -# title: MRA -# - local: model_doc/mt5 -# title: MT5 -# - local: model_doc/mvp -# title: MVP -# - local: model_doc/nezha -# title: NEZHA -# - local: model_doc/nllb -# title: NLLB -# - local: model_doc/nllb-moe -# title: NLLB-MoE -# - local: model_doc/nystromformer -# title: Nyströmformer -# - local: model_doc/olmo -# title: OLMo -# - local: model_doc/open-llama -# title: Open-Llama -# - local: model_doc/opt -# title: OPT -# - local: model_doc/pegasus -# title: Pegasus -# - local: model_doc/pegasus_x -# title: PEGASUS-X -# - local: model_doc/persimmon -# title: Persimmon -# - local: model_doc/phi -# title: Phi -# - local: model_doc/phi3 -# title: Phi-3 -# - local: model_doc/phobert -# title: PhoBERT -# - local: model_doc/plbart -# title: PLBart -# - local: model_doc/prophetnet -# title: ProphetNet -# - local: model_doc/qdqbert -# title: QDQBert -# - local: model_doc/qwen2 -# title: Qwen2 -# - local: model_doc/qwen2_moe -# title: Qwen2MoE -# - local: model_doc/rag -# title: RAG -# - local: model_doc/realm -# title: REALM -# - local: model_doc/recurrent_gemma -# title: RecurrentGemma -# - local: model_doc/reformer -# title: Reformer -# - local: model_doc/rembert -# title: RemBERT -# - local: model_doc/retribert -# title: RetriBERT -# - local: model_doc/roberta -# title: RoBERTa -# - local: model_doc/roberta-prelayernorm -# title: RoBERTa-PreLayerNorm -# - local: model_doc/roc_bert -# title: RoCBert -# - local: model_doc/roformer -# title: RoFormer -# - local: model_doc/rwkv -# title: RWKV -# - local: model_doc/splinter -# title: Splinter -# - local: model_doc/squeezebert -# title: SqueezeBERT -# - local: model_doc/stablelm -# title: StableLm -# - local: model_doc/starcoder2 -# title: Starcoder2 -# - local: model_doc/switch_transformers -# title: SwitchTransformers -# - local: model_doc/t5 -# title: T5 -# - local: model_doc/t5v1.1 -# title: T5v1.1 -# - local: model_doc/tapex -# title: TAPEX -# - local: model_doc/transfo-xl -# title: Transformer XL -# - local: model_doc/ul2 -# title: UL2 -# - local: model_doc/umt5 -# title: UMT5 -# - local: model_doc/xmod -# title: X-MOD -# - local: model_doc/xglm -# title: XGLM -# - local: model_doc/xlm -# title: XLM -# - local: model_doc/xlm-prophetnet -# title: XLM-ProphetNet -# - local: model_doc/xlm-roberta -# title: XLM-RoBERTa -# - local: model_doc/xlm-roberta-xl -# title: XLM-RoBERTa-XL -# - local: model_doc/xlm-v -# title: XLM-V -# - local: model_doc/xlnet -# title: XLNet -# - local: model_doc/yoso -# title: YOSO -# title: Text models -# - isExpanded: false -# sections: -# - local: model_doc/beit -# title: BEiT -# - local: model_doc/bit -# title: BiT -# - local: model_doc/conditional_detr -# title: Conditional DETR -# - local: model_doc/convnext -# title: ConvNeXT -# - local: model_doc/convnextv2 -# title: ConvNeXTV2 -# - local: model_doc/cvt -# title: CVT -# - local: model_doc/deformable_detr -# title: Deformable DETR -# - local: model_doc/deit -# title: DeiT -# - local: model_doc/depth_anything -# title: Depth Anything -# - local: model_doc/deta -# title: DETA -# - local: model_doc/detr -# title: DETR -# - local: model_doc/dinat -# title: DiNAT -# - local: model_doc/dinov2 -# title: DINOV2 -# - local: model_doc/dit -# title: DiT -# - local: model_doc/dpt -# title: DPT -# - local: model_doc/efficientformer -# title: EfficientFormer -# - local: model_doc/efficientnet -# title: EfficientNet -# - local: model_doc/focalnet -# title: FocalNet -# - local: model_doc/glpn -# title: GLPN -# - local: model_doc/imagegpt -# title: ImageGPT -# - local: model_doc/levit -# title: LeViT -# - local: model_doc/mask2former -# title: Mask2Former -# - local: model_doc/maskformer -# title: MaskFormer -# - local: model_doc/mobilenet_v1 -# title: MobileNetV1 -# - local: model_doc/mobilenet_v2 -# title: MobileNetV2 -# - local: model_doc/mobilevit -# title: MobileViT -# - local: model_doc/mobilevitv2 -# title: MobileViTV2 -# - local: model_doc/nat -# title: NAT -# - local: model_doc/poolformer -# title: PoolFormer -# - local: model_doc/pvt -# title: Pyramid Vision Transformer (PVT) -# - local: model_doc/pvt_v2 -# title: Pyramid Vision Transformer v2 (PVTv2) -# - local: model_doc/regnet -# title: RegNet -# - local: model_doc/resnet -# title: ResNet -# - local: model_doc/segformer -# title: SegFormer -# - local: model_doc/seggpt -# title: SegGpt -# - local: model_doc/superpoint -# title: SuperPoint -# - local: model_doc/swiftformer -# title: SwiftFormer -# - local: model_doc/swin -# title: Swin Transformer -# - local: model_doc/swinv2 -# title: Swin Transformer V2 -# - local: model_doc/swin2sr -# title: Swin2SR -# - local: model_doc/table-transformer -# title: Table Transformer -# - local: model_doc/upernet -# title: UperNet -# - local: model_doc/van -# title: VAN -# - local: model_doc/vit -# title: Vision Transformer (ViT) -# - local: model_doc/vit_hybrid -# title: ViT Hybrid -# - local: model_doc/vitdet -# title: ViTDet -# - local: model_doc/vit_mae -# title: ViTMAE -# - local: model_doc/vitmatte -# title: ViTMatte -# - local: model_doc/vit_msn -# title: ViTMSN -# - local: model_doc/yolos -# title: YOLOS -# title: Vision models -# - isExpanded: false -# sections: -# - local: model_doc/audio-spectrogram-transformer -# title: Audio Spectrogram Transformer -# - local: model_doc/bark -# title: Bark -# - local: model_doc/clap -# title: CLAP -# - local: model_doc/encodec -# title: EnCodec -# - local: model_doc/hubert -# title: Hubert -# - local: model_doc/mctct -# title: MCTCT -# - local: model_doc/mms -# title: MMS -# - local: model_doc/musicgen -# title: MusicGen -# - local: model_doc/musicgen_melody -# title: MusicGen Melody -# - local: model_doc/pop2piano -# title: Pop2Piano -# - local: model_doc/seamless_m4t -# title: Seamless-M4T -# - local: model_doc/seamless_m4t_v2 -# title: SeamlessM4T-v2 -# - local: model_doc/sew -# title: SEW -# - local: model_doc/sew-d -# title: SEW-D -# - local: model_doc/speech_to_text -# title: Speech2Text -# - local: model_doc/speech_to_text_2 -# title: Speech2Text2 -# - local: model_doc/speecht5 -# title: SpeechT5 -# - local: model_doc/unispeech -# title: UniSpeech -# - local: model_doc/unispeech-sat -# title: UniSpeech-SAT -# - local: model_doc/univnet -# title: UnivNet -# - local: model_doc/vits -# title: VITS -# - local: model_doc/wav2vec2 -# title: Wav2Vec2 -# - local: model_doc/wav2vec2-bert -# title: Wav2Vec2-BERT -# - local: model_doc/wav2vec2-conformer -# title: Wav2Vec2-Conformer -# - local: model_doc/wav2vec2_phoneme -# title: Wav2Vec2Phoneme -# - local: model_doc/wavlm -# title: WavLM -# - local: model_doc/whisper -# title: Whisper -# - local: model_doc/xls_r -# title: XLS-R -# - local: model_doc/xlsr_wav2vec2 -# title: XLSR-Wav2Vec2 -# title: Audio models -# - isExpanded: false -# sections: -# - local: model_doc/timesformer -# title: TimeSformer -# - local: model_doc/videomae -# title: VideoMAE -# - local: model_doc/vivit -# title: ViViT -# title: Video models -# - isExpanded: false -# sections: -# - local: model_doc/align -# title: ALIGN -# - local: model_doc/altclip -# title: AltCLIP -# - local: model_doc/blip -# title: BLIP -# - local: model_doc/blip-2 -# title: BLIP-2 -# - local: model_doc/bridgetower -# title: BridgeTower -# - local: model_doc/bros -# title: BROS -# - local: model_doc/chinese_clip -# title: Chinese-CLIP -# - local: model_doc/clip -# title: CLIP -# - local: model_doc/clipseg -# title: CLIPSeg -# - local: model_doc/clvp -# title: CLVP -# - local: model_doc/data2vec -# title: Data2Vec -# - local: model_doc/deplot -# title: DePlot -# - local: model_doc/donut -# title: Donut -# - local: model_doc/flava -# title: FLAVA -# - local: model_doc/git -# title: GIT -# - local: model_doc/grounding-dino -# title: Grounding DINO -# - local: model_doc/groupvit -# title: GroupViT -# - local: model_doc/idefics -# title: IDEFICS -# - local: model_doc/idefics2 -# title: Idefics2 -# - local: model_doc/instructblip -# title: InstructBLIP -# - local: model_doc/kosmos-2 -# title: KOSMOS-2 -# - local: model_doc/layoutlm -# title: LayoutLM -# - local: model_doc/layoutlmv2 -# title: LayoutLMV2 -# - local: model_doc/layoutlmv3 -# title: LayoutLMV3 -# - local: model_doc/layoutxlm -# title: LayoutXLM -# - local: model_doc/lilt -# title: LiLT -# - local: model_doc/llava -# title: Llava -# - local: model_doc/llava_next -# title: LLaVA-NeXT -# - local: model_doc/lxmert -# title: LXMERT -# - local: model_doc/matcha -# title: MatCha -# - local: model_doc/mgp-str -# title: MGP-STR -# - local: model_doc/nougat -# title: Nougat -# - local: model_doc/oneformer -# title: OneFormer -# - local: model_doc/owlvit -# title: OWL-ViT -# - local: model_doc/owlv2 -# title: OWLv2 -# - local: model_doc/paligemma -# title: PaliGemma -# - local: model_doc/perceiver -# title: Perceiver -# - local: model_doc/pix2struct -# title: Pix2Struct -# - local: model_doc/sam -# title: Segment Anything -# - local: model_doc/siglip -# title: SigLIP -# - local: model_doc/speech-encoder-decoder -# title: Speech Encoder Decoder Models -# - local: model_doc/tapas -# title: TAPAS -# - local: model_doc/trocr -# title: TrOCR -# - local: model_doc/tvlt -# title: TVLT -# - local: model_doc/tvp -# title: TVP -# - local: model_doc/udop -# title: UDOP -# - local: model_doc/video_llava -# title: VideoLlava -# - local: model_doc/vilt -# title: ViLT -# - local: model_doc/vipllava -# title: VipLlava -# - local: model_doc/vision-encoder-decoder -# title: Vision Encoder Decoder Models -# - local: model_doc/vision-text-dual-encoder -# title: Vision Text Dual Encoder -# - local: model_doc/visual_bert -# title: VisualBERT -# - local: model_doc/xclip -# title: X-CLIP -# title: Multimodal models -# - isExpanded: false -# sections: -# - local: model_doc/decision_transformer -# title: محول القرار -# - local: model_doc/trajectory_transformer -# title: محول المسار -# title: نماذج التعلم التعزيزية -# - isExpanded: false -# sections: -# - local: model_doc/autoformer -# title: Autoformer -# - local: model_doc/informer -# title: Informer -# - local: model_doc/patchtsmixer -# title: PatchTSMixer -# - local: model_doc/patchtst -# title: PatchTST -# - local: model_doc/time_series_transformer -# title: محول السلاسل الزمنية -# title: نماذج السلاسل الزمنية -# - isExpanded: false -# sections: -# - local: model_doc/graphormer -# title: Graphormer -# title: نماذج الرسم البياني -# title: النماذج -# - sections: -# - local: internal/modeling_utils -# title: الطبقات المخصصة والمرافق -# - local: internal/pipelines_utils -# title: مرافق خطوط الأنابيب -# - local: internal/tokenization_utils -# title: مرافق مقسم النصوص -# - local: internal/trainer_utils -# title: مرافق المدرب -# - local: internal/generation_utils -# title: مرافق التوليد -# - local: internal/image_processing_utils -# title: مرافق معالجة الصور -# - local: internal/audio_utils -# title: مرافق معالجة الصوت -# - local: internal/file_utils -# title: مرافق عامة -# - local: internal/time_series_utils -# title: مرافق السلاسل الزمنية -# title: مساعدون داخليون -# title: API diff --git a/docs/source/ar/accelerate.md b/docs/source/ar/accelerate.md deleted file mode 100644 index 486c1efe59af60..00000000000000 --- a/docs/source/ar/accelerate.md +++ /dev/null @@ -1,120 +0,0 @@ -# التدريب الموزع باستخدام 🤗 Accelerate - - -مع تزايد حجم النماذج اللغوية، برز التوازي كأحد الاستراتيجيات لتدريب نماذج أكبر على أجهزة محدودة وتسريع عملية التدريب بمقدار كبير. أنشأنا في Hugging Face، قمنا بإنشاء مكتبة [ Accelerate](https://huggingface.co/docs/accelerate) لمساعدة المستخدمين على تدريب أي نموذج من Transformers بسهولة على أي نوع من الإعدادات الموزعة، سواء كان ذلك على عدة وحدات معالجة رسومات (GPUs) على جهاز واحد أو على عدة وحدات معالجة رسومات موزعة على عدة أجهزة. في هذا الدليل، تعلم كيفية تخصيص حلقة تدريب PyTorch الأصلية لتمكين التدريب في بيئة موزعة. - -## الإعداد - -ابدأ بتثبيت 🤗 Accelerate: - -```bash -pip install accelerate -``` - -ثم قم باستيراد وإنشاء كائن [`~accelerate.Accelerator`]. سيقوم [`~accelerate.Accelerator`] تلقائيًا باكتشاف نوع الإعداد الموزع الخاص بك وتهيئة جميع المكونات اللازمة للتدريب. لن تحتاج إلى وضع نموذجك على جهاز بشكل معين. - -```py ->>> from accelerate import Accelerator - ->>> accelerator = Accelerator() -``` - -## الاستعداد للتسريع - -الخطوة التالية هي تمرير جميع كائنات التدريب ذات الصلة إلى دالة الإعداد [`~accelerate.Accelerator.prepare`]. ويشمل ذلك DataLoaders للتدريب والتقييم، ونموذجًا ومُحَسِّنً المعاملات (optimizer): - -```py ->>> train_dataloader, eval_dataloader, model, optimizer = accelerator.prepare( -... train_dataloader, eval_dataloader, model, optimizer -... ) -``` - -## الخلفي Backward - -الإضافة الأخيرة هي استبدال الدالة المعتادة `loss.backward()` في حلقة التدريب الخاصة بك بدالة [`~accelerate.Accelerator.backward`] في 🤗 Accelerate: - -```py ->>> for epoch in range(num_epochs): -... for batch in train_dataloader: -... outputs = model(**batch) -... loss = outputs.loss -... accelerator.backward(loss) - -... optimizer.step() -... lr_scheduler.step() -... optimizer.zero_grad() -... progress_bar.update(1) -``` - -كما يمكنك أن ترى في الكود التالي، فأنت بحاجة فقط إلى إضافة أربعة أسطر من الكود إلى حلقة التدريب الخاصة بك لتمكين التدريب الموزع! - -```diff -+ from accelerate import Accelerator - from transformers import AdamW, AutoModelForSequenceClassification, get_scheduler - -+ accelerator = Accelerator() - - model = AutoModelForSequenceClassification.from_pretrained(checkpoint, num_labels=2) - optimizer = AdamW(model.parameters(), lr=3e-5) - -- device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu") -- model.to(device) - -+ train_dataloader, eval_dataloader, model, optimizer = accelerator.prepare( -+ train_dataloader, eval_dataloader, model, optimizer -+ ) - - num_epochs = 3 - num_training_steps = num_epochs * len(train_dataloader) - lr_scheduler = get_scheduler( - "linear", - optimizer=optimizer, - num_warmup_steps=0, - num_training_steps=num_training_steps - ) - - progress_bar = tqdm(range(num_training_steps)) - - model.train() - for epoch in range(num_epochs): - for batch in train_dataloader: -- batch = {k: v.to(device) for k, v in batch.items()} - outputs = model(**batch) - loss = outputs.loss -- loss.backward() -+ accelerator.backward(loss) -optimizer.step() - lr_scheduler.step() - optimizer.zero_grad() - progress_bar.update(1) -``` - -## تدريب - -بمجرد إضافة أسطر الكود ذات الصلة، قم بتشغيل التدريب الخاص بك في أحد النصوص أو الدفاتر مثل Colaboratory. - -### التدريب باستخدام نص برمجي - -إذا كنت تشغل التدريب الخاص بك من نص برمجي، فقم بتشغيل الأمر التالي لإنشاء وحفظ ملف تكوين: - -```bash -accelerate config -``` - -ثم قم بتشغيل التدريب الخاص بك باستخدام: - -```bash -accelerate launch train.py -``` - -### التدريب باستخدام دفتر ملاحظات - -يمكن أيضًا تشغيل 🤗 Accelerate في دفاتر إذا كنت تخطط لاستخدام وحدات معالجة الرسوميات (TPUs) في Colaboratory. قم بتغليف كل الكود المسؤول عن التدريب في دالة، ومررها إلى [`~accelerate.notebook_launcher`]: - -```py ->>> from accelerate import notebook_launcher - ->>> notebook_launcher(training_function) -``` - -للحصول على مزيد من المعلومات حول 🤗 Accelerate وميزاته الغنية، يرجى الرجوع إلى [الوثائق](https://huggingface.co/docs/accelerate). \ No newline at end of file diff --git a/docs/source/ar/agents.md b/docs/source/ar/agents.md deleted file mode 100644 index 1213b35008605b..00000000000000 --- a/docs/source/ar/agents.md +++ /dev/null @@ -1,539 +0,0 @@ -# الوكلاء والأدوات - -[[open-in-colab]] - -### ما هو الوكيل؟ - -يمكن للنظم اللغوية الكبيرة (LLMs) التي تم تدريبها على أداء [نمذجة اللغة السببية](./tasks/language_modeling.) التعامل مع مجموعة واسعة من المهام، ولكنها غالبًا ما تواجه صعوبات في المهام الأساسية مثل المنطق والحساب والبحث. وعندما يتم استدعاؤها في مجالات لا تؤدي فيها أداءً جيدًا، فإنها غالبًا ما تفشل في توليد الإجابة التي نتوقعها منها. - -يتمثل أحد النهج للتغلب على هذا القصور في إنشاء "وكيل". - -الوكيل هو نظام يستخدم LLM كمحرك له، ولديه حق الوصول إلى وظائف تسمى "أدوات". - -هذه "الأدوات" هي وظائف لأداء مهمة، وتحتوي على جميع الأوصاف اللازمة للوكيل لاستخدامها بشكل صحيح. - -يمكن برمجة الوكيل للقيام بما يلي: -- وضع سلسلة من الإجراءات/الأدوات وتشغيلها جميعًا في نفس الوقت مثل [`CodeAgent`] على سبيل المثال -- التخطيط للاجراءات/الأدوات وتنفيذها واحدة تلو الأخرى والانتظار حتى انتهاء كل إجراء قبل إطلاق التالي مثل [`ReactJsonAgent`] على سبيل المثال - -### أنواع الوكلاء - -#### الوكيل البرمجي (Code agent) - -يتمتع هذا الوكيل يتبع خطوات محددة: أولًا، يخطط لسلسلة من الإجراءات التي يريد تنفيذها، ثم شفرة Python لتنفيذ جميع الإجراءات في نفس الوقت. وهو يتعامل بشكل أصلي مع أنواع مختلفة من المدخلات والمخرجات للأدوات التي يستخدمها، وبالتالي فهو الخيار الموصى به للمهام متعددة الوسائط. - -#### وكلاء التفاعل - -هذا هو الوكيل الذي يتم اللجوء إليه لحل مهام الاستدلال، حيث يجعل إطار ReAct ([Yao et al.، 2022](https://huggingface.co/papers/2210.03629)) من الكفاءة حقًا التفكير على أساس ملاحظاته السابقة. - -نقوم بتنفيذ إصدارين من ReactJsonAgent: -- [`ReactJsonAgent`] يقوم بتوليد استدعاءات الأدوات كـ JSON في إخراجها. -- [`ReactCodeAgent`] هو نوع جديد من ReactJsonAgent يقوم بتوليد استدعاءات أدواته كمقاطع من التعليمات البرمجية، والتي تعمل بشكل جيد حقًا مع LLMs التي تتمتع بأداء قوي في البرمجة. - -> [!TIP] -> اقرأ منشور المدونة [Open-source LLMs as LangChain Agents](https://huggingface.co/blog/open-source-llms-as-agents) لمعرفة المزيد عن وكيل ReAct. - -![إطار عمل وكيل ReAct](https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/blog/open-source-llms-as-agents/ReAct.png) - -على سبيل المثال، إليك كيف يعمل وكيل ReAct Code طريقه من خلال السؤال التالي. - -```py3 ->>> agent.run( -... "How many more blocks (also denoted as layers) in BERT base encoder than the encoder from the architecture proposed in Attention is All You Need?", -... ) -=====New task===== -How many more blocks (also denoted as layers) in BERT base encoder than the encoder from the architecture proposed in Attention is All You Need? -====Agent is executing the code below: -bert_blocks = search(query="number of blocks in BERT base encoder") -print("BERT blocks:", bert_blocks) -==== -Print outputs: -BERT blocks: twelve encoder blocks - -====Agent is executing the code below: -attention_layer = search(query="number of layers in Attention is All You Need") -print("Attention layers:", attention_layer) -==== -Print outputs: -Attention layers: Encoder: The encoder is composed of a stack of N = 6 identical layers. Each layer has two sub-layers. The first is a multi-head self-attention mechanism, and the second is a simple, position- 2 Page 3 Figure 1: The Transformer - model architecture. - -====Agent is executing the code below: -bert_blocks = 12 -attention_layers = 6 -diff = bert_blocks - attention_layers -print("Difference in blocks:", diff) -final_answer(diff) -==== - -Print outputs: -Difference in blocks: 6 - -Final answer: 6 -``` - -### كيف يمكنني بناء وكيل؟ - -لتهيئة وكيل، تحتاج إلى هذه الوسائط: - -- نموذج لغوي كبير (LLM) يشكل المحرك الأساسي للوكيل. الوكيل نفسه ليس النموذج اللغوي، بل هو برنامج يستخدم النموذج اللغوي كمحرك له. -- موجه النظام (system prompt): هذه هي التعليمات التي يتم إعطاؤها للنموذج اللغوي لإنشاء مخرجاته. -- صندوق أدوات (toolbox) يختار الوكيل منه الأدوات لتنفيذها -- محلل (parser) لاستخراج الأدوات التي يجب استدعاؤها من مخرجات النموذج اللغوي LLM والأدوات التي يجب استخدامها - -عند تهيئة نظام الوكيل، يتم استخدام سمات الأداة لإنشاء وصف للأداة، ثم يتم دمجها في موجه النظام الخاص `system_prompt` للوكيل لإعلامه بالأدوات التي يمكنه استخدامها ولماذا. - -للبدء، يرجى تثبيت `agents` الإضافية لتثبيت جميع التبعيات الافتراضية. - -```bash -pip install transformers[agents] -``` - -قم ببناء محرك LLM الخاص بك من خلال تعريف طريقة `llm_engine` التي تقبل قائمة من [الرسائل](./chat_templating.) وتعيد النص. يجب أن تقبل هذه الدالة القابلة للاستدعاء أيضًا معامل `stop` يشير إلى متى يجب التوقف عن التوليد. - -```python -from huggingface_hub import login, InferenceClient - -login("") - -client = InferenceClient(model="meta-llama/Meta-Llama-3-70B-Instruct") - -def llm_engine(messages, stop_sequences=["Task"]) -> str: - response = client.chat_completion(messages, stop=stop_sequences, max_tokens=1000) - answer = response.choices[0].message.content - return answer -``` - -يمكنك استخدام أي طريقة `llm_engine` طالما أنها: -1. يتبع تنسيق [رسائل](./chat_templating.md) لإدخاله (`List [Dict [str، str]]`) ويعيد `str` -2. يتوقف عن توليد المخراجات من التسلسلات التي تم تمريرها في معامل `stop` - -أنت بحاجة أيضًا إلى معامل "الأدوات" الذي يقبل قائمة من "الأدوات". يمكنك توفير قائمة فارغة لـ "الأدوات"، ولكن استخدم صندوق الأدوات الافتراضي مع معامل اختياري `add_base_tools=True`. - -الآن يمكنك إنشاء وكيل، مثل [`CodeAgent`], وتشغيله. ولتسهيل الأمر، نقدم أيضًا فئة [`HfEngine`] التي تستخدم `huggingface_hub.InferenceClient` بشكل مخفى. - -```python -from transformers import CodeAgent, HfEngine - -llm_engine = HfEngine(model="meta-llama/Meta-Llama-3-70B-Instruct") -agent = CodeAgent(tools=[], llm_engine=llm_engine, add_base_tools=True) - -agent.run( - "Could you translate this sentence from French, say it out loud and return the audio.", - sentence="Où est la boulangerie la plus proche?", -) -``` - -هذه الميزة ستكون مفيدة في حالة الحاجة الملحة! يمكنك حتى ترك معامل `llm_engine` غير محدد، وسيتم إنشاء [`HfEngine`] بشكل تلقائي. - -```python -from transformers import CodeAgent - -agent = CodeAgent(tools=[], add_base_tools=True) - -agent.run( - "Could you translate this sentence from French, say it out loud and give me the audio.", - sentence="Où est la boulangerie la plus proche?", -) -``` - -لاحظ أننا استخدمنا معامل "sentence" إضافي: يمكنك تمرير النص كمعامل إضافي إلى النموذج. - -يمكنك أيضًا استخدام هذا للإشارة إلى مسار الملفات المحلية أو البعيدة للنموذج لاستخدامها: - -```py -from transformers import ReactCodeAgent - -agent = ReactCodeAgent(tools=[], llm_engine=llm_engine, add_base_tools=True) - -agent.run("Why does Mike not know many people in New York?", audio="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/recording.mp3") -``` - - -تم تحديد موجه النظام ومحلل المخرجات تلقائيًا، ولكن يمكنك فحصهما بسهولة عن طريق استدعاء `system_prompt_template` على وكيلك. - -```python -print(agent.system_prompt_template) -``` - -من المهم أن تشرح بأكبر قدر ممكن من الوضوح المهمة التي تريد تنفيذها. -كل عملية [`~Agent.run`] مستقلة، وبما أن الوكيل مدعوم من LLM، فقد تؤدي الاختلافات الطفيفة في موجهك إلى نتائج مختلفة تمامًا. -يمكنك أيضًا تشغيل وكيل بشكل متتالي لمهام مختلفة: في كل مرة يتم فيها إعادة تهيئة سمتي `agent.task` و`agent.logs`. - - -#### تنفيذ التعليمات البرمجية - -يقوم مفسر Python بتنفيذ التعليمات البرمجية على مجموعة من المدخلات التي يتم تمريرها جنبًا إلى جنب مع أدواتك. -يجب أن يكون هذا الأمر آمنًا لأن الوظائف الوحيدة التي يمكن استدعاؤها هي الأدوات التي قدمتها (خاصة إذا كانت أدوات من Hugging Face فقط) ووظيفة الطباعة، لذا فأنت مقيد بالفعل بما يمكن تنفيذه. - -مفسر Python لا يسمح أيضًا باستدعاء دوال بشكل افتراضي خارج قائمة آمنة، لذا فإن جميع الهجمات الأكثر وضوحًا لا ينبغي أن تكون مشكلة. -يمكنك أيضًا الإذن باستيرادات إضافية عن طريق تمرير الوحدات النمطية المصرح بها كقائمة من السلاسل في معامل `additional_authorized_imports` عند تهيئة [`ReactCodeAgent`] أو [`CodeAgent`]: - -```py ->>> from transformers import ReactCodeAgent - ->>> agent = ReactCodeAgent(tools=[], additional_authorized_imports=['requests', 'bs4']) ->>> agent.run("Could you get me the title of the page at url 'https://huggingface.co/blog'?") - -(...) -'Hugging Face – Blog' -``` - -سيتم إيقاف التنفيذ عند أي رمز يحاول تنفيذ عملية غير قانونية أو إذا كان هناك خطأ Python عادي في التعليمات البرمجية التي تم إنشاؤها بواسطة الوكيل. - -> [!WARNING] -> يمكن لـ LLM توليد شفرة برمجية عشوائية سيتم تنفيذها بعد ذلك: لا تقمب استدعاء أى دوال غير آمنة! - -### موجه النظام - -ينشئ الوكيل، أو بالأحرى LLM الذي يقود الوكيل، يولد مخرجات بناءً على موجه النظام. يمكن تخصيص موجه النظام وتصميمه للمهام المقصودة. على سبيل المثال، تحقق من موجه النظام لـ [`ReactCodeAgent`] (الإصدار أدناه مبسط قليلاً). - -```text -You will be given a task to solve as best you can. -You have access to the following tools: -<> - -To solve the task, you must plan forward to proceed in a series of steps, in a cycle of 'Thought:', 'Code:', and 'Observation:' sequences. - -At each step, in the 'Thought:' sequence, you should first explain your reasoning towards solving the task, then the tools that you want to use. -Then in the 'Code:' sequence, you shold write the code in simple Python. The code sequence must end with '/End code' sequence. -During each intermediate step, you can use 'print()' to save whatever important information you will then need. -These print outputs will then be available in the 'Observation:' field, for using this information as input for the next step. - -In the end you have to return a final answer using the `final_answer` tool. - -Here are a few examples using notional tools: ---- -{examples} - -Above example were using notional tools that might not exist for you. You only have acces to those tools: -<> -You also can perform computations in the python code you generate. - -Always provide a 'Thought:' and a 'Code:\n```py' sequence ending with '```' sequence. You MUST provide at least the 'Code:' sequence to move forward. - -Remember to not perform too many operations in a single code block! You should split the task into intermediate code blocks. -Print results at the end of each step to save the intermediate results. Then use final_answer() to return the final result. - -Remember to make sure that variables you use are all defined. - -Now Begin! -``` - -يتضمن موجه النظام: -- *مقدمة* تشرح كيف يجب أن يتصرف الوكيل والأدوات التي يجب عليه استخدامها. -- وصف لجميع الأدوات التي يتم تحديدها بواسطة رمز `<>` الذي يتم استبداله ديناميكيًا في وقت التشغيل بالأدوات التي يحددها المستخدم أو يختارها. - - يأتي وصف الأداة من سمات الأداة، `name`، و`description`، و`inputs` و`output_type`، وقالب `jinja2` بسيط يمكنك تحسينه. -- شكل المخرج المتوقع. - -يمكنك تحسين موجه النظام، على سبيل المثال، عن طريق إضافة شرح لتنسيق المخرجات. - -للحصول على أقصى قدر من المرونة، يمكنك الكتابة فوق قالب موجه النظام بالكامل عن طريق تمرير موجه مخصص كمعامل إلى معلمة `system_prompt`. - -```python -from transformers import ReactJsonAgent -from transformers.agents import PythonInterpreterTool - -agent = ReactJsonAgent(tools=[PythonInterpreterTool()], system_prompt="{your_custom_prompt}") -``` - -> [!WARNING] -> يرجى التأكد من تحديد سلسلة `<>` في مكان ما في `template` حتى يكون الوكيل على علم -بالأدوات المتاحة. - - -### فحص تشغيل الوكيل - -فيما يلي بعض السمات المفيدة لفحص ما حدث بعد التشغيل: -- تخزن `agent.logs` سجلات مفصلة للوكيل. في كل خطوة من تشغيل الوكيل، يتم تخزين كل شيء في قاموس إلحاقه بـ `agent.logs`. -- تشغيل `agent.write_inner_memory_from_logs()` يخلق ذاكرة داخلية لسجلات الوكيل للنظام LLM لعرضها، كقائمة من رسائل الدردشة. تنتقل هذه الطريقة عبر كل خطوة من سجل الوكيل ولا تخزن سوى ما يهمها كرسالة: على سبيل المثال، سيحفظ موجه النظام والمهمة في رسائل منفصلة، ثم لكل خطوة سيخزن مخرج LLM كرسالة، ومخرج استدعاء الأداة كرسالة أخرى. استخدم هذا إذا كنت تريد عرضًا عامًا لما حدث - ولكن لن يتم نسخ كل سجل بواسطة هذه الطريقة. - -## الأدوات - -الأداة هي عبارة عن وظيفة أساسية يستخدمها الوكيل لتنفيذ مهمة محددة. - -يمكنك على سبيل المثال التحقق من [`PythonInterpreterTool`]: لديه اسم ووصف ووصف للمدخلات ونوع للمخرج، وطريقة `__call__` التي تقوم بتنفيذ المهمة المطلوبة. - -عند تهيئة الوكيل، يتم استخدام سمات الأداة لتوليد وصف للأداة يتم تضمينه في موجه النظام الخاص بالوكيل. يتيح هذا للوكيل معرفة الأدوات التي يمكنه استخدامها ولماذا. - -### صندوق الأدوات الافتراضي - -يأتي Transformers مع صندوق أدوات افتراضي لتمكين الوكلاء، والذي يمكنك إضافته إلى وكيلك عند التهيئة باستخدام معامل `add_base_tools = True`: - -- **الإجابة على أسئلة المستند**: الإجابة على سؤال حول المستند (مثل ملف PDF) بتنسيق صورة ([Donut](./model_doc/donut)) -- **الإجابة على أسئلة الصور**: الإجابة على سؤال حول صورة ([VILT](./model_doc/vilt)) -- **التحدث إلى النص**: قم بتفريغ الكلام إلى نص ([Whisper](./model_doc/whisper)) -- **النص إلى كلام**: تحويل النص إلى كلام ([SpeechT5](./model_doc/speecht5)) -- **الترجمة**: ترجمة جملة معينة من لغة المصدر إلى لغة الهدف. -- **مفسر كود Python**: تشغيل كود Python الذي تم إنشاؤه بواسطة LLM في بيئة آمنة. لن يتم إضافة هذه الأداة إلى [`ReactJsonAgent`] إلا إذا استخدمت `add_base_tools=True`، نظرًا لأن الأدوات المستندة إلى التعليمات البرمجية يمكنها بالفعل تنفيذ كود Python -لا تترجم النصوص الخاصة ولا الأكواد البرمجية ولا الروابط ولا رموز HTML وCSS: - -يمكنك استخدام أداة يدويًا عن طريق استدعاء دالة [`load_tool`] وتحديد مهمة لتنفيذها. - -```python -from transformers import load_tool - -tool = load_tool("text-to-speech") -audio = tool("This is a text to speech tool") -``` - -### إنشاء أداة جديدة - -يمكنك إنشاء أداتك الخاصة لتغطية حالات الاستخدام التي لا تغطيها الأدوات الافتراضية من Hugging Face. -على سبيل المثال، دعنا نقوم بإنشاء أداة تعرض النموذج الأكثر تنزيلًا لمهمة معينة من Hub. - -سوف نبدأ بالكود التالي. - -```python -from huggingface_hub import list_models - -task = "text-classification" - -model = next(iter(list_models(filter=task, sort="downloads", direction=-1))) -print(model.id) -``` - -يمكن تحويل هذه الشيفرة إلى فئة ترث من الفئة العليا [`Tool`]. - -تحتاج الأداة المخصصة إلى: - -- اسم `name`، والتي تمثل اسم الأداة نفسها. عادةً ما يصف الاسم وظيفتها. بما أن الكود يعيد النموذج الأكثر تنزيلًا لمهمة ما، فلنسمها `model_download_counter`. -- تستخدم خاصية `description` لملء موجه نظام الوكيل. -- خاصية `inputs`، والتي هي عبارة عن قاموس بمفاتيح "type" و"description". يحتوي على معلومات تساعد المفسر Python على اتخاذ خيارات مستنيرة بشأن المدخلات. -- خاصية `output_type`، والتي تحدد نوع المخرج. -- طريقة `forward` والتي تحتوي على الكود الذي سيتم تنفيذه للحصول على النتيجة النهائية. - -```python -from transformers import Tool -from huggingface_hub import list_models - -class HFModelDownloadsTool(Tool): - name = "model_download_counter" - description = ( - "This is a tool that returns the most downloaded model of a given task on the Hugging Face Hub. " - "It returns the name of the checkpoint." - ) - - inputs = { - "task": { - "type": "text", - "description": "the task category (such as text-classification, depth-estimation, etc)", - } - } - output_type = "text" - - def forward(self, task: str): - model = next(iter(list_models(filter=task, sort="downloads", direction=-1))) - return model.id -``` - -الآن بعد أن أصبحت فئة `HfModelDownloadsTool` المخصصة جاهزة، يمكنك حفظها في ملف باسم `model_downloads.py` واستيرادها للاستخدام. - -```python -from model_downloads import HFModelDownloadsTool - -tool = HFModelDownloadsTool() -``` - -يمكنك أيضًا مشاركة أداتك المخصصة في Hub عن طريق استدعاء [`~Tool.push_to_hub`] على الأداة. تأكد من أنك قمت بإنشاء مستودع لها على Hub وأنك تستخدم رمز وصول للقراءة. - -```python -tool.push_to_hub("{your_username}/hf-model-downloads") -``` - -قم بتحميل الأداة باستخدام دالة [`~Tool.load_tool`] ومررها إلى معلمة `tools` في الوكيل الخاص بك. - -```python -from transformers import load_tool, CodeAgent - -model_download_tool = load_tool("m-ric/hf-model-downloads") -agent = CodeAgent(tools=[model_download_tool], llm_engine=llm_engine) -agent.run( - "Can you give me the name of the model that has the most downloads in the 'text-to-video' task on the Hugging Face Hub?" -) -``` - -ستحصل على ما يلي: - -```text -======== New task ======== -Can you give me the name of the model that has the most downloads in the 'text-to-video' task on the Hugging Face Hub? -==== Agent is executing the code below: -most_downloaded_model = model_download_counter(task="text-to-video") -print(f"The most downloaded model for the 'text-to-video' task is {most_downloaded_model}.") -==== -``` - -والناتج: - -`"النموذج الأكثر تنزيلًا لمهمة `text-to-video` هو ByteDance/AnimateDiff-Lightning."` - -### إدارة صندوق أدوات الوكيل الخاص بك - -إذا كنت قد قمت بتهيئة وكيل، فمن غير الملائم إعادة تهيئته من البداية لإضافة أداة جديدة ترغب في استخدامها. باستخدام مكتبة Transformers، يمكنك إدارة صندوق أدوات الوكيل بإضافة أو استبدال أداة موجودة. - -دعنا نضيف الأداة `model_download_tool` إلى وكيل تم تهيئته مسبقًا باستخدام صندوق الأدوات الافتراضي. - -```python -from transformers import CodeAgent - -agent = CodeAgent(tools=[], llm_engine=llm_engine, add_base_tools=True) -agent.toolbox.add_tool(model_download_tool) -``` - -الآن يمكننا الاستفادة من الأداة الجديدة وأداة تحويل النص إلى كلام السابقة: - -```python - agent.run( - "Can you read out loud the name of the model that has the most downloads in the 'text-to-video' task on the Hugging Face Hub and return the audio?" - ) -``` - -| **Audio** | -|------------------------------------------------------------------------------------------------------------------------------------------------------| -|