1. قبل البدء
يُعدّ الذكاء الاصطناعي التوليدي من بين الإنجازات الأكثر تشويقًا في مجال تعلُّم الآلة، فهو يمكنه إنتاج صور ونصوص وملفات صوتية وحتى فيديوهات مذهلة استنادًا إلى نص بسيط أو طلبات من المستخدمين. مع إطلاق PaLM API تحديدًا، تتيح Google للمطوّرين إنشاء فئات من التطبيقات تقدّم تجارب ممتعة للمستخدمين تمت إعادة تصميمها باستخدام تكنولوجيا PaLM.
في هذا الدرس التطبيقي حول الترميز، يمكنك إنشاء تطبيق يستخدم PaLM API لإنشاء هايكو استنادًا إلى أسماء منتجات Google. يمكنك أيضًا استخدام Flutter لإنشاء تطبيق من عدّة منصات يعرض الهايكو.
المتطلبات الأساسية
- المعرفة الأساسية بالنماذج اللغوية الكبيرة (LLM)، مثل مطالبة
- معرفة أساسية بتطوير Flutter باستخدام Dart
ما ستتعرَّف عليه
- طريقة استخدام PaLM API من Google
- طريقة إنشاء تطبيق Flutter على عدّة منصات لعرض النتائج
المتطلبات
- Flutter SDK
- محرِّر النصوص، مثل Visual Studio Code (VS Code)
- إعداد رمز VS لبرنامجَي Flutter وDart
- إعداد Android أو iOS لتطبيق Flutter (بما في ذلك أدوات المحاكاة والمحاكيات)
- إعداد الكمبيوتر المكتبي على Flutter على نظام التشغيل Windows أو Linux أو macOS
- إعداد الويب في Flutter
- مفتاح واجهة برمجة تطبيقات PaLM API
2. الإعداد
تنزيل رمز إجراء التفعيل
- انتقِل إلى مستودع GitHub هذا.
- انقر على الرمز > نزِّل الرمز البريدي لتنزيل جميع الرموز الخاصة بهذا الدرس التطبيقي حول الترميز.
- عليك فك ضغط ملف ZIP الذي تم تنزيله لفك ضغط مجلد الجذر "
codelabs-main
". تحتاج فقط إلى الدليل الفرعيhaiku-generator
، الذي يحتوي على المجلدات التالية:
- المجلدات من
step0
إلىstep3
التي تحتوي على رمز التفعيل الذي يعتمد عليه في كل خطوة في هذا الدرس التطبيقي حول الترميز - المجلد
finished
، الذي يحتوي على الرمز المكتمل لنموذج التطبيق النهائي
تنزيل تبعيات المشروع
- في رمز VS، انقر على ملف > فتح المجلد > codelabs-main > haiku_منشئ > (الخطوة 0) > lib > رئيسي.dart
- إذا ظهر لك مربّع حوار رمز VS يطالبك بتنزيل الحِزم المطلوبة لتطبيق التفعيل، انقر على الحصول على الحِزم.
- إذا لم يظهر مربّع حوار رمز VS يطلب منك تنزيل الحِزم المطلوبة لتطبيق التفعيل، افتح الوحدة الطرفية ثم انتقِل إلى مجلد
step0
وشغِّل الأمرflutter pub get
.
تشغيل تطبيق إجراء التفعيل
- في رمز VS، تأكد من إعداد محاكي Android أو محاكي iOS بشكل صحيح ويظهر في شريط الحالة.
على سبيل المثال، إليك ما يظهر لك عند استخدام هاتف Pixel 5 مع "محاكي Android":
إليك ما تراه عند استخدام iPhone 13 مع محاكي iOS:
- انقر على بدء تصحيح الأخطاء. يتم تشغيل التطبيق على محاكي Android أو محاكي iOS.
استكشاف تطبيق إجراء التفعيل
في تطبيق إجراء التفعيل، يمكنك ملاحظة ما يلي:
- واجهة المستخدم واضحة جدًا.
- هناك قائمة منسدلة تتيح للمستخدمين اختيار منتج معيّن من Google.
- بعد أن ينقر المستخدمون على زر إنشاء haiku!، يرسل تطبيق Flutter الطلب المدمَج إلى نقطة نهاية PaLM API التي تعمل على إنشاء هايكو.
- يعرض التطبيق رمز الهايكو الذي تم إنشاؤه في التطبيق المصغّر النصي بعد تلقّي ردّ. ومع ذلك، في حال اختيار إنشاء haiku!، لن يحدث شيء لأنّه لا يمكن للتطبيق الاتصال بواجهة برمجة تطبيقات PaLM حتى الآن.
3- ضبط إمكانية الوصول إلى PaLM API
تحتاج إلى مفتاح واجهة برمجة تطبيقات لاستخدام PaLM API. في وقت نشر هذا الدرس التطبيقي حول الترميز، لا تزال PaLM API في معاينة خاصة.
- لإعداد إمكانية الوصول إلى PaLM API، اتّبِع المستندات لإنشاء مفتاح واجهة برمجة التطبيقات، ثم دوِّن المفتاح لاستخدامه لاحقًا في هذا الدرس التطبيقي حول الترميز.
4. إضافة قائمة بمنتجات Google
هدفك هو إنشاء شعر هايكو لمنتجات Google. في وقت التشغيل، يمكن لمستخدم التطبيق اختيار منتج ديناميكيًا من قائمة تتضمّن أسماء منتجات تمت تعبئتها تلقائيًا.
لإضافة قائمة بمنتجات Google إلى التطبيق، يجب اتّباع الخطوات التالية:
- في رمز VS، انتقِل إلى ملف
step1/lib/data/repositories/product_repository_impl.dart
. - في نص الدالة
getAllProducts()
، أضِف المتغيّر التالي الذي يخزِّن مصفوفة من أسماء منتجات Google:
product_repository_impl .dart
var productData = [
{'productName': 'Google Search'},
{'productName': 'YouTube'},
{'productName': 'Android'},
{'productName': 'Google Maps'},
{'productName': 'Gmail'}
];
5- يمكنك إرسال الطلب إلى واجهة برمجة التطبيقات PaLM وفك ترميز الردّ.
يتم دمج اسم المنتج الذي يختاره المستخدم مع نموذج الطلب التالي:
Context: You are an awesome haiku writer.
Message content: Write a cool haiku about {product name}.
لإرسال هذا الطلب إلى نقطة نهاية PaLM API لإنشاء رمز haiku، اتّبِع الخطوات التالية:
- في رمز VS، انتقِل إلى ملف
step2/lib/data/repositories/poem_repository_impl.dart
. - في نص الدالة
getPoems()
، أضِف الرمز التالي:
poem_repository_impl.dart
// TODO: Replace YOUR_API_KEY with your API key.
var apiKey = 'YOUR_API_KEY';
const haikuCount = 5;
final url = Uri.parse(
'https://generativelanguage.googleapis.com/v1beta2/models/chat-bison-001:generateMessage?key=$apiKey');
final headers = {'Content-Type': 'application/json'};
final body = jsonEncode({
"prompt": {
"context": "You are an awesome haiku writer.",
"examples": [
{
"input": {"content": "Write a haiku about Google Photos."},
"output": {
"content":
"Google Photos, my friend\nA journey of a lifetime\nCaptured in pixels"
}
}
],
"messages": [
{"content": "Write a cool haiku for $productName"}
]
},
"candidate_count": haikuCount,
"temperature": 1,
});
try {
final response = await http.post(url, headers: headers, body: body);
if (response.statusCode == 200) {
final decodedResponse = json.decode(response.body);
String haikus = 'Here are $haikuCount haikus about $productName:\n\n';
for (var i = 0; i < haikuCount; i++) {
haikus += '${i + 1}.\n';
haikus += decodedResponse['candidates'][i]['content'] + '\n\n';
}
return haikus;
} else {
return 'Request failed with status: ${response.statusCode}.\n\n${response.body}';
}
} catch (error) {
throw Exception('Error sending POST request: $error');
}
استبدِل السلسلة YOUR_API_KEY
بمفتاح واجهة برمجة التطبيقات السابق.
بعد تلقّي الاستجابة وفك ترميزها بنجاح، تعرض الأداة النصية في واجهة المستخدم لغة الهايكو التي تم إنشاؤها.
6- تشغيل التطبيق على الأنظمة الأساسية للأجهزة الجوّالة
- في رمز VS، اضبط الجهاز المستهدَف على جهاز Android أو iOS.
- انقر على بدء تصحيح الأخطاء، ثم انتظِر إلى أن يتم تحميل التطبيق.
- اختَر منتجًا من القائمة المنسدلة، ثم اختَر إنشاء haiku!. يعرض التطبيق رمز هايكو عن المنتج المحدّد.
7. تشغيل التطبيق على الأنظمة الأساسية لسطح المكتب
بالإضافة إلى Android وiOS، يتوافق Flutter أيضًا مع الأنظمة الأساسية لأجهزة الكمبيوتر المكتبي، بما في ذلك Linux وmacOS وWindows.
تشغيل التطبيق على نظام التشغيل Linux
- في رمز VS، اضبط الجهاز المستهدَف على Linux (linux-x64).
- انقر على بدء تصحيح الأخطاء، ثم انتظِر إلى أن يتم تحميل التطبيق.
- اختَر منتجًا من القائمة المنسدلة، ثم اختَر إنشاء haiku!.
تشغيل التطبيق على نظام التشغيل macOS
بالنسبة إلى نظام التشغيل macOS، يجب إعداد استحقاقات مناسبة لأنّ التطبيق يرسل طلبات HTTP إلى الخلفية. لمزيد من المعلومات، يُرجى الاطّلاع على الحقوق و"وضع حماية التطبيقات".
لتشغيل التطبيق على نظام التشغيل macOS، اتّبِع الخطوات التالية:
- في الملفين
step3/macos/Runner/DebugProfile.entitlements
وstep3/macos/Runner/Release.entitlements
، أضِف الرمز التالي:
DebugProfile.entitlements | Release.entitlements
<key>com.apple.security.network.client</key>
<true/>
- في رمز VS، اضبط الجهاز المستهدَف على macOS (darwin) .
- انقر على بدء تصحيح الأخطاء، ثم انتظِر إلى أن يتم تحميل التطبيق.
- اختَر منتجًا من القائمة المنسدلة، ثم اختَر إنشاء haiku!.
تشغيل التطبيق على نظام التشغيل Windows
- في رمز VS، اضبط الجهاز المستهدَف على Windows (Windows-x64).
- انقر على بدء تصحيح الأخطاء، ثم انتظِر إلى أن يتم تحميل التطبيق.
- اختَر منتجًا من القائمة المنسدلة، ثم اختَر إنشاء haiku!.
8. تشغيل التطبيق على منصة الويب
يمكنك أيضًا إضافة دعم الويب إلى تطبيق Flutter. يتم تلقائيًا تفعيل نظام الويب الأساسي لتطبيقات Flutter، ما عليك سوى تشغيله.
لتشغيل التطبيق على النظام الأساسي للويب، اتّبِع الخطوات التالية:
- في رمز VS، اضبط الجهاز المستهدَف على Chrome (web-JavaScript).
- انقر على بدء تصحيح الأخطاء، ثم انتظِر إلى أن يتم تحميل التطبيق في Google Chrome.
- اختَر منتجًا من القائمة المنسدلة، ثم اختَر إنشاء haiku!.
9. تهانينا
لقد أنشأت تطبيقًا شاملًا ينشئ هايكو حول منتجات Google! على الرغم من أنّ التطبيق لا ينشئ هايكوس إلا لمنتجات محدّدة من Google، يمكنك بسهولة تغيير الطلب وإنشاء النص الذي تريده. بعد أن تعرّفت على كيفية استخدام PaLM API، يمكنك إنشاء تطبيقات رائعة تستخدم النماذج اللغوية الكبيرة.