HomeVideos

Decisions API Full Tutorial for Beginners: How to Use & Set up Decisions API

Now Playing

Decisions API Full Tutorial for Beginners: How to Use & Set up Decisions API

Transcript

824 segments

0:00

يعتقد معظم الناس أن

0:01

الهدف من الذكاء

0:02

الاصطناعي في أي تطبيق

0:03

هو إنشاء شيء ما،

0:05

كإجابة أو ملخص أو

0:06

فقرة، تضطر بعد ذلك

0:07

لقراءتها ثم التصرف

0:08

بناءً عليها. وهذا هو

0:10

الإعداد الشائع. يطرح

0:11

المستخدمون سؤالاً،

0:13

فيرد الذكاء

0:14

الاصطناعي، ثم يقرر

0:15

الإنسان ما يفعله بهذا

0:17

الرد. لكن هذا في

0:18

الواقع يبدو مقلوباً

0:20

بالنسبة لقدر هائل مما

0:21

تحتاجه البرمجيات

0:23

حقاً. لأنه قبل توجيه

0:25

بريد إلكتروني، أو

0:26

تصعيد تذكرة دعم، أو

0:28

حتى تصنيف عميل، أو

0:30

فرز صورة، لا يحتاج

0:31

أحد إلى فقرة كاملة. كل

0:33

ما يحتاجونه هو إجابة

0:35

واحدة، نعم أو لا. ما

0:36

مدى الإلحاح؟ إلى أي

0:38

تصنيف ينتمي؟ هذا كل

0:39

ما في الأمر تقريباً.

0:40

لذا، سأوضح لك اليوم

0:42

كيفية استخدام وإعداد

0:43

واجهة برمجة تطبيقات

0:44

القرارات (Decisions API).

0:46

والسبب في اختلاف هذا

0:47

النهج هو أنه يقلب تلك

0:49

الفرضية بأكملها.

0:50

بدلاً من طلب كتابة

0:52

شيء من الذكاء

0:53

الاصطناعي ثم البحث

0:54

بنفسك في الرد للعثور

0:55

على الجزء المفيد،

0:57

فإنه يمنح برنامجك

0:58

احتمالية يمكنه

0:59

التصرف بناءً عليها

1:00

فوراً. وهكذا، تستمر

1:02

الحالات المؤكدة في

1:03

مسارها تلقائياً. أما

1:04

الحالات غير المؤكدة

1:05

فتُحال إلى شخص مختص.

1:07

لا تحليل للنصوص، ولا

1:08

تخمين. وبمجرد أن تدرك

1:10

أن الأمر لا يقتصر على

1:11

النصوص فقط، بل يعمل

1:12

مع الصور أيضاً.

1:14

سيتوقف كونه مجرد حيلة

1:15

لصناديق البريد،

1:17

وسيبدو كأداة يمكنها

1:18

أن تدعم أي سير عمل

1:20

تمتلكه تقريباً. هذا

1:21

هو ما سنفعله في هذا

1:23

الدرس التعليمي. سأقوم

1:24

بإعداده من الصفر معك،

1:26

ثم سنجربه من خلال

1:28

مجموعة متنوعة من

1:29

القرارات لنرى بالضبط

1:31

إلى أي مدى يمكن أن يصل

1:33

هذا الأمر. والآن، إذا

1:35

كنت ترغب حقاً في

1:36

إتقان أدوات الذكاء

1:37

الاصطناعي، وتريد

1:38

تعلم كيفية بناء

1:39

تطبيقات ومواقع SaaS

1:40

مربحة، ووكلاء ذكاء

1:41

اصطناعي، وتطبيقات

1:42

جوال مدعومة بالذكاء

1:43

الاصطناعي، فقد أنشأت

1:44

دورة احترافية كاملة

1:45

توضح لك كيفية القيام

1:47

بكل هذا خطوة بخطوة.

1:48

عادةً ما تبلغ تكلفة

1:49

الانضمام لهذه الدورة

1:50

499 دولاراً، ولكن بما

1:52

أنك تشاهد هذا الفيديو

1:53

، يمكنك الانضمام

1:54

مجاناً تماماً. أقدر

1:56

وجودك ووقتك. فقط تحقق

1:57

من الرابط الموجود في

1:58

الوصف للحصول على وصول

2:00

مجاني لدورتي، ويمكنك

2:01

أنت أيضاً البدء في

2:02

بناء عملك الخاص

2:02

المدعوم بالذكاء

2:03

الاصطناعي اليوم.

2:04

والآن، بعد قول ذلك،

2:06

لنبدأ العمل. حسناً،

2:07

فكر في عدد القرارات

2:08

الصغيرة التي يتعين

2:10

على الشركة اتخاذها كل

2:11

يوم. على سبيل المثال،

2:13

يرسل عميل رسالة، ثم

2:14

يتعين على شخص ما

2:15

معرفة ما إذا كانت

2:17

تتطلب اهتماماً

2:18

فورياً أم لا، وأي

2:19

فريق يجب أن يتعامل

2:20

معها، أو ما الذي

2:21

يطلبه العميل حقاً.

2:23

يمكن للذكاء

2:24

الاصطناعي بالفعل

2:25

المساعدة في هذه

2:26

المهام، لكن مطالبة

2:27

روبوت الدردشة بكتابة

2:29

رد كامل للحصول على

2:30

إجابة بسيطة قد يكون

2:31

غير ضروري. وهذه هي

2:32

الفكرة وراء واجهة

2:34

برمجة تطبيقات

2:35

القرارات (Decisions API) من

2:36

OpenAI. فهي تأخذ نصوصاً

2:38

أو صوراً أو مزيجاً

2:40

منهما، وتقيمها بناءً

2:42

على سؤال محدد، ثم

2:43

تعيد احتمالات بدلاً

2:45

من ردود مكتوبة. يمكن

2:47

بعد ذلك استخدام هذه

2:48

الاحتمالات لتحديد ما

2:50

يجب أن يفعله التطبيق

2:52

بعد ذلك. وعلى عكس

2:53

واجهة برمجة تطبيقات

2:54

الردود (Responses API) التي

2:56

تولد نصوصاً، تتجاوز

2:58

واجهة القرارات تلك

2:59

العملية تماماً.

3:01

ووفقاً لـ OpenAI، يجعل

3:02

هذا الأداء أسرع

3:03

بحوالي 10 مرات، ولأنه

3:05

لا يوجد توليد للنصوص،

3:07

فليس هناك رموز مخرجات

3:08

(output tokens) للدفع

3:09

مقابلها. حسناً، هي

3:11

تعمل حالياً على نموذج

3:13

واحد يسمى GPT-6 Luna. لذا،

3:15

لا نحتاج إلى القلق

3:16

بشأن الاختيار بين

3:18

نماذج مختلفة هنا.

3:19

هناك ثلاثة أنواع من

3:20

الأسئلة التي سنعمل

3:21

عليها. نمط "التنبؤ"(

3:23

Predict) يتحقق من مدى

3:24

احتمالية صحة عبارة ما

3:26

. نمط "التقييم"(Score)

3:27

يقيم شيئاً ما مقابل

3:29

مجموعة من المستويات

3:30

المرتبة، ونمط "

3:31

الاختيار"(Choice) يختار

3:32

الأفضل من قائمة

3:33

خيارات نقدمها. كل نمط

3:35

هنا يتعامل مع نوع

3:36

مختلف من القرارات،

3:38

وسنختبر الثلاثة

3:39

باستخدام رسائل عملاء

3:41

من مخبز في الحي. أيضاً

3:43

، التسعير مباشر جداً.

3:44

تكلفة واجهة برمجة

3:46

التطبيقات هي 10 سنتات

3:47

لكل مليون رمز إدخال،

3:48

ويتم محاسبتك فقط على

3:50

المدخلات. بالنسبة

3:51

للرسائل القصيرة مثل

3:53

التي سنستخدمها في هذا

3:54

الشرح، فإن التكلفة

3:56

ستكون ضئيلة جداً.

3:57

واجهة برمجة تطبيقات

3:59

القرارات في مرحلة

4:00

تجريبية عامة حالياً،

4:02

لذا قد تتغير بعض

4:03

التفاصيل. في شرحنا

4:04

هذا، سنستخدم "ساحة

4:06

لعب القرارات"(Decisions

4:07

Playground) لتجربة كل شيء

4:09

مباشرة دون كتابة أي

4:11

كود. لذا، دعونا

4:12

نفتحها لنرى كيف تعمل

4:13

هذه القرارات في

4:14

الواقع. الطريقة

4:16

الأسهل لفهم كيفية عمل

4:17

واجهة القرارات هي

4:18

تجربتها بنفسك. لا

4:20

تحتاج إلى إعداد مشروع

4:21

، ولا تحتاج إلى تثبيت

4:23

أي شيء، ولا حتى كتابة

4:24

سطر برمجي واحد. تمتلك

4:26

OpenAI ساحة لعب حيث

4:27

يمكننا اختبار قرارات

4:29

مختلفة مباشرة، ورؤية

4:31

كيف يستجيب النموذج

4:33

لأي مدخلات نقدمها.

4:34

للبدء، توجه إلى

4:36

platform.openai.com/decisions، ثم

4:39

سجل الدخول إلى حسابك.

4:41

الواجهة هنا مباشرة

4:43

وبسيطة للغاية. على

4:44

اليسار، لدينا "

4:46

المطالبة"(prompt)، التي

4:47

تخبر النموذج بما نريد

4:49

منه تقييمه. وأسفلها

4:51

مباشرة توجد إعدادات

4:52

القرار، حيث يمكننا

4:54

اختيار نوع السؤال

4:55

وتكوين خياراته أو

4:57

مستوياته. يوجد مربع

4:59

الإدخال هنا في الأسفل

5:01

، ويعرض القسم الأوسط

5:02

النتائج بعد تشغيلنا

5:04

للقرار. ستلاحظ أيضًا

5:06

وجود زر للقوالب هنا.

5:08

هذه أمثلة جاهزة

5:09

توفرها OpenAI مسبقًا،

5:11

لكي نتمكن من تكوين

5:12

فكرة عن كيفية عمل كل

5:14

شيء قبل إنشاء أمثلتنا

5:16

الخاصة. إذًا، لنفتح

5:18

ذلك، ثم نختار أحد

5:19

القوالب المتاحة

5:20

لتجربة قرارنا الأول.

5:22

يقوم القالب بملء

5:23

الإعدادات نيابة عنا.

5:25

لذا، كل ما علينا فعله

5:27

الآن هو إدخال بعض

5:28

البيانات ثم تشغيله.

5:29

وبعد لحظة، تظهر

5:31

النتيجة في منتصف

5:32

الشاشة، موضحة

5:33

الاحتمالات التي

5:35

حددها النموذج بناءً

5:36

على ما قدمناه. لاحظ

5:38

كيف نحصل على احتمالات

5:40

رقمية، بدلًا من

5:41

الحصول على شرح كتابي

5:42

كامل على سبيل المثال.

5:44

يمكن لأي تطبيق

5:45

استخدام هذه القيم

5:47

لاتخاذ الخطوة

5:48

التالية، سواء كان ذلك

5:50

بتمييز رسالة عميل، أو

5:52

تعيين فئة، أو إطلاق

5:54

إجراء معين. لقد

5:55

اختبرنا للتو قرارنا

5:56

الأول هنا دون كتابة

5:58

أي كود، وهنا يمكننا

5:59

بالفعل رؤية كيف تحوّل

6:01

ساحة التجارب (Playground)

6:02

مدخلًا بسيطًا إلى

6:04

نتيجة يمكن للتطبيق

6:05

استخدامها بالفعل.

6:07

الأمر هو أن بعض رسائل

6:09

العملاء سهلة الفهم،

6:11

لكن معرفة ما يجب فعله

6:13

بكل منها قد يستغرق

6:14

وقتًا. قد تتلقى مخبزة

6:16

شكوى بشأن تأخر

6:18

التوصيل، أو ملاحظات

6:20

حول كعكة، أو سؤالًا

6:21

حول طلب ما. لذا، فإن

6:23

وجود شخص يقرأ كل

6:25

رسالة فقط لتحديد

6:26

محتواها ليس عمليًا

6:28

دائمًا، خاصة عندما

6:30

يزداد العمل. إذًا،

6:31

يمكن لفحص بسيط

6:32

التعامل مع الكثير من

6:34

هذا التصنيف تلقائيًا.

6:35

المسند (Predicate) هو أبسط

6:37

نوع من الأسئلة في

6:38

واجهة برمجة تطبيقات

6:39

القرارات (Decisions API).

6:40

فهو يقيم عبارة مقابل

6:42

المدخلات التي نقدمها

6:44

، ثم يعيد احتمالًا

6:46

يتراوح بين 0 و 100%يشير

6:47

إلى مدى احتمالية صحة

6:49

هذه العبارة. يمكن أن

6:51

يكون هذا مفيدًا

6:52

للفحوصات اليومية،

6:53

مثل تحديد ما إذا كان

6:54

العميل يبلغ عن مشكلة

6:56

في التوصيل، أو ما إذا

6:57

كانت الرسالة تحتوي

6:58

على محتوى غير مرغوب

6:59

فيه، أو ما إذا كان شخص

7:01

ما يحتاج فعلًا إلى

7:02

مساعدة عاجلة. لنعد

7:03

الآن إلى ساحة التجارب

7:05

ونختر "المسند"(Predicate)

7:07

كنوع للقرار. بالنسبة

7:09

لمثال المخبزة، سندخل

7:10

مطالبة تطلب من

7:12

النموذج تحديد ما إذا

7:13

كان العميل يصف مشكلة

7:15

في التوصيل بدلًا من،

7:16

على سبيل المثال،

7:18

مشكلة في الطعام نفسه.

7:20

شيء مهم يجب تذكره هو

7:21

أن مطالبات المسند يجب

7:23

أن تُكتب كعبارات

7:25

واضحة، وليس كأسئلة،

7:27

ويجب أن تركز على شرط

7:29

واحد في كل مرة. لذا،

7:31

في اختبارنا الأول،

7:32

لنُدخل "وصل طلبي

7:33

متأخرًا بساعة، وكان

7:35

الصندوق مبللًا بسبب

7:36

المطر. لكن الكرواسون

7:38

بالداخل كان لا يزال

7:40

بحالة جيدة." والآن،

7:41

لنقم بتشغيل القرار

7:43

ونلقِ نظرة على

7:44

الاحتمالية التي

7:45

يعيدها. يذكر العميل

7:46

هنا مشكلتين في

7:48

التوصيل. وصل الطلب

7:49

متأخراً ساعة، كما

7:51

تبللت العبوات بسبب

7:53

المطر. وقد ذكروا

7:54

تحديداً أن الكرواسون

7:56

كان جيداً، لذا

7:57

فالشكوى ليست

7:58

بالضرورة حول الطعام

8:00

نفسه. وبناءً على هذه

8:01

التفاصيل، نتوقع أن

8:03

تكون الاحتمالية

8:05

عالية لأن الرسالة

8:06

تتطابق بشكل كبير مع

8:08

بياننا. ولرؤية كيف

8:09

تتغير النتيجة، دعنا

8:11

نستبدل ذلك المدخل

8:12

برسالة أخرى هنا. كانت

8:14

الكعكة لذيذة، لكنها

8:15

كانت حلوة أكثر مما

8:16

ينبغي بالنسبة لذوقي.

8:18

والآن، لنقم بتشغيلها

8:20

مرة أخرى ونقارن

8:21

الاحتمالات. إذن، تدور

8:23

هذه الرسالة حول مذاق

8:25

الكعكة، ولا يوجد أي

8:26

ذكر لمشكلة في التوصيل

8:28

. وبسبب ذلك، نتوقع

8:30

احتمالية أقل بكثير

8:32

هذه المرة لأن البيان

8:34

الذي نتحقق منه لا

8:36

يطابق ما يصفه العميل

8:38

فعلياً. إذن، اختبار

8:39

هاتين الرسالتين

8:41

المختلفتين يساعدنا

8:42

على فهم استجابة

8:43

النموذج عندما يتم

8:45

استيفاء الشرط بوضوح

8:46

مقابل عدم استيفائه.

8:48

لكن، هناك شيء مهم يجب

8:50

فهمه حول هذه النتائج.

8:53

لأن الاحتمالية في حد

8:55

ذاتها لا تقرر

8:56

تلقائياً ما يحدث

8:57

للرسالة. لا يزال

9:00

التطبيق بحاجة إلى نوع

9:02

من العتبة لتحديد متى

9:04

يجب اتخاذ إجراء.

9:05

فمثلاً، يمكننا ضبط

9:07

تلك العتبة عند 80%، مما

9:09

يعني أن الرسائل التي

9:11

تحصل على احتمالية 80%

9:13

أو أكثر سيتم تصنيفها

9:14

كمشكلات توصيل. تعتمد

9:16

العتبة المناسبة

9:18

أيضاً على ما يحدث بعد

9:20

ذلك. فوضع علامة على

9:21

رسالة ليراجعها شخص ما

9:23

قد يبرر عتبة أقل،

9:25

بينما الإجراء الذي قد

9:26

تكون له عواقب أكبر

9:28

عادة ما يحتاج إلى

9:30

عتبة أعلى. وهكذا يعمل

9:31

"المسند"(Predicate) من

9:33

الناحية العملية. نحن

9:35

فقط نحدد بياناً

9:36

واضحاً، ونختبره

9:37

مقابل رسائل عملاء

9:39

مختلفة، ثم نستخدم

9:40

احتمالية النتيجة

9:42

لتحديد ما إذا كان ذلك

9:43

الشرط المحدد قد

9:45

استُوفي بقوة كافية

9:46

ليقوم تطبيقنا بالعمل

9:48

بناءً عليه. ومع ذلك،

9:50

لا يمكن تصنيف كل

9:51

رسالة عميل بإجابة

9:53

بسيطة بـ "صح" أو "خطأ".

9:55

فكر في مخبز يتلقى عدة

9:57

رسائل في نفس الوقت.

9:59

أحد العملاء لديه طلب

10:01

ملغى يحتاجه خلال بضع

10:03

ساعات. وآخر لديه سؤال

10:05

بسيط، بينما يترك شخص

10:07

آخر ثناءً مثلاً. الآن

10:09

، كل هذه الرسائل

10:10

الثلاث مختلفة، لكن

10:12

الشاغل الأكبر هو

10:13

معرفة أيهما يستحق

10:14

الاهتمام أولاً.

10:16

ولمواقف كهذه، يمكننا

10:18

استخدام نوع السؤال "

10:19

النتيجة"(score). وعلى عكس

10:21

"المسند"، الذي يتحقق

10:23

مجدداً مما إذا كان

10:25

البيان صحيحاً أم لا،

10:26

يقوم "النتيجة" بتقييم

10:28

المدخل مقابل مجموعة

10:30

من المستويات المرتبة

10:32

من الأدنى إلى الأعلى.

10:34

إنه مفيد عندما نحتاج

10:35

إلى قياس مدى إلحاح أو

10:37

خطورة أو أهمية شيء ما

10:39

بدلاً من مجرد التحقق

10:41

مما إذا كان شرط ما قد

10:43

تحقق أم لا. لذا دعونا

10:44

نعود الآن إلى ساحة

10:46

التجربة (playground) ونغير

10:47

نوع القرار لدينا إلى "

10:49

نقاط"(score). بالنسبة

10:50

لمثال المخبز الخاص

10:52

بنا، سنطلب من النموذج

10:54

تقييم مدى إلحاح حاجة

10:55

العمل للرد على رسالة

10:57

العميل. وللقيام بذلك،

10:59

نحتاج إلى تحديد ثلاثة

11:01

مستويات هنا، كل منها

11:03

له اسم ووصف يشرح

11:05

بالضبط ما يمثله.

11:07

سنبدأ بالمستوى صفر

11:08

ونسميه "يمكن الانتظار

11:10

"، وهو يغطي المجاملات

11:12

أو التعليقات العامة

11:13

التي لا تتطلب أي

11:14

إجراء. ثم المستوى

11:16

الأول هو "الرد اليوم"

11:17

للمشكلات البسيطة أو

11:19

الأسئلة التي يجب

11:20

الإجابة عليها خلال

11:21

اليوم. وأخيراً،

11:22

المستوى الثاني هو "

11:24

الرد الآن" للحالات

11:25

التي يكون فيها العميل

11:27

منزعجاً، أو لديه

11:28

مخاوف تتعلق بالسلامة

11:30

، أو يحتاج إلى مساعدة

11:31

قبل موعد نهائي قريب.

11:33

تعتبر الأوصاف مهمة

11:34

بشكل خاص هنا لأنها

11:36

تساعد النموذج على

11:37

التمييز بين

11:38

المستويات. فمجرد

11:39

تسميتها لن يوفر

11:41

سياقاً كافياً حول ما

11:43

يعتبر عاجلاً أو ما

11:44

يمكن انتظاره بشكل

11:46

معقول. ستلاحظ أيضاً

11:47

أن الترقيم يبدأ من

11:49

الصفر ثم يزداد كلما

11:51

زادت درجة الإلحاح.

11:52

شيء آخر يستحق الفهم

11:54

هو كيفية حساب النتيجة

11:56

النهائية. يعين

11:57

النموذج احتمالاً لكل

11:59

مستوى، والنتيجة

12:01

النهائية هي متوسط

12:03

مرجح احتمالي لقيمها

12:05

الرقمية. وهذا يعني أن

12:07

النتيجة لا يجب أن

12:08

تكون دائماً صفراً أو

12:09

واحداً أو اثنين

12:11

بالضبط. يمكن أن تقع في

12:12

مكان ما بين تلك

12:14

الأرقام عندما تتوزع

12:15

الاحتمالات عبر

12:16

مستويات متعددة. لذا،

12:18

دعونا الآن نختبر

12:19

إعداداتنا باستخدام

12:21

رسالة العميل المحددة

12:22

هذه. "موعد استلام كعكة

12:23

عيد ميلاد ابنتي بعد

12:25

ساعتين، وقد تلقيت

12:26

للتو بريداً

12:27

إلكترونياً يفيد

12:28

بإلغاء الطلب. يرجى

12:29

الاتصال بي على الفور."

12:31

دعونا الآن نقوم

12:32

بتشغيل القرار ونلقي

12:34

نظرة على النتائج.

12:35

تُظهر لنا ساحة

12:36

التجربة هنا النتيجة

12:38

الإجمالية، والاحتمال

12:39

المخصص لكل مستوى،

12:41

وقيمة الثقة. في هذه

12:43

الحالة، لدى العميل

12:44

موعد لاستلام كعكة عيد

12:46

ميلاد بعد ساعتين فقط،

12:49

ولكن تم إلغاء طلبه

12:50

بشكل غير متوقع. كما

12:52

طلبوا تحديداً إجراء

12:54

مكالمة فورية، لذا

12:56

نتوقع أن تميل النتيجة

12:58

بقوة نحو المستوى

12:59

الثاني، "الرد الآن".

13:01

والآن، دعونا نقارن

13:03

ذلك برسالة أخرى. "هل

13:05

لديكم أي خيارات خالية

13:06

من الغلوتين في

13:07

القائمة؟ مجرد فضول

13:09

للأسبوع المقبل." في

13:11

هذه المرة، يسأل

13:12

العميل عن خيارات

13:13

القائمة لزيارة

13:14

مستقبلية. لا توجد

13:15

شكوى، ولا مخاوف تتعلق

13:17

بالسلامة، ولا موعد

13:19

نهائي فوري. لذا،

13:20

نتوقع هنا أن تتحرك

13:22

النتيجة نحو مستوى

13:23

أدنى، وتحديداً

13:25

المستوى الأول، "الرد

13:26

اليوم"، نظراً لأنه

13:28

سؤال عام لا يزال

13:29

يحتاج إلى إجابة.

13:31

بالنظر إلى كلتا

13:32

النتيجتين، يمكننا

13:33

المقارنة بين كيفية

13:34

تغير النتيجة

13:35

الإجمالية جنباً إلى

13:37

جنب مع الاحتمالات

13:38

ومستوى الثقة. الآن،

13:39

الرسالة الأولى تتطلب

13:41

إجراءً فورياً، بينما

13:43

يمكن التعامل مع

13:44

الثانية خلال أوقات

13:45

الاستجابة العادية

13:47

للمخبز. وهكذا يمكن

13:48

لدرجة التقييم أن

13:49

تساعد الشركة في إدارة

13:51

الطلبات الواردة

13:52

بناءً على مدى إلحاحها

13:54

. لذا، بدلاً من

13:55

التعامل مع كل رسالة

13:56

من العميل على أنها

13:57

بنفس القدر من الأهمية

13:58

، يمكن للمخبز الآن

13:59

استخدام هذه الأنواع

14:01

من التقييمات لتحديد

14:02

أولويات الرسائل التي

14:03

تحتاج إلى استجابة

14:04

أسرع. قد تأتي رسائل

14:06

العملاء لأسباب

14:07

متنوعة، فقد يرغب شخص

14:09

ما في تقديم طلب جديد،

14:11

أو تغيير طلب قائم، أو

14:12

طرح سؤال، أو حتى

14:14

الإبلاغ عن مشكلة.

14:15

وبالنسبة لمخبز

14:16

يتعامل مع هذه الطلبات

14:18

طوال اليوم، سيكون من

14:20

المفيد تصنيف كل رسالة

14:22

تلقائياً في الفئة

14:23

المناسبة. وهذا بالضبط

14:25

ما يمكننا القيام به

14:26

باستخدام ميزة "

14:27

الاختيار"(choice). يُعد "

14:28

الاختيار" هو النوع

14:29

الثالث من الأسئلة في

14:31

واجهة برمجة تطبيقات

14:32

القرارات (Decisions API)،

14:33

وهو يعمل بشكل مختلف

14:34

قليلاً عن "القضية"(

14:35

predicate) و "النتيجة"(score).

14:36

فهو يقوم باختيار خيار

14:38

واحد فقط من قائمة

14:40

نحددها نحن، مما يجعله

14:42

مفيداً لفرز الرسائل

14:43

أو توجيه الطلبات إلى

14:45

فئات لا تتبع ترتيباً

14:47

معيناً. إذن، لنعد إلى

14:49

بيئة التجربة مرة أخرى

14:51

ونحول نوع القرار

14:52

لدينا إلى "الاختيار".

14:54

وفي هذا المثال، سنطلب

14:56

من النموذج تحديد ما

14:57

يريده العميل بناءً

14:59

على رسالته. لذا،

15:00

سنمنحه أربعة خيارات

15:02

محتملة. الأول، طلب

15:04

جديد. الثاني، تغيير

15:06

طلب. الثالث، شكوى. ثم

15:08

الرابع، سؤال عام.

15:09

الآن، هناك شيء واحد

15:10

يجب وضعه في الاعتبار

15:12

عند إعداد هذه

15:12

الخيارات وهو جعلها

15:13

متميزة عن بعضها البعض

15:15

قدر الإمكان. فالفئات

15:16

المتداخلة قد تؤدي إلى

15:17

تقسيم الاحتمالات بين

15:19

إجابات متعددة، مما

15:20

يجعل تفسير النتيجة

15:21

أكثر صعوبة. في

15:22

اختبارنا الأول هنا،

15:24

لنكتب: "مرحباً، لقد

15:25

طلبت دستة من الكعك

15:26

ليوم الجمعة، لكنني

15:27

بحاجة إلى تغييرها إلى

15:29

دستتين. هل هذا ممكن؟"

15:31

ثم لنقم بتشغيل القرار

15:33

والتحقق من النتيجة.

15:34

بما أن العميل لديه

15:36

طلب بالفعل ويريد

15:37

تحديث الكمية، فإننا

15:39

نتوقع أن يكون خيار "

15:41

تغيير طلب" هو الأرجح.

15:42

كما توضح بيئة التجربة

15:44

الاحتمالية المخصصة

15:46

لكل خيار، حتى نتمكن

15:47

من رؤية مدى قوة تفضيل

15:49

النموذج لهذا

15:50

الاختيار المحدد.

15:52

لنجرب رسالة أخرى. "هل

15:54

تقومون بالتوصيل إلى

15:55

الجانب الشرقي من

15:56

المدينة؟" وفي هذه

15:57

المرة، يسأل العميل

15:59

ببساطة عن مدى توفر

16:00

خدمة التوصيل. لذا،

16:02

بالنسبة لهذه الرسالة

16:03

، نتوقع أن يتغير

16:04

الخيار المحدد إلى "

16:06

سؤال عام". يمكننا

16:07

مقارنة الاحتمالات من

16:09

كلا الاختبارين لنرى

16:11

كيف يستجيب النموذج

16:12

لطلبات العملاء

16:13

المختلفة. شيء يستحق

16:16

الاهتمام هو كيفية

16:18

توزيع هذه الاحتمالات.

16:20

عادةً ما تحتوي

16:22

الرسالة الواضحة على

16:23

خيار واحد مهيمن،

16:25

بينما قد تتوزع

16:26

احتمالات الرسالة

16:28

الغامضة على عدة فئات.

16:30

هذا يمكن أن يساعد

16:31

التطبيق في معرفة متى

16:33

يكون الطلب غير واضح،

16:35

وبالتالي يحتاج

16:36

للمراجعة من قبل شخص

16:38

بدلاً من توجيهه

16:39

تلقائياً. وهذا كل ما

16:41

في الأمر. يمكن

16:42

لمخبزنا الآن استخدام

16:44

"الاختيار"(Choice) لتحديد

16:46

ما يريده العملاء

16:47

وتنظيم الرسائل

16:49

الواردة في الفئات

16:50

المناسبة دون الحاجة

16:52

لقراءة كل طلب وتصنيفه

16:54

يدوياً. لقد رأينا

16:56

بالفعل كيف يمكن لـ

16:57

Decisions API تصنيف رسائل

16:59

العملاء، ولكن ماذا عن

17:00

الصور التي قد يقوم

17:02

الأشخاص برفعها؟ فكر

17:03

في مخبز إلكتروني حيث

17:05

يرسل العملاء صوراً

17:07

للمنتجات، أو يبلغون

17:08

عن طلبات تالفة، أو

17:10

يرفعون صوراً للمراجع.

17:12

عادةً ما يضطر شخص ما

17:14

لفحص تلك الصور

17:15

وتنظيمها يدوياً، لكن

17:17

Decisions API يمكنها

17:18

المساعدة في تصنيفها

17:20

أيضاً. والأمر الجيد

17:22

هو أن الواجهة تعمل مع

17:24

الصور والنصوص، كما أن

17:26

أنواع الأسئلة

17:27

الثلاثة تدعم مدخلات

17:29

الصور. يمكننا حتى

17:30

الجمع بين النصوص

17:31

والصور في نفس

17:32

المدخلات. لذا،

17:33

بالنسبة لهذا المثال،

17:35

سنستمر في استخدام "

17:36

الاختيار"، وسنرى مدى

17:37

قدرته على التعرف على

17:39

منتجات المخبوزات

17:40

المختلفة بالطبع. لنعد

17:41

إلى بيئة التجربة

17:43

ونختر "الاختيار" كنوع

17:45

للقرار هنا. سنطلب من

17:47

النموذج تحديد نوع

17:48

المخبوزات الظاهرة في

17:50

الصورة، ثم اختيار

17:52

الفئة الأكثر تطابقاً.

17:53

سنقوم أيضاً بإعداد

17:55

خمسة خيارات: خبز،

17:57

ومعجنات، وكعك،

17:58

وبسكويت، وشيء آخر.

18:00

هذا الخيار الأخير مهم

18:02

بشكل خاص لأنه يمنح

18:04

النموذج طريقة لتصنيف

18:06

الصور التي لا تنتمي

18:07

لأي من فئات مخبزنا

18:09

بدلاً من إجباره على

18:11

مطابقة غير صحيحة. بعد

18:13

ذلك، سنقوم بإدخال "

18:14

صنف صورة المنتج هذه"

18:15

في مربع الإدخال، ثم

18:17

نرفق صورتنا الأولى،

18:18

وهي عبارة عن كرواسون.

18:20

لنقم بتشغيل القرار

18:22

والتحقق من

18:23

الاحتمالات. وبما أن

18:24

الكرواسون ينتمي لفئة

18:26

المعجنات، نتوقع أن

18:28

تحصل فئة المعجنات على

18:30

أعلى احتمال. لنجرب

18:32

صورة أخرى، وهذه المرة

18:34

رغيف خبز العجين

18:35

المخمر. سنستبدل

18:37

الصورة السابقة،

18:38

ونشغل القرار مرة أخرى

18:40

، ثم نقارن النتائج

18:42

هنا. يجب أن ينتقل أعلى

18:43

احتمال نحو الخبز

18:45

لأننا نعرض على

18:46

النموذج منتج مخبوزات

18:48

مختلف تماماً. والآن،

18:50

لاختبارنا الأخير،

18:52

لنقم برفع شيء قد

18:53

ينتمي أو لا ينتمي لأي

18:55

من تلك الفئات، لنقل،

18:57

بيتزا. هذا اختبار مهم

18:59

لأننا نريد رؤية كيف

19:01

يتعامل النموذج مع

19:02

الصور غير المتوقعة.

19:04

بما أن توجيهنا يخبره

19:06

تحديداً باختيار "شيء

19:08

آخر" عندما لا تطابق

19:10

الصورة فئات

19:11

المخبوزات، نتوقع

19:13

حينها أن يحصل ذلك

19:15

الخيار على أعلى

19:16

احتمال. بالنظر إلى

19:18

النتائج عبر صورنا

19:20

الثلاث هنا، يمكننا

19:21

مقارنة مدى دقة تعرف

19:23

النموذج على

19:24

الكرواسون ورغيف

19:25

العجين المخمر، وكيف

19:27

يتعامل مع صورة

19:28

البيتزا غير ذات الصلة

19:30

. تساعدنا احتمالية كل

19:32

خيار أيضًا في رصد

19:33

الحالات التي قد يكون

19:34

فيها النموذج أقل

19:35

يقينًا. وهكذا يمكن

19:37

لواجهة برمجة تطبيقات

19:38

القرارات (Decisions API)

19:39

التعامل مع تصنيف

19:40

الصور باستخدام نفس

19:41

إعدادات الاختيار

19:42

التي استخدمناها

19:43

لرسائل العملاء. يمكن

19:45

للمخبز تطبيق هذا

19:46

لتنظيم صور المنتجات،

19:48

أو فرز تحميلات

19:49

العملاء، أو مراجعة

19:51

صور البضائع التالفة،

19:52

كل ذلك عبر نفس بيئة

19:54

التجربة التي

19:55

استخدمناها في هذا

19:56

الفيديو التعليمي. بعد

19:58

اختبار كل شيء بدءًا

20:00

من شكاوى التوصيل

20:01

والرسائل العاجلة

20:02

وصولاً إلى فرز صور

20:04

منتجات المخبز، رأينا

20:06

كيف يمكن لواجهة برمجة

20:07

تطبيقات القرارات

20:09

التعامل مع أنواع

20:10

مختلفة من القرارات

20:11

دون الحاجة إلى إنشاء

20:13

نص كامل. تخدم عناصر "

20:15

المسند"(predicate) و "

20:16

النتيجة"(score) و "

20:17

الاختيار"(choice)

20:18

أغراضاً مختلفة،

20:19

وتجعل بيئة التجربة من

20:20

السهل تجربة هذه

20:22

العناصر الثلاثة دون

20:23

الحاجة إلى كتابة أي

20:24

كود برمجي. ما يمكنك

20:26

فعله الآن هو أخذ هذه

20:28

الأمثلة وتكييفها مع

20:30

عملك أو تطبيقك الخاص،

20:32

سواء كنت تنظم طلبات

20:34

العملاء، أو ترتب

20:35

أولويات تذاكر الدعم،

20:37

أو تصنف الصور. هناك

20:39

الكثير مما يمكنك

20:40

استكشافه مع تطور

20:41

واجهة برمجة

20:42

التطبيقات، لكن هذه

20:43

الأمثلة يجب أن تمنحك

20:45

نقطة بداية جيدة جداً.

20:46

حسنًا، أود أن أشكركم

20:47

على المشاهدة وعلى

20:48

تخصيص وقتكم لي هنا

20:49

اليوم. أراكم في

20:50

الإصدار القادم.

Interactive Summary

يقدم هذا الفيديو شرحاً عملياً لواجهة برمجة تطبيقات القرارات (Decisions API) من OpenAI، والتي تهدف إلى تبسيط أتمتة العمليات التجارية عبر إعطاء احتمالات للقرارات بدلاً من توليد نصوص طويلة. يستعرض الفيديو ثلاثة أنماط رئيسية للقرارات: المسند (Predicate) للتحقق من الشروط، النتيجة (Score) لتقييم الأولويات، والاختيار (Choice) لتصنيف النصوص والصور، مع توضيح كيفية استخدام بيئة التجارب (Playground) لتطبيق هذه المفاهيم دون الحاجة لكتابة كود برمجي.

Suggested questions

3 ready-made prompts