Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,11 @@ export default defineConfig({
label: 'English',
lang: 'en',
},
ar: {
label: 'العربية',
lang: 'ar',
dir: 'rtl',
},
},
social: socialConfig,
tableOfContents: {
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/content/docs/ar/assets/splash-banner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
77 changes: 77 additions & 0 deletions docs/src/content/docs/ar/concepts/diffusion.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
title: الانتشار
lastUpdated: 2026-02-20
sidebar:
order: 5
---

import { Card, CardGrid, Steps, Tabs, TabItem } from '@astrojs/starlight/components';

سيساعدك أخذ الوقت لفهم عملية الانتشار على فهم كيفية استخدام InvokeAI بشكل أكثر فعالية.

## فضاء الصورة مقابل فضاء الكامن

هناك طريقتان رئيسيتان يعمل بهما Stable Diffusion — مع الصور، والكامنات.

<CardGrid>
<Card title="فضاء الصورة" icon="seti:image">
يمثل الصور بشكل بكسل تنظر إليها. هذا هو المخرَج البصري النهائي الذي تراه.
</Card>
<Card title="الفضاء الكامن" icon="puzzle">
يمثل المدخلات المضغوطة. في الفضاء الكامن يعالج Stable Diffusion الصور.
</Card>
</CardGrid>

:::note[ما هو VAE؟]
**VAE (جهاز التشفير التلقائي المتغير)** مسؤول عن ضغط وتشفير المدخلات إلى *الفضاء الكامن*، وكذلك فك تشفير المخرجات إلى *فضاء الصورة*.
:::

## المكونات الأساسية

لفهم عملية الانتشار بشكل كامل، نحتاج إلى فهم بضعة مصطلحات إضافية: **U-Net** و **CLIP** و **التهيئة**.

<CardGrid>
<Card title="U-Net" icon="setting">
نموذج تم تدريبه على عدد كبير من الصور الكامنة مع كميات معروفة من الضوضاء العشوائية المضافة. يمكن إعطاء U-Net صورة مشوشة قليلاً وسيتنبأ بنمط الضوضاء اللازمة لطرحها من الصورة لاستعادة الأصل.
</Card>
<Card title="CLIP والتهيئة" icon="document">
**CLIP** هو نموذج يقوم بتقطيع النص وتشفيره إلى **تهيئة**. هذه التهيئة توجه النموذج أثناء خطوات إزالة الضوضاء لإنتاج صورة جديدة.
</Card>
</CardGrid>

يعمل U-Net و CLIP معاً أثناء عملية توليد الصور في كل خطوة من خطوات إزالة الضوضاء. يزيل U-Net الضوضاء بحيث تكون النتيجة مشابهة للصور في مجموعة تدريبه، بينما يوجه CLIP الـ U-Net نحو إنشاء صور أكثر تشابهاً مع أمرك.

## عملية التوليد

<Tabs>
<TabItem label="نص إلى صورة" icon="seti:default">
عندما تقوم بتوليد صورة باستخدام نص إلى صورة، تحدث خطوات متعددة في الفضاء الكامن:

<Steps>
1. **توليد الضوضاء:** يتم توليد ضوضاء عشوائية بالارتفاع والعرض المختارين. يتم تحديد خصائص الضوضاء بواسطة البذرة. يتم تمرير موتر الضوضاء هذا إلى الفضاء الكامن. سنسمي هذا *الضوضاء أ*.
2. **توقع الضوضاء:** باستخدام U-Net للنموذج، يفحص متوقع الضوضاء *الضوضاء أ* والكلمات المرمزة بواسطة CLIP من أمرك (التهيئة). يولد موتر الضوضاء الخاص به لتوقع كيف قد تبدو الصورة النهائية في الفضاء الكامن. سنسمي هذا *الضوضاء ب*.
3. **الطرح:** يتم طرح *الضوضاء ب* من *الضوضاء أ* في محاولة لإنشاء صورة كامنة متسقة مع الأمر. تتكرر هذه الخطوة لعدد خطوات العيّنة المختارة.
4. **فك التشفير:** يقوم VAE بفك تشفير الصورة الكامنة النهائية من الفضاء الكامن إلى فضاء الصورة.
</Steps>
</TabItem>
<TabItem label="صورة إلى صورة" icon="seti:image">
صورة إلى صورة هي عملية مشابهة، مع اختلاف الخطوة الأولى فقط:

<Steps>
1. **التشفير وإضافة الضوضاء:** يتم تشفير صورة الإدخال من فضاء الصورة إلى الفضاء الكامن بواسطة VAE. ثم تتم إضافة ضوضاء إلى الصورة الكامنة المدخلة.
* **قوة إزالة الضوضاء** تحدد عدد خطوات الضوضاء المضافة، وكمية الضوضاء المضافة في كل خطوة.
* قوة `0` تعني 0 خطوات ولا ضوضاء مضافة، مما يؤدي إلى صورة غير متغيرة.
* قوة `1` تؤدي إلى استبدال الصورة بالكامل بالضوضاء وتنفيذ مجموعة كاملة من خطوات إزالة الضوضاء.
2. **توقع الضوضاء:** باستخدام U-Net للنموذج، يفحص متوقع الضوضاء الصورة الكامنة المشوشة والتهيئة من أمرك. يولد موتر الضوضاء الخاص به لتوقع الصورة النهائية.
3. **الطرح:** يتم طرح الضوضاء المتوقعة من الضوضاء الحالية في محاولة لإنشاء صورة كامنة متسقة مع الأمر. تتكرر هذه الخطوة لخطوات العيّنة المتبقية.
4. **فك التشفير:** يقوم VAE بفك تشفير الصورة الكامنة النهائية من الفضاء الكامن إلى فضاء الصورة.
</Steps>
</TabItem>
</Tabs>

## ملخص

<Card title="تجميع كل العناصر معاً" icon="star">
- **النموذج** يوفر مرمز أوامر CLIP، وVAE، و U-Net (حيث يتم توقع الضوضاء بالنظر إلى الأمر وموتر الضوضاء الأولي).
- **مجدول الضوضاء** (مثل `DPM++ 2M Karras`) يحدد جدول طرح الضوضاء من الصورة الكامنة عبر خطوات العيّنة المختارة. عادةً ما يتم طرح ضوضاء أقل في خطوات العيّنة الأعلى.
</Card>
133 changes: 133 additions & 0 deletions docs/src/content/docs/ar/concepts/dynamic-prompting.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
---
title: الأوامر الديناميكية
lastUpdated: 2026-03-30
sidebar:
order: 4
---

import { Card, CardGrid, Steps, LinkCard } from '@astrojs/starlight/components';

توسع الأوامر الديناميكية أمراً واحداً إلى العديد من تنويعات الأوامر. إنها مفيدة للعصف الذهني، واستكشاف الأوامر، والاختبار الجماعي دون إعادة كتابة نفس الأمر يدوياً.

## الصياغة الأساسية

ضع البدائل داخل أقواس معقوفة وافصل بينها بـ `|`.

```text
a {red|green|blue} balloon
```

يمكن أن يتوسع هذا إلى:

```text
a red balloon
a green balloon
a blue balloon
```

يمكنك استخدام أكثر من مجموعة ديناميكية في نفس الأمر:

```text
a {red|green} {balloon|kite}
```

ينشئ ذلك مجموعة من تركيبات الأوامر مثل `a red balloon` و `a red kite` و `a green balloon` و `a green kite`.

## اختر أكثر من خيار بـ `$$`

أسبق مجموعة برقم و `$$` لاختيار عدة خيارات متميزة من نفس المجموعة.

```text
portrait, {2$$rim light|fog|rain|neon reflections}
```

النتائج المحتملة تشمل:

```text
portrait, rim light, fog
portrait, fog, rain
portrait, rim light, neon reflections
```

هذا مفيد عندما تريد تنوعاً مضبوطاً دون كتابة كل تركيبة يدوياً.

## التوسع العشوائي مقابل التوافقي

<CardGrid>
<Card title="توافقي" icon="setting">
يتنقل بين تركيبات الأوامر الممكنة بشكل منهجي حتى الوصول إلى `Max Prompts`.
</Card>
<Card title="عشوائي" icon="star">
يختبر تنويعات الأوامر بدلاً من تعداد كل تركيبة. يمكن للبذرة أن تجعل التوسع العشوائي قابلاً للتكرار.
</Card>
</CardGrid>

يدعم InvokeAI كلا الوضعين، لكن مكان اختيارهما يعتمد على سير العمل.

- في واجهة المستخدم الخطية الحالية، تكون معاينة الأمر الديناميكي مدفوعة من الأمر الإيجابي وتتبع حالياً مسار التوسع التوافقي القياسي.
- في سياقات العقد والخلفية، يتم عرض التوليد العشوائي والتوافقي بشكل أكثر وضوحاً.

## الحد الأقصى للأوامر

`Max Prompts` يحدد عدد الأوامر الموسعة التي سينشئها InvokeAI.

هذا مهم لأن التركيبات تنمو بسرعة. على سبيل المثال:

```text
a {red|green|blue} balloon in {morning mist|golden hour|rain}
```

حتى هذا الأمر الصغير لديه بالفعل تسع تركيبات محتملة.

:::tip[ابدأ صغيراً]
قم بمعاينة حفنة من تنويعات الأوامر أولاً. بمجرد أن تبدو التركيبات مفيدة، قم بزيادة `Max Prompts` لمجموعة أكبر.
:::

## سلوك البذرة

في واجهة المستخدم الحالية، يتحكم إعداد `Seed Behaviour` في كيفية إعادة استخدام البذور عبر الأوامر الموسعة.

<CardGrid>
<Card title="بذرة لكل تكرار" icon="seti:image">
يستخدم بذرة واحدة لكل تكرار، لذلك تشارك تنويعات الأمر في نفس التكرار بذرة واحدة. هذا مفيد عندما تريد مقارنة صياغة الأمر بشكل أكثر مباشرة.
</Card>
<Card title="بذرة لكل صورة" icon="star">
يستخدم بذرة مختلفة لكل صورة يتم توليدها. هذا مفيد عندما تريد أوسع تنوع ممكن.
</Card>
</CardGrid>

## استخدام الأوامر الديناميكية في واجهة المستخدم الخطية

<Steps>
1. **ضع صياغة الأمر الديناميكي في الأمر الإيجابي**

في واجهة المستخدم الخطية الحالية، يتم تشغيل توسيع الأمر الديناميكي من الأمر الإيجابي.

2. **افتح المعاينة**

استخدم `Show Dynamic Prompts` أو معاينة الأوامر لفحص القائمة الموسعة قبل التوليد.

3. **اضبط `Max Prompts`**

حافظ على التوسع تحت السيطرة قبل إطلاق مجموعة كبيرة.

4. **اختر سلوك البذرة المناسب**

استخدم `Seed per Iteration` لمقارنة أسهل، أو `Seed per Image` لمزيد من التنوع.

5. **قم بتوليد مجموعة صغيرة أولاً**

تحقق من صحة التركيبات قبل التوسع.
</Steps>

:::note[سلوك واجهة المستخدم الخطية الحالية]
تعرض واجهة المستخدم الخطية حالياً `Max Prompts` والمعاينة وسلوك البذرة. لا تعرض مفتاح تبديل منفصل لوضع عشوائي مقابل توافقي في تدفق الأمر الإيجابي الرئيسي.
:::

## نصائح

- حافظ على كل مجموعة خيارات متوافقة داخلياً.
- كن حذراً مع المجموعات المتعددة، لأن عدد التركيبات ينمو بسرعة.
- راجع قائمة الأوامر الموسعة قبل إطلاق مجموعة كبيرة.
- استخدم الأوامر الديناميكية للتنوع، وليس لتجنب التفكير في الأمر الأساسي.
- عندما يحتاج مصطلح معين إلى مزيد من التركيز، استخدم [صياغة الأوامر](../prompt-syntax) بدلاً من إضافة المزيد من المجموعات الديناميكية.
Loading
Loading