با PalM API و Flutter هایکو درباره محصولات Google ایجاد کنید

1. قبل از شروع

یکی از مهیج‌ترین پیشرفت‌های یادگیری ماشینی (ML) هوش مصنوعی مولد است که می‌تواند تصاویر، متن، صدا و حتی ویدیوهای شگفت‌انگیزی را بر اساس متن ساده یا اعلان‌های کاربران تولید کند. به‌ویژه با انتشار PaLM API ، Google به توسعه‌دهندگان این امکان را می‌دهد تا دسته‌هایی از برنامه‌ها را با تجربه‌های کاربری لذت‌بخشی که با فناوری PalM بازسازی شده‌اند، بسازند.

در این نرم افزار کد، شما برنامه ای می سازید که از API PalM برای تولید هایکو بر اساس نام محصولات گوگل استفاده می کند. شما همچنین از Flutter برای ایجاد یک برنامه چند پلتفرمی که هایکوها را نمایش می دهد استفاده می کنید.

پیش نیازها

  • دانش اولیه مدل های زبان بزرگ (LLM) مانند درخواست
  • دانش اولیه توسعه فلاتر با دارت

چیزی که یاد خواهید گرفت

  • نحوه استفاده از Palm API گوگل.
  • نحوه ساخت اپلیکیشن فلاتر چند پلتفرمی برای نمایش نتایج.

آنچه شما نیاز دارید

2. راه اندازی شوید

کد شروع را دانلود کنید

  1. به این مخزن GitHub بروید.
  2. روی Code > Download zip کلیک کنید تا همه کدهای این کد لبه را دانلود کنید.
  3. فایل فشرده دانلود شده را از حالت فشرده خارج کنید تا بسته بندی پوشه codelabs-main root باز شود. شما فقط به زیرشاخه haiku-generator نیاز دارید که شامل پوشه های زیر است:
  • پوشه های step0 تا step3 ، که حاوی کد شروعی است که برای هر مرحله در این Codelab ایجاد می کنید.
  • پوشه finished که حاوی کد تکمیل شده برای برنامه نمونه تمام شده است.

وابستگی های پروژه را دانلود کنید

  1. در VS Code، روی File > Open folder > codelabs-main > haiku_generator > step0 > lib > main.dart کلیک کنید.
  2. اگر یک گفتگوی VS Code می‌بینید که از شما می‌خواهد بسته‌های مورد نیاز برنامه شروع را دانلود کنید، روی دریافت بسته‌ها کلیک کنید.

گفتگوی VS Code که از شما می خواهد بسته های مورد نیاز را برای برنامه شروع کننده دانلود کنید.

  1. اگر گفتگوی VS Code را نمی‌بینید که از شما می‌خواهد بسته‌های مورد نیاز را برای برنامه استارت بارگیری کنید، ترمینال خود را باز کنید و سپس به پوشه step0 بروید و دستور flutter pub get اجرا کنید.

برنامه استارتر را اجرا کنید

  1. در VS Code، مطمئن شوید که شبیه ساز اندروید یا شبیه ساز iOS به درستی تنظیم شده و در نوار وضعیت ظاهر می شود.

برای مثال، وقتی از Pixel 5 با شبیه‌ساز اندروید استفاده می‌کنید، این چیزی است که می‌بینید:

نوار وضعیت با Pixel 5 به عنوان دستگاه انتخاب شده است

در اینجا چیزی است که هنگام استفاده از iPhone 13 با شبیه ساز iOS مشاهده می کنید:

نوار وضعیت با آیفون 13 به عنوان دستگاه انتخاب شده است

  1. کلیک کنید a19a0c68bc4046e6.png اشکال زدایی را شروع کنید . این برنامه در شبیه ساز اندروید یا شبیه ساز iOS شما راه اندازی می شود.

برنامه شروع را کاوش کنید

در برنامه شروع به موارد زیر توجه کنید:

  • رابط کاربری بسیار ساده است.
  • یک منوی کشویی وجود دارد که به کاربران امکان می دهد یک محصول خاص Google را انتخاب کنند.
  • بعد از اینکه کاربران ، هایکوی Generate را انتخاب کردند! دکمه، برنامه Flutter دستور داخلی را به نقطه پایانی API PalM ارسال می کند، که هایکو تولید می کند.
  • این برنامه پس از دریافت پاسخ، هایکوهای تولید شده را در ویجت متنی نمایش می دهد. با این حال، اگر Generate Haiku را انتخاب کنید! ، هیچ اتفاقی نمی افتد زیرا برنامه هنوز نمی تواند با API PalM ارتباط برقرار کند.

برنامه شروع در iOSبرنامه شروع در اندروید

3. دسترسی به Palm API را تنظیم کنید

برای استفاده از Palm API به یک کلید API نیاز دارید. در زمان انتشار این کد لبه، API PalM هنوز در پیش‌نمایش خصوصی است.

  • برای تنظیم دسترسی خود به Palm API، مستندات را دنبال کنید تا یک کلید API ایجاد کنید، و سپس کلید را برای استفاده در این نسخه کد یادداشت کنید.

4. منوی محصولات Google را اضافه کنید

هدف شما تولید هایکو برای محصولات Google است. در زمان اجرا، کاربر برنامه می‌تواند به صورت پویا یک محصول را از فهرست نام‌های محصول از قبل انتخاب کند.

برای افزودن لیستی از محصولات Google به برنامه، این مراحل را دنبال کنید:

  1. در VS Code، به فایل step1/lib/data/repositories/product_repository_impl.dart بروید.
  2. در بدنه تابع getAllProducts() ، متغیر زیر را اضافه کنید که آرایه ای از نام محصولات Google را ذخیره می کند:

product_repository_impl .dart

var productData = [
  {'productName': 'Google Search'},
  {'productName': 'YouTube'},
  {'productName': 'Android'},
  {'productName': 'Google Maps'},
  {'productName': 'Gmail'}
];

5. درخواست را به PaLM API ارسال کنید و پاسخ را رمزگشایی کنید

نام محصول انتخاب شده توسط کاربر با الگوی اعلان زیر ترکیب می شود:

Context: You are an awesome haiku writer. 
Message content: Write a cool haiku about {product name}.

برای ارسال این درخواست به نقطه پایانی API Palm برای تولید هایکو، مراحل زیر را دنبال کنید:

  1. در VS Code، به فایل step2/lib/data/repositories/poem_repository_impl.dart بروید.
  2. در بدنه تابع 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 را با کلید API قبلی جایگزین کنید..

پس از دریافت پاسخ و رمزگشایی موفقیت آمیز، ویجت متن در UI، هایکوهای تولید شده را ارائه می کند.

6. برنامه را روی پلتفرم های موبایل اجرا کنید

  1. در VS Code، دستگاه مورد نظر را روی دستگاه اندروید یا iOS تنظیم کنید.
  2. کلیک کنید a19a0c68bc4046e6.png اشکال زدایی را شروع کنید و سپس منتظر بمانید تا برنامه بارگیری شود.
  3. یک محصول را از منوی کشویی انتخاب کنید و سپس Generate haiku را انتخاب کنید! . برنامه یک هایکو در مورد محصول انتخاب شده نمایش می دهد.

برنامه تمام شده در iOSبرنامه تمام شده در اندروید

7. برنامه را روی پلتفرم های دسکتاپ اجرا کنید

Flutter علاوه بر اندروید و iOS از پلتفرم های دسکتاپ از جمله لینوکس، macOS و ویندوز نیز پشتیبانی می کند.

برنامه را روی لینوکس اجرا کنید

  1. در VS Code، دستگاه مورد نظر را روی Linux (linux-x64) تنظیم کنید.
  2. کلیک کنید a19a0c68bc4046e6.png اشکال زدایی را شروع کنید و سپس منتظر بمانید تا برنامه بارگیری شود.
  3. یک محصول را از منوی کشویی انتخاب کنید و سپس Generate haiku را انتخاب کنید! .

برنامه تمام شده در لینوکس

برنامه را روی macOS اجرا کنید

برای macOS، باید حقوق مناسب را تنظیم کنید زیرا برنامه درخواست‌های HTTP را به باطن ارسال می‌کند. برای اطلاعات بیشتر، حقوق و جعبه ایمنی برنامه را ببینید.

برای اجرای برنامه در macOS مراحل زیر را دنبال کنید:

  1. در فایل های step3/macos/Runner/DebugProfile.entitlements و step3/macos/Runner/Release.entitlements کد زیر را اضافه کنید:

DebugProfile.entitlements | آزادی.حقوق

<key>com.apple.security.network.client</key>
<true/>
  1. در VS Code، دستگاه مورد نظر را روی macOS (darwin) قرار دهید.
  2. کلیک کنید a19a0c68bc4046e6.png اشکال زدایی را شروع کنید و سپس منتظر بمانید تا برنامه بارگیری شود.
  3. یک محصول را از منوی کشویی انتخاب کنید و سپس Generate haiku را انتخاب کنید! .

برنامه تمام شده در macOS

برنامه را روی ویندوز اجرا کنید

  1. در VS Code، دستگاه مورد نظر را روی Windows (windows-x64) تنظیم کنید.
  2. کلیک کنید a19a0c68bc4046e6.png اشکال زدایی را شروع کنید و سپس منتظر بمانید تا برنامه بارگیری شود.
  3. یک محصول را از منوی کشویی انتخاب کنید و سپس Generate haiku را انتخاب کنید! .

برنامه تمام شده در ویندوز

8. برنامه را روی پلتفرم وب اجرا کنید

همچنین می توانید پشتیبانی وب را به برنامه Flutter اضافه کنید. به طور پیش فرض، پلت فرم وب به طور خودکار برای برنامه های Flutter فعال می شود، بنابراین تنها کاری که باید انجام دهید این است که آن را راه اندازی کنید.

برای اجرای برنامه بر روی پلتفرم وب، مراحل زیر را دنبال کنید:

  1. در VS Code، دستگاه مورد نظر را روی Chrome (web-javascript) تنظیم کنید.
  2. کلیک کنید a19a0c68bc4046e6.png اشکال زدایی را شروع کنید و سپس منتظر بمانید تا برنامه در Google Chrome بارگیری شود.
  3. یک محصول را از منوی کشویی انتخاب کنید و سپس Generate haiku را انتخاب کنید! .

برنامه تمام شده در وب

9. تبریک می گویم

شما یک برنامه تمام پشته ساخته اید که هایکو در مورد محصولات Google تولید می کند! اگرچه این برنامه فقط برای محصولات منتخب گوگل هایکو تولید می کند، شما به راحتی می توانید درخواست را تغییر دهید و متن مورد نظر خود را تولید کنید. اکنون که می دانید چگونه از API PalM استفاده کنید، می توانید برنامه های شگفت انگیزی با قدرت باورنکردنی LLM بسازید!

بیشتر بدانید