با برنامه Gemini AI Chat به سؤالات بر اساس مکالمات چت پاسخ دهید

این آموزش نحوه ساخت یک برنامه گوگل چت را نشان می‌دهد که به سوالات مبتنی بر مکالمات در فضاهای چت با هوش مصنوعی مولد که توسط Vertex AI با Gemini پشتیبانی می‌شود، پاسخ می‌دهد. این برنامه چت از API رویدادهای فضای کاری گوگل به همراه Pub/Sub برای تشخیص و پاسخ به سوالات ارسال شده در فضاهای چت به صورت بلادرنگ، حتی زمانی که به آن اشاره نمی‌شود، استفاده می‌کند.

برنامه چت از تمام پیام‌های ارسالی در این فضا به عنوان منبع داده و پایگاه دانش استفاده می‌کند: وقتی کسی سوالی می‌پرسد، برنامه چت پاسخ‌های قبلاً به اشتراک گذاشته شده را بررسی می‌کند و سپس یکی را به اشتراک می‌گذارد. اگر پاسخی پیدا نشود، می‌گوید که نمی‌تواند پاسخ دهد. در هر پاسخ، کاربران می‌توانند روی یک دکمه اقدام جانبی کلیک کنند تا یک مدیر فضا را @mention کنند و از او پاسخ بخواهند. با استفاده از Gemini AI، برنامه چت گوگل با آموزش مداوم مکالمات در فضاهایی که به آنها اضافه شده است، پایگاه دانش خود را تطبیق داده و رشد می‌دهد.

نحوه‌ی عملکرد اپلیکیشن چت در فضای پذیرش و پشتیبانی کارمندان به این صورت است:

  • اشاره به اپلیکیشن دستیار دانش هوش مصنوعی، آن را به این فضا اضافه می‌کند.
    شکل ۱. چارلی برنامه چت دستیار دانش هوش مصنوعی را به یک فضای چت اضافه می‌کند.
  • دانا سوالی می‌پرسد.
    شکل ۲. دانا می‌پرسد که آیا شرکت آموزش سخنرانی عمومی ارائه می‌دهد یا خیر.
  • اپلیکیشن چت دستیار دانش هوش مصنوعی به این سوال پاسخ می‌دهد.
    شکل ۳. برنامه چت دستیار دانش هوش مصنوعی، Vertex AI with Gemini را وادار می‌کند تا بر اساس تاریخچه مکالمات فضای چت به سوال دانا پاسخ دهد و سپس پاسخ را به اشتراک می‌گذارد.

پیش‌نیازها

اهداف

  • یک برنامه چت بسازید که از هوش مصنوعی مولد برای پاسخ به سؤالات مبتنی بر دانش به اشتراک گذاشته شده در مکالمات فضای چت استفاده کند.
  • با هوش مصنوعی مولد:
    • سوالات کارمندان را تشخیص داده و به آنها پاسخ دهید.
    • به طور مداوم از مکالمات مداوم در یک فضای چت یاد بگیرید.
  • حتی زمانی که مستقیماً به برنامه چت پیام ارسال نمی‌شود، به صورت آنی به پیام‌ها در فضای چت گوش دهید و پاسخ دهید.
  • پیام‌ها را با نوشتن در پایگاه داده Firestore و خواندن از آن، ذخیره کنید.
  • با اشاره به مدیران فضا در صورت عدم یافتن پاسخ برای یک سوال، همکاری در فضای چت را تسهیل کنید.

معماری

نمودار زیر معماری منابع Google Workspace و Google Cloud مورد استفاده توسط برنامه چت دستیار دانش هوش مصنوعی را نشان می‌دهد.

نمودار معماری برای برنامه چت دستیار دانش هوش مصنوعی

برنامه چت دستیار دانش هوش مصنوعی به این صورت عمل می‌کند:

  • یک کاربر، برنامه چت دستیار دانش هوش مصنوعی را به یک فضای چت اضافه می‌کند:

    1. برنامه چت از کاربری که آن را به فضای چت اضافه کرده است، می‌خواهد تا احراز هویت و مجوز را پیکربندی کند.

    2. برنامه چت با فراخوانی متد spaces.messages.list در API چت، پیام‌های فضا را دریافت می‌کند و سپس پیام‌های دریافت شده را در یک پایگاه داده Firestore ذخیره می‌کند.

    3. برنامه چت، متد subscriptions.create را در Google Workspace Events API فراخوانی می‌کند تا شروع به گوش دادن به رویدادهایی مانند پیام‌های موجود در فضا کند. نقطه پایانی اعلان اشتراک، یک تاپیک Pub/Sub است که از Eventarc برای ارسال رویداد به برنامه چت استفاده می‌کند.

    4. برنامه چت یک پیام معرفی برای این فضا ارسال می‌کند.

  • یک کاربر در فضای چت پیامی ارسال می‌کند:

    1. برنامه چت، پیام را به صورت بلادرنگ از موضوع Pub/Sub دریافت می‌کند.

    2. برنامه چت، پیام را به پایگاه داده Firestore اضافه می‌کند.

      اگر کاربری بعداً پیام را ویرایش یا حذف کند، برنامه چت رویداد به‌روزرسانی یا حذف‌شده را به‌صورت بلادرنگ دریافت می‌کند و سپس پیام را در پایگاه داده Firestore به‌روزرسانی یا حذف می‌کند.

    3. برنامه چت این پیام را با Gemini به Vertex AI ارسال می‌کند:

      1. این اعلان به Vertex AI با Gemini دستور می‌دهد تا بررسی کند که آیا پیام شامل سؤالی است یا خیر. اگر چنین باشد، Gemini بر اساس تاریخچه پیام‌های فضای چت که در Firestore نگهداری می‌شود، به سؤال پاسخ می‌دهد و سپس برنامه Google Chat پیام را به فضای چت ارسال می‌کند. اگر چنین نباشد، پاسخ ندهید.

      2. اگر هوش مصنوعی Vertex با Gemini به سوال پاسخ دهد، برنامه چت با فراخوانی متد spaces.messages.create در API چت و با استفاده از احراز هویت برنامه، پاسخ را ارسال می‌کند.

        اگر هوش مصنوعی Vertex با Gemini نتواند به سوال پاسخ دهد، برنامه چت پیامی ارسال می‌کند که می‌گوید نمی‌تواند پاسخی برای آن سوال در تاریخچه فضای چت پیدا کند.

        پیام‌ها همیشه شامل یک دکمه اقدام جانبی هستند که کاربران می‌توانند روی آن کلیک کنند، که باعث می‌شود برنامه چت با @mention کردن یک مدیر فضایی از او بخواهد پاسخ دهد.

  • برنامه چت یک اعلان چرخه عمر از API رویدادهای Google Workspace دریافت می‌کند که نشان می‌دهد اشتراک فضای چت در شرف انقضا است:

    1. برنامه چت با فراخوانی متد subscriptions.patch در Google Workspace Events API، درخواستی برای تمدید اشتراک ارسال می‌کند.
  • برنامه چت از فضای چت حذف می‌شود:

    1. برنامه چت با فراخوانی متد subscriptions.delete در Google Workspace Events API، اشتراک را حذف می‌کند.

    2. برنامه چت، داده‌های فضای چت را از Firestore حذف می‌کند.

محصولات مورد استفاده توسط دستیار دانش هوش مصنوعی، برنامه چت را بررسی کنید

برنامه چت دستیار دانش هوش مصنوعی از محصولات زیر در گوگل ورک‌اسپیس و گوگل کلود استفاده می‌کند:

  • رابط برنامه‌نویسی کاربردی هوش مصنوعی ورتکس با جمینی: یک پلتفرم هوش مصنوعی مولد که توسط جمینی پشتیبانی می‌شود. برنامه چت دستیار دانش هوش مصنوعی از رابط برنامه‌نویسی کاربردی هوش مصنوعی ورتکس با جمینی برای تشخیص، درک و پاسخ به سوالات کارمندان استفاده می‌کند.
  • API چت : یک API برای توسعه برنامه‌های گوگل چت که رویدادهای تعاملی چت، مانند پیام‌ها را دریافت و به آنها پاسخ می‌دهد. دستیار دانش هوش مصنوعی برنامه چت از API چت برای موارد زیر استفاده می‌کند:
    • رویدادهای تعاملی ارسال شده توسط چت را دریافت و به آنها پاسخ دهید.
    • پیام‌های ارسالی را در یک فضا فهرست کنید.
    • پاسخ به سوالات کاربران را در یک فضا ارسال کنید.
    • ویژگی‌هایی را پیکربندی کنید که نحوه نمایش آن در چت را تعیین می‌کنند، مانند نام و تصویر آواتار.
  • رابط برنامه‌نویسی کاربردی رویدادهای Google Workspace : این رابط برنامه‌نویسی کاربردی به شما امکان می‌دهد در رویدادها مشترک شوید و اعلان‌های تغییر را در برنامه‌های Google Workspace مدیریت کنید. برنامه چت دستیار دانش هوش مصنوعی از رابط برنامه‌نویسی کاربردی رویدادهای Google Workspace برای گوش دادن به پیام‌های ارسال شده در یک فضای چت استفاده می‌کند تا بتواند سؤالات را حتی زمانی که به آنها اشاره نشده است، شناسایی و پاسخ دهد.
  • فایراستور : یک پایگاه داده اسناد بدون سرور. برنامه چت دستیار دانش هوش مصنوعی از فایراستور برای ذخیره داده‌های مربوط به پیام‌های ارسالی در فضای چت استفاده می‌کند.
  • Pub/Sub : Pub/Sub یک سرویس پیام‌رسانی ناهمزمان و مقیاس‌پذیر است که سرویس‌های تولیدکننده پیام را از سرویس‌های پردازش‌کننده آن پیام‌ها جدا می‌کند. برنامه چت دستیار دانش هوش مصنوعی از Pub/Sub برای دریافت رویدادهای اشتراک از فضاهای چت استفاده می‌کند.
  • Eventarc : Eventarc به شما امکان می‌دهد معماری‌های رویدادمحور را بدون نیاز به پیاده‌سازی، سفارشی‌سازی یا نگهداری زیرساخت‌های زیربنایی بسازید. برنامه چت دستیار دانش هوش مصنوعی از Eventarc برای هدایت رویدادها از Pub/Sub به فضای چت و از عملکرد ابری که رویدادهای اشتراک را دریافت و پردازش می‌کند، استفاده می‌کند.
  • توابع ابری : یک سرویس محاسباتی سبک و بدون سرور که به شما امکان می‌دهد توابع تک منظوره و مستقلی ایجاد کنید که می‌توانند به تعاملات چت و رویدادهای اشتراک بدون نیاز به مدیریت سرور یا محیط اجرا پاسخ دهند. برنامه چت دستیار دانش هوش مصنوعی از دو تابع ابری به نام‌های زیر استفاده می‌کند:
    • app : میزبان نقطه پایانی HTTP است که Chat رویدادهای تعاملی را به آن ارسال می‌کند و به عنوان یک پلتفرم محاسباتی برای اجرای منطقی که این رویدادها را پردازش و به آنها پاسخ می‌دهد، عمل می‌کند.
    • eventsApp : رویدادهای فضای چت مانند پیام‌های یک اشتراک Pub/Sub را دریافت و پردازش می‌کند.
    توابع ابری از محصولات Google Cloud زیر برای ساخت و میزبانی منابع محاسباتی استفاده می‌کنند:
    • ساخت ابری : یک پلتفرم یکپارچه‌سازی، تحویل و استقرار مداوم کاملاً مدیریت‌شده که ساخت‌های خودکار را اجرا می‌کند.
    • Cloud Run : یک محیط کاملاً مدیریت‌شده برای اجرای برنامه‌های کانتینری.

محیط را آماده کنید

این بخش نحوه ایجاد و پیکربندی یک پروژه Google Cloud برای برنامه Chat را نشان می‌دهد.

ایجاد یک پروژه گوگل کلود

کنسول گوگل کلود

  1. در کنسول گوگل کلود، به Menu > IAM & Admin > Create a Project بروید.

    به ایجاد پروژه بروید

  2. در قسمت نام پروژه ، یک نام توصیفی برای پروژه خود وارد کنید.

    اختیاری: برای ویرایش شناسه پروژه ، روی ویرایش کلیک کنید. شناسه پروژه پس از ایجاد پروژه قابل تغییر نیست، بنابراین شناسه‌ای را انتخاب کنید که نیازهای شما را در طول عمر پروژه برآورده کند.

  3. در فیلد «مکان» ، روی «مرور» کلیک کنید تا مکان‌های بالقوه برای پروژه شما نمایش داده شود. سپس، روی «انتخاب» کلیک کنید.
  4. روی ایجاد کلیک کنید. کنسول Google Cloud به صفحه داشبورد هدایت می‌شود و پروژه شما ظرف چند دقیقه ایجاد می‌شود.

رابط خط فرمان جی‌کلاود

در یکی از محیط‌های توسعه زیر، به رابط خط فرمان گوگل کلود ( gcloud ) دسترسی پیدا کنید:

  • Cloud Shell : برای استفاده از یک ترمینال آنلاین با رابط خط فرمان gcloud که از قبل تنظیم شده است، Cloud Shell را فعال کنید.
    فعال کردن پوسته ابری
  • پوسته محلی : برای استفاده از یک محیط توسعه محلی، رابط خط فرمان gcloud را نصب و راه‌اندازی کنید .
    برای ایجاد یک پروژه ابری، از دستور gcloud projects create استفاده کنید:
    gcloud projects create PROJECT_ID
    به جای PROJECT_ID ، شناسه پروژه‌ای که می‌خواهید ایجاد کنید را وارد کنید.

فعال کردن پرداخت برای پروژه ابری

کنسول گوگل کلود

  1. در کنسول گوگل کلود، به بخش صورتحساب (Billing) بروید. ) > صورتحساب (Billing) > پروژه‌های من (My Projects) کلیک کنید.

    به بخش پرداخت هزینه‌های پروژه‌های من بروید

  2. در بخش «انتخاب سازمان» ، سازمانی را که با پروژه Google Cloud شما مرتبط است، انتخاب کنید.
  3. در ردیف پروژه، منوی اقدامات ( ) را باز کنید، روی تغییر صورتحساب کلیک کنید و حساب صورتحساب ابری را انتخاب کنید.
  4. روی تنظیم حساب کلیک کنید.

رابط خط فرمان جی‌کلاود

  1. برای فهرست کردن حساب‌های صورتحساب موجود، دستور زیر را اجرا کنید:
    gcloud billing accounts list
  2. یک حساب صورتحساب را با یک پروژه Google Cloud مرتبط کنید:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    موارد زیر را جایگزین کنید:

    • PROJECT_ID شناسه پروژه برای پروژه ابری است که می‌خواهید صورتحساب را برای آن فعال کنید.
    • BILLING_ACCOUNT_ID شناسه حساب پرداخت برای پیوند با پروژه Google Cloud است.

فعال کردن APIها

کنسول گوگل کلود

  1. در کنسول گوگل کلود، APIهای Google Chat، Vertex AI API، Cloud Functions API، Firestore API، Cloud Build API، Pub/Sub API، Google Workspace Events API، Eventarc API و Cloud Run Admin API را فعال کنید.

    فعال کردن APIها

  2. تأیید کنید که APIها را در پروژه Cloud صحیح فعال می‌کنید، سپس روی Next کلیک کنید.

  3. تأیید کنید که API های صحیح را فعال می‌کنید، سپس روی فعال کردن کلیک کنید.

رابط خط فرمان جی‌کلاود

  1. در صورت لزوم، پروژه Cloud فعلی را روی پروژه‌ای که ایجاد کرده‌اید تنظیم کنید:

    gcloud config set project PROJECT_ID

    به جای PROJECT_ID شناسه پروژه ابری که ایجاد کرده‌اید را قرار دهید.

  2. APIهای Google Chat، Vertex AI API، Cloud Functions API، Firestore API، Cloud Build API، Pub/Sub API، Google Workspace Events API، Eventarc API و Cloud Run Admin API را فعال کنید:

    gcloud services enable chat.googleapis.com \
    aiplatform.googleapis.com \
    cloudfunctions.googleapis.com \
    firestore.googleapis.com \
    cloudbuild.googleapis.com \
    pubsub.googleapis.com \
    workspaceevents.googleapis.com \
    eventarc.googleapis.com \
    run.googleapis.com

تنظیم احراز هویت و مجوز

احراز هویت و مجوز به برنامه چت اجازه می‌دهد تا به منابع موجود در Google Workspace و Google Cloud دسترسی داشته باشد.

در این آموزش، شما برنامه Google Chat را به صورت داخلی منتشر می‌کنید، بنابراین استفاده از اطلاعات placeholder اشکالی ندارد. قبل از انتشار خارجی برنامه Google Chat، اطلاعات placeholder را با اطلاعات واقعی برای صفحه رضایت‌نامه جایگزین کنید.

  1. در کنسول گوگل کلود، به Menu > برویدGoogle Auth platform > برندسازی .

    به بخش برندسازی بروید

  2. اگر قبلاً تنظیمات را انجام داده‌ایدGoogle Auth platformمی‌توانید تنظیمات صفحه رضایت OAuth زیر را در Branding ، Audience و Data Access پیکربندی کنید. اگر پیامی با این مضمون مشاهده کردید Google Auth platform هنوز پیکربندی نشده است ، روی شروع کار کلیک کنید:

    1. در بخش اطلاعات برنامه ، در قسمت نام برنامه ، عبارت AI knowledge assistant را تایپ کنید.
    2. در ایمیل پشتیبانی کاربر ، آدرس ایمیل خود یا یک گروه گوگل مناسب را انتخاب کنید.
    3. روی بعدی کلیک کنید.
    4. در قسمت مخاطبان ، گزینه داخلی (Internal) را انتخاب کنید. اگر نمی‌توانید داخلی (Internal) را انتخاب کنید، خارجی (External) را انتخاب کنید.
    5. روی بعدی کلیک کنید.
    6. در قسمت اطلاعات تماس ، یک آدرس ایمیل وارد کنید که از طریق آن بتوانید از هرگونه تغییر در پروژه خود مطلع شوید.
    7. روی بعدی کلیک کنید.
    8. در قسمت Finish ، سیاست داده‌های کاربر سرویس‌های API گوگل را مرور کنید و در صورت موافقت، گزینه «من با سیاست‌های داده‌های کاربر سرویس‌های API گوگل موافقم» را انتخاب کنید.
    9. روی ادامه کلیک کنید.
    10. روی ایجاد کلیک کنید.
    11. اگر نوع کاربر را External انتخاب کرده‌اید، کاربران آزمایشی را اضافه کنید:
      1. روی مخاطب کلیک کنید.
      2. در قسمت کاربران آزمایشی ، روی افزودن کاربران کلیک کنید.
      3. آدرس ایمیل خود و سایر کاربران آزمایشی مجاز را وارد کنید، سپس روی ذخیره کلیک کنید.
  3. روی دسترسی به داده‌ها > افزودن یا حذف محدوده‌ها کلیک کنید. یک پنل با لیستی از محدوده‌ها برای هر API که در پروژه Google Cloud خود فعال کرده‌اید، ظاهر می‌شود.

    1. در قسمت «افزودن دستی محدوده‌ها» ، محدوده زیر را وارد کنید:

      • https://www.googleapis.com/auth/chat.messages
    2. روی افزودن به جدول کلیک کنید.

    3. روی به‌روزرسانی کلیک کنید.

    4. پس از انتخاب محدوده‌های مورد نیاز برنامه، در صفحه دسترسی به داده‌ها ، روی ذخیره کلیک کنید.

ایجاد اعتبارنامه‌های شناسه کلاینت OAuth

  1. در کنسول گوگل کلود، به Menu > APIs & Services > Credentials بروید.

    به اعتبارنامه‌ها بروید

  2. روی ایجاد اعتبارنامه‌ها > شناسه کلاینت OAuth کلیک کنید.

  3. روی نوع برنامه > برنامه وب کلیک کنید.

  4. در فیلد نام ، نامی برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نمایش داده می‌شود.

  5. در زیر Authorized redirect URIs ، روی Add URI کلیک کنید.

  6. در URI های 1 ، موارد زیر را تایپ کنید:

    https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
    

    موارد زیر را جایگزین کنید:

    • REGION : ناحیه تابع ابری، مانند us-central1 . بعداً، وقتی دو تابع ابری را ایجاد می‌کنید، باید ناحیه آنها را روی این مقدار تنظیم کنید.
    • PROJECT_ID : شناسه پروژه ابری که ایجاد کرده‌اید.
  7. روی ایجاد کلیک کنید.

  8. از پنجره ایجاد شده توسط کلاینت OAuth ، روی دانلود JSON کلیک کنید.

  9. فایل دانلود شده را با نام credentials.json ذخیره کنید. بعداً، وقتی دو تابع ابری را ایجاد می‌کنید، فایل credentials.json را در هر استقرار وارد می‌کنید.

  10. روی تأیید کلیک کنید.

ایجاد موضوع میخانه/زیرموضوع

موضوع Pub/Sub با API رویدادهای Google Workspace کار می‌کند تا در رویدادهای یک فضای چت مانند پیام‌ها مشترک شود و به صورت بلادرنگ به برنامه چت اطلاع دهد.

نحوه ایجاد موضوع Pub/Sub به این صورت است:

کنسول گوگل کلود

  1. در کنسول گوگل کلود، به Menu > Pub/Sub بروید.

    به میخانه/مشترک بروید

  2. روی ایجاد موضوع کلیک کنید.

  3. در شناسه موضوع ، عبارت events-api را تایپ کنید.

  4. انتخاب «افزودن اشتراک پیش‌فرض» را لغو کنید.

  5. در بخش رمزگذاری (Encryption) ، کلید رمزگذاری مدیریت‌شده توسط گوگل (Google-management encryption key) را انتخاب کنید.

  6. روی ایجاد کلیک کنید. موضوع Pub/Sub ظاهر می‌شود.

  7. برای اینکه این موضوع Pub/Sub و Google Workspace Events API با هم کار کنند، به کاربر Chat IAM اجازه دهید تا در موضوع Pub/Sub پست ارسال کند:

    1. در پنل events-api ، در قسمت PERMISSIONS ، روی Add Principal کلیک کنید.

    2. در قسمت افزودن مدیران اصلی ، در بخش مدیران جدید ، عبارت chat-api-push@system.gserviceaccount.com را تایپ کنید.

    3. در بخش «اختصاص نقش‌ها» ، در «انتخاب یک نقش» ، «انتشار/زیرمجموعه» > «انتشار/زیرمجموعه» را انتخاب کنید.

    4. روی ذخیره کلیک کنید.

رابط خط فرمان جی‌کلاود

  1. یک موضوع Pub/Sub با شناسه موضوع events-api ایجاد کنید:

    gcloud pubsub topics create events-api
  2. به کاربر Chat IAM اجازه ارسال پست در موضوع Pub/Sub را بدهید:

    gcloud pubsub topics add-iam-policy-binding events-api \
    --member='serviceAccount:chat-api-push@system.gserviceaccount.com' \
    --role='roles/pubsub.publisher'

ایجاد پایگاه داده Firestore

پایگاه داده Firestore باقی می‌ماند و داده‌ها را از فضاهای چت، مانند پیام‌ها، بازیابی می‌کند. شما مدل داده را تعریف نمی‌کنید، که به طور ضمنی در کد نمونه توسط فایل‌های model/message.js و services/firestore-service.js تنظیم شده است.

پایگاه داده برنامه چت دستیار دانش هوش مصنوعی از یک مدل داده NoSQL مبتنی بر اسناد که در مجموعه‌های سازماندهی شده‌اند، استفاده می‌کند. برای کسب اطلاعات بیشتر، به مدل داده Firestore مراجعه کنید.

نمودار زیر نمای کلی از مدل داده برنامه چت دستیار دانش هوش مصنوعی را نشان می‌دهد:

مدل داده پایگاه داده Firestore.

ریشه شامل دو مجموعه است:

  1. spaces ، که در آن هر سند نشان‌دهنده یک فضای چت است که برنامه چت به آن اضافه شده است. هر پیام توسط یک سند در زیرمجموعه messages نمایش داده می‌شود.

  2. users ، که در آن هر سند نشان دهنده کاربری است که برنامه چت را به فضای چت اضافه کرده است.

مشاهده تعاریف مجموعه، سند و فیلد

spaces

یک فضای چت که شامل برنامه چت دستیار دانش هوش مصنوعی است.

فیلدها
Document ID String
شناسه منحصر به فرد یک فضای خاص. بخشی از نام منبع فضا در API چت.
messages Subcollection of Documents ( messages )
پیام‌های ارسال‌شده در فضای چت. متناظر با Document ID یک message در Firebase.
spaceName String
نام منحصر به فرد فضا در Chat API. معادل با نام منبع فضا در Chat API است.

messages

پیام‌های ارسالی در فضای چت

فیلدها
Document ID String
شناسه منحصر به فرد یک پیام خاص.
name String
نام منحصر به فرد یک پیام در Chat API. معادل با نام منبع پیام در Chat API است.
text String
متن پیام.
time String ( Timestamp format)
زمانی که پیام ایجاد شده است.

users

کاربرانی که برنامه چت دستیار دانش هوش مصنوعی را به فضای چت اضافه کرده‌اند.

فیلدها
Document ID String
شناسه منحصر به فرد یک کاربر خاص.
accessToken String
توکن دسترسی اعطا شده در طول احراز هویت کاربر OAuth 2.0 که برای فراخوانی APIهای Google Workspace استفاده می‌شود.
refreshToken String
توکن به‌روزرسانی که در طول احراز هویت کاربر در OAuth 2.0 اعطا شده است.

نحوه ایجاد پایگاه داده Firestore به شرح زیر است:

کنسول گوگل کلود

  1. در کنسول گوگل کلود، به Menu > Firestore بروید.

    به فایر استور بروید

  2. روی ایجاد پایگاه داده کلیک کنید.

  3. از قسمت انتخاب حالت Firestore ، روی حالت Native کلیک کنید.

  4. روی ادامه کلیک کنید.

  5. پیکربندی پایگاه داده:

    1. در قسمت Name your database ، شناسه پایگاه داده را به صورت پیش‌فرض (Database ID (default) بگذارید.

    2. در قسمت نوع مکان ، منطقه (Region) را انتخاب کنید.

    3. در قسمت Region ، منطقه‌ای را برای پایگاه داده خود مشخص کنید، مانند us-central1 . برای بهترین عملکرد، همان مکان یا مکانی نزدیک به Cloud Functions برنامه چت را انتخاب کنید.

  6. روی ایجاد پایگاه داده کلیک کنید.

رابط خط فرمان جی‌کلاود

  • ایجاد یک پایگاه داده Firestore در حالت Native:

    gcloud firestore databases create \
    --location=LOCATION \
    --type=firestore-native

    به جای LOCATION نام منطقه‌ی Firestore مانند us-central1 را قرار دهید. برای بهترین عملکرد، همان مکان یا مکانی نزدیک به توابع ابری برنامه‌ی چت را انتخاب کنید.

ایجاد و استقرار برنامه چت

اکنون که پروژه Google Cloud شما ایجاد و پیکربندی شده است، آماده ساخت و استقرار برنامه چت هستید. در این بخش، موارد زیر را انجام می‌دهید:

  1. دو تابع ابری ایجاد و مستقر کنید. یکی برای پاسخ به رویدادهای تعامل چت و دیگری برای پاسخ به رویدادهای Pub/Sub.
  2. یک برنامه چت در صفحه پیکربندی Google Chat API ایجاد و مستقر کنید.

ایجاد و استقرار توابع ابری

در این بخش، شما دو تابع ابری با نام‌های زیر ایجاد و مستقر می‌کنید:

  • app : کد برنامه چت را میزبانی و اجرا می‌کند که به رویدادهای دریافتی از چت به عنوان درخواست‌های HTTP پاسخ می‌دهد.
  • eventsApp : رویدادهای فضای چت مانند پیام‌های Pub/Sub را دریافت و پردازش می‌کند.

این توابع ابری در کنار هم، منطق برنامه‌ی دستیار دانش هوش مصنوعی چت را تشکیل می‌دهند.

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

مشاهده در گیت‌هاب

ایجاد و استقرار app

کنسول گوگل کلود

  1. کد را از گیت‌هاب به صورت یک فایل زیپ دانلود کنید.

    فایل زیپ را دانلود کنید

  2. فایل زیپ دانلود شده را از حالت فشرده خارج کنید.

    پوشه استخراج شده شامل کل مخزن نمونه‌های Google Workspace است.

  3. در پوشه‌ی استخراج‌شده، به دایرکتوری google-chat-samples-main/node/ai-knowledge-assistant بروید.

  4. در پوشه google-chat-samples/node/ai-knowledge-assistant ، فایل credentials.json را که هنگام ایجاد اعتبارنامه‌های OAuth client ID برای احراز هویت و مجوز دانلود کرده‌اید، اضافه کنید.

  5. محتویات پوشه‌ی ai-knowledge-assistant را در یک فایل زیپ فشرده کنید.

    فایل زیپ باید شامل فایل‌ها و پوشه‌های زیر باشد:

    • .gcloudignore
    • .gitignore
    • README.md
    • deploy.sh
    • env.js
    • events_index.js
    • http_index.js
    • index.js
    • credentials.json
    • package-lock.json
    • package.json
    • controllers/
    • model/
    • services/
    • test/
  6. در کنسول گوگل کلود، به Menu > Cloud Functions بروید.

    به توابع ابری بروید

    مطمئن شوید که پروژه Google Cloud برای برنامه چت شما انتخاب شده است.

  7. روی کلیک کنید تا تابع ایجاد شود .

  8. در صفحه ایجاد تابع ، تابع خود را تنظیم کنید:

    1. در محیط ، گزینه Cloud Run Function را انتخاب کنید.
    2. در قسمت نام تابع ، عبارت app تایپ کنید.
    3. در بخش Region ، یک منطقه مانند us-central1 را انتخاب کنید. این منطقه باید با منطقه‌ای که در URI تغییر مسیر مجاز هنگام ایجاد اعتبارنامه‌های OAuth client ID برای احراز هویت و مجوز تنظیم کرده‌اید، مطابقت داشته باشد.
    4. در قسمت نوع فعال‌سازی ، HTTPS را انتخاب کنید.
    5. در بخش «احراز هویت» ، گزینه «مجاز کردن فراخوانی‌های احراز هویت نشده» را انتخاب کنید.
    6. روی بعدی کلیک کنید.
  9. در زمان اجرا ، Node.js 20 را انتخاب کنید.

  10. در قسمت Entry point ، متن پیش‌فرض را حذف کرده و app وارد کنید.

  11. در کد منبع ، آپلود فایل زیپ را انتخاب کنید.

  12. در Destination bucket ، یک bucket ایجاد یا انتخاب کنید:

    1. روی مرور کلیک کنید.
    2. یک سطل انتخاب کنید.
    3. روی انتخاب کلیک کنید.

    گوگل کلود فایل زیپ را آپلود کرده و فایل‌های کامپوننت موجود در این باکت را استخراج می‌کند. سپس Cloud Functions فایل‌های کامپوننت را در Cloud Function کپی می‌کند.

  13. در فایل Zip ، فایل زیپی که از گیت‌هاب دانلود، استخراج و دوباره فشرده کرده‌اید را آپلود کنید:

    1. روی مرور کلیک کنید.
    2. به مسیر زیر بروید و فایل زیپ را انتخاب کنید.
    3. روی باز کردن کلیک کنید.
  14. روی استقرار کلیک کنید.

    صفحه جزئیات توابع ابری باز می‌شود و تابع شما با دو نشانگر پیشرفت ظاهر می‌شود: یکی برای ساخت و دیگری برای سرویس. وقتی هر دو نشانگر پیشرفت ناپدید شوند و با یک علامت تیک جایگزین شوند، تابع شما مستقر و آماده است.

  15. کد نمونه را برای تنظیم ثابت‌ها ویرایش کنید:

    1. در صفحه جزئیات عملکرد ابری ، روی ویرایش کلیک کنید.
    2. روی بعدی کلیک کنید.
    3. در بخش کد منبع ، ویرایشگر درون‌خطی (Inline editor) را انتخاب کنید.
    4. در ویرایشگر درون‌خطی، فایل env.js را باز کرده و ویرایش کنید:
      1. مقدار project را برابر با شناسه پروژه ابری خود قرار دهید.
      2. مقدار location را روی ناحیه تابع Cloud مانند us-central1 تنظیم کنید.
  16. روی استقرار کلیک کنید.

رابط خط فرمان جی‌کلاود

  1. کد را از گیت‌هاب کپی کنید:

    git clone https://github.com/googleworkspace/google-chat-samples.git
  2. به دایرکتوری که کد مربوط به این برنامه چت دستیار دانش هوش مصنوعی را در خود جای داده است، بروید:

    cd google-chat-samples/node/ai-knowledge-assistant
  3. در پوشه google-chat-samples/node/ai-knowledge-assistant ، فایل credentials.json را که هنگام ایجاد اعتبارنامه‌های OAuth client ID برای احراز هویت و مجوز دانلود کرده‌اید، اضافه کنید.

  4. فایل env.js را برای تنظیم متغیرهای محیطی ویرایش کنید:

    1. مقدار project را برابر با شناسه پروژه ابری خود قرار دهید.
    2. مقدار location را روی ناحیه تابع Cloud مانند us-central1 تنظیم کنید.
  5. تابع Cloud را در Google Cloud مستقر کنید:

    gcloud functions deploy app \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=app \
    --trigger-http \
    --allow-unauthenticated

    به جای REGION مقدار ناحیه تابع Cloud را قرار دهید تا با ناحیه‌ای که در فایل env.js تنظیم شده است، مانند us-central1 ، مطابقت داشته باشد.

ایجاد و استقرار eventsApp

کنسول گوگل کلود

  1. در کنسول گوگل کلود، به Menu > Cloud Functions بروید.

    به توابع ابری بروید

    مطمئن شوید که پروژه Google Cloud برای برنامه چت شما انتخاب شده است.

  2. روی کلیک کنید تا تابع ایجاد شود .

  3. در صفحه ایجاد تابع ، تابع خود را تنظیم کنید:

    1. در محیط ، گزینه Cloud Run Function را انتخاب کنید.
    2. در قسمت نام تابع ، eventsApp تایپ کنید.
    3. در بخش Region ، یک منطقه مانند us-central1 را انتخاب کنید. این منطقه باید با منطقه‌ای که در URI تغییر مسیر مجاز هنگام ایجاد اعتبارنامه‌های OAuth client ID برای احراز هویت و مجوز تنظیم کرده‌اید، مطابقت داشته باشد.
    4. در قسمت نوع راه‌انداز ، گزینه Cloud Pub/Sub را انتخاب کنید.
    5. در بخش «موضوعات عمومی/فرعی ابری» ، نام موضوع عمومی/فرعی که ایجاد کرده‌اید را انتخاب کنید که فرمت آن به صورت projects/ PROJECT /topics/events-api است که در آن PROJECT شناسه پروژه ابری شما است.
    6. اگر پیامی با عنوان Service account(s) might not have enough permissions to deploy the function with the selected trigger. مشاهده کردید، روی «اعطای همه» کلیک کنید.
    7. روی بعدی کلیک کنید.
  4. در زمان اجرا ، Node.js 20 را انتخاب کنید.

  5. در قسمت Entry point ، متن پیش‌فرض را حذف کرده و eventsApp وارد کنید.

  6. در کد منبع ، گزینه Zip from Cloud Storage را انتخاب کنید.

  7. در محل ذخیره‌سازی ابری ، روی مرور کلیک کنید.

  8. باکتی را که هنگام ایجاد app Cloud Function فایل زیپ را در آن آپلود کرده‌اید، انتخاب کنید.

  9. روی فایل زیپی که آپلود کردید کلیک کنید.

  10. روی انتخاب کلیک کنید.

  11. روی استقرار کلیک کنید.

    صفحه جزئیات توابع ابری باز می‌شود و تابع شما با سه نشانگر پیشرفت ظاهر می‌شود: یکی برای ساخت، یکی برای سرویس و یکی برای فعال‌سازی. وقتی هر سه نشانگر پیشرفت ناپدید شوند و با یک علامت تیک جایگزین شوند، تابع شما مستقر و آماده است.

  12. کد نمونه را برای تنظیم ثابت‌ها ویرایش کنید:

    1. در صفحه جزئیات عملکرد ابری ، روی ویرایش کلیک کنید.
    2. روی بعدی کلیک کنید.
    3. در بخش کد منبع ، ویرایشگر درون‌خطی (Inline editor) را انتخاب کنید.
    4. در ویرایشگر درون‌خطی، فایل env.js را باز کرده و ویرایش کنید:
      1. مقدار project را برابر با شناسه پروژه ابری خود قرار دهید.
      2. مقدار location را روی ناحیه تابع Cloud مانند us-central1 تنظیم کنید.
  13. روی استقرار کلیک کنید.

رابط خط فرمان جی‌کلاود

  1. در خط فرمان gcloud، اگر هنوز آنجا نیستید، به دایرکتوری که کد مربوط به این برنامه چت دستیار دانش هوش مصنوعی را که قبلاً از GitHub کلون کرده‌اید، در خود جای داده است، بروید:

    cd google-chat-samples/node/ai-knowledge-assistant
  2. در پوشه google-chat-samples/node/ai-knowledge-assistant ، فایل credentials.json را که هنگام ایجاد اعتبارنامه‌های OAuth client ID برای احراز هویت و مجوز دانلود کرده‌اید، اضافه کنید.

  3. فایل env.js را برای تنظیم متغیرهای محیطی ویرایش کنید:

    1. مقدار project را برابر با شناسه پروژه ابری خود قرار دهید.
    2. مقدار location را روی ناحیه تابع Cloud مانند us-central1 تنظیم کنید.
  4. تابع Cloud را در Google Cloud مستقر کنید:

    gcloud functions deploy eventsApp \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=eventsApp \
    --trigger-topic=events-api

    به جای REGION مقدار ناحیه تابع Cloud را قرار دهید تا با ناحیه‌ای که در فایل env.js تنظیم شده است، مانند us-central1 ، مطابقت داشته باشد.

آدرس اینترنتی (URL) تریگر تابع ابری app کپی کنید

شما باید آدرس اینترنتی (URL) مربوط به تابع ابری app را در بخش بعدی، هنگام پیکربندی برنامه چت در کنسول گوگل کلود، جایگذاری کنید.

کنسول گوگل کلود

  1. در کنسول گوگل کلود، به Menu > Cloud Functions بروید.

    به توابع ابری بروید

  2. در ستون نام از فهرست توابع ابری، روی app کلیک کنید.

  3. روی تریگر کلیک کنید.

  4. آدرس اینترنتی (URL) را کپی کنید.

رابط خط فرمان جی‌کلاود

  1. عملکرد فضای ابری app را شرح دهید:

    gcloud functions describe app
  2. ویژگی url را کپی کنید.

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

این بخش نحوه پیکربندی API چت در کنسول Google Cloud را با اطلاعات مربوط به برنامه چت شما، از جمله نام برنامه چت و URL تریگر تابع ابری برنامه چت که رویدادهای تعامل چت را به آن ارسال می‌کند، نشان می‌دهد.

  1. در کنسول گوگل کلود، > محصولات بیشتر > فضای کاری گوگل > کتابخانه محصولات > رابط برنامه‌نویسی کاربردی گوگل چت > مدیریت > پیکربندی کلیک کنید.

    به پیکربندی API چت بروید

  2. پاک کردن «این برنامه گپ را به عنوان یک افزونه Google Workspace بسازید» . یک کادر محاوره‌ای باز می‌شود که از شما می‌خواهد تأیید کنید. در کادر محاوره‌ای، روی غیرفعال کردن کلیک کنید.

  3. در قسمت نام برنامه ، AI knowledge assistant را تایپ کنید.

  4. در قسمت آدرس اینترنتی آواتار ، https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg تایپ کنید.

  5. در قسمت توضیحات ، عبارت Answers questions with AI را تایپ کنید.

  6. روی گزینه‌ی «فعال کردن ویژگی‌های تعاملی» کلیک کنید تا فعال شود.

  7. در بخش عملکرد ، گزینه «پیوستن به فضاها و مکالمات گروهی» را انتخاب کنید.

  8. در قسمت تنظیمات اتصال ، آدرس اینترنتی نقطه پایانی HTTP را انتخاب کنید.

  9. در قسمت HTTP endpoint URL ، آدرس Trigger URL مربوط به تابع ابری app که به صورت https:// REGION - PROJECT_ID .cloudfunctions.net/app فرمت شده است، جایگذاری کنید. در این قسمت REGION ناحیه تابع ابری است، مانند us-central1 و PROJECT_ID شناسه پروژه پروژه ابری است که ایجاد کرده‌اید.

  10. در قسمت «قابلیت مشاهده» ، گزینه «این برنامه چت را برای افراد و گروه‌های خاص در دامنه فضای کاری خود در دسترس قرار دهید» را انتخاب کنید و آدرس ایمیل خود را وارد کنید.

  11. به صورت اختیاری، در قسمت Logs ، گزینه Log errors to Logging را انتخاب کنید.

  12. روی ذخیره کلیک کنید. یک پیام ذخیره پیکربندی ظاهر می‌شود، به این معنی که برنامه چت آماده آزمایش است.

برنامه چت را آزمایش کنید

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

در اینجا چند روش برای آزمایش برنامه چت دستیار دانش هوش مصنوعی آورده شده است:

  • برنامه چت دستیار دانش هوش مصنوعی را به یک فضای چت موجود اضافه کنید و سوالاتی مرتبط با آن فضا بپرسید.
  • یک فضای چت ایجاد کنید و چند پیام برای استفاده به عنوان منبع داده ارسال کنید. پیام‌ها را می‌توان از Gemini با پیامی مانند Answer 20 common onboarding questions employees ask their teams. یا می‌توانید چند پاراگراف از راهنمای توسعه با چت را کپی کنید و سپس در مورد آن سوال بپرسید.

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

  1. گوگل چت را باز کنید.

    به گوگل چت بروید

  2. ایجاد فضای چت:

    1. گفتگوی جدید > ایجاد فضا کلیک کنید.

    2. در قسمت نام فضا ، عبارت Testing AI knowledge assistant app تایپ کنید.

    3. در قسمت «این فضا برای چیست؟» ، گزینه «همکاری» را انتخاب کنید.

    4. در قسمت تنظیمات دسترسی ، انتخاب کنید چه کسی می‌تواند به فضا دسترسی داشته باشد.

    5. روی ایجاد کلیک کنید.

  3. پیام‌ها را برای استفاده به عنوان منبع داده اضافه کنید:

    1. در یک مرورگر وب، به راهنمای توسعه با چت مراجعه کنید.

    2. محتوای راهنما را کپی کرده و در فضای چتی که ایجاد کرده‌اید، جای‌گذاری کنید.

  4. برنامه چت دستیار دانش هوش مصنوعی را اضافه کنید:

    1. در نوار نوشتن پیام، عبارت @AI knowledge assistant را تایپ کنید و در منوی پیشنهادی که ظاهر می‌شود، برنامه چت دستیار دانش هوش مصنوعی را انتخاب کنید و enter را بزنید.

    2. پیامی ظاهر می‌شود که از شما می‌پرسد آیا می‌خواهید برنامه چت دستیار دانش هوش مصنوعی را به فضا اضافه کنید. روی افزودن به فضا کلیک کنید.

    3. اگر این اولین باری است که برنامه چت را به یک فضا اضافه می‌کنید، باید احراز هویت و مجوز را برای برنامه چت پیکربندی کنید:

      1. روی پیکربندی کلیک کنید.
      2. یک پنجره یا برگه مرورگر جدید باز می‌شود و از شما می‌خواهد یک حساب گوگل انتخاب کنید. حسابی را که با آن آزمایش می‌کنید، انتخاب کنید.
      3. مجوزهایی را که برنامه چت دستیار دانش هوش مصنوعی درخواست می‌کند، بررسی کنید. برای اعطای آنها، روی «مجاز» کلیک کنید.
      4. پیامی با این مضمون ظاهر می‌شود که You may close this page now. » پنجره یا تب مرورگر را ببندید و به فضای چت برگردید.
  5. یک سوال بپرسید:

    1. در نوار نوشتن پیام، سوالی مانند What are Google Chat apps? تایپ کنید.

    2. دستیار دانش هوش مصنوعی، برنامه چت، پاسخ می‌دهد.

    3. در صورت تمایل، اگر پاسخ دقیق یا کافی نیست، برای کمک به بهبود سابقه مکالمه هوش مصنوعی، روی کلیک کنید تا کمک بگیرید . برنامه چت دستیار دانش هوش مصنوعی، یک مدیر فضایی را نام می‌برد و از او می‌خواهد که به سوال پاسخ دهد. دفعه بعد، برنامه چت دستیار دانش هوش مصنوعی، پاسخ را خواهد دانست!

ملاحظات، گزینه‌های معماری جایگزین و مراحل بعدی

این بخش روش‌های دیگری را که می‌توان برای ساخت برنامه چت دستیار دانش هوش مصنوعی استفاده کرد، بررسی می‌کند.

Firestore، فضای ذخیره‌سازی ابری یا فراخوانی پیام‌های لیست در API چت

این آموزش توصیه می‌کند داده‌های فضای چت مانند پیام‌ها را در یک پایگاه داده Firestore ذخیره کنید، زیرا این کار در مقایسه با فراخوانی متد list روی منبع Message با Chat API هر بار که برنامه چت به یک سوال پاسخ می‌دهد، عملکرد را بهبود می‌بخشد. علاوه بر این، فراخوانی مکرر list messages می‌تواند باعث شود برنامه چت به محدودیت‌های سهمیه API برسد.

با این حال، اگر سابقه مکالمات یک فضای چت خیلی طولانی شود، استفاده از Firestore می‌تواند پرهزینه شود.

فضای ابری (Cloud Storage) جایگزینی برای Firestore است. هر فضایی که برنامه چت دستیار دانش هوش مصنوعی در آن فعال است، شیء مخصوص به خود را دریافت می‌کند و هر شیء یک فایل متنی است که شامل تمام پیام‌های موجود در فضا می‌شود. مزیت این رویکرد این است که می‌توان کل محتوای فایل متنی را به طور همزمان با Gemini به Vertex AI ارسال کرد، اما ایراد آن این است که به‌روزرسانی تاریخچه مکالمات کار بیشتری می‌برد زیرا نمی‌توانید به یک شیء در فضای ابری (Cloud Storage) اضافه کنید، فقط می‌توانید آن را جایگزین کنید. اگر مرتباً تاریخچه پیام‌ها را به‌روزرسانی می‌کنید، این رویکرد منطقی نیست، اما اگر تاریخچه پیام‌ها را به صورت دوره‌ای، مثلاً هفته‌ای یک بار، به‌روزرسانی کنید، انتخاب خوبی خواهد بود.

عیب‌یابی

وقتی یک برنامه یا کارت چت گوگل خطایی را برمی‌گرداند، رابط چت پیامی با عنوان «مشکلی پیش آمده است» یا «درخواست شما قابل پردازش نیست» نمایش می‌دهد. گاهی اوقات رابط کاربری چت هیچ پیام خطایی را نمایش نمی‌دهد، اما برنامه یا کارت چت نتیجه غیرمنتظره‌ای را ایجاد می‌کند؛ برای مثال، ممکن است پیام کارت ظاهر نشود.

اگرچه ممکن است پیام خطا در رابط کاربری چت نمایش داده نشود، پیام‌های خطای توصیفی و داده‌های گزارش برای کمک به شما در رفع خطاها هنگام فعال بودن ثبت خطا برای برنامه‌های چت در دسترس هستند. برای کمک به مشاهده، اشکال‌زدایی و رفع خطاها، به عیب‌یابی و رفع خطاهای گوگل چت مراجعه کنید.

تمیز کردن

برای جلوگیری از تحمیل هزینه به حساب Google Cloud خود برای منابع استفاده شده در این آموزش، توصیه می‌کنیم پروژه Cloud را حذف کنید.

  1. در کنسول گوگل کلود، به صفحه مدیریت منابع بروید. روی منو > مدیریت و دسترسی به منابع (IAM & Admin) > مدیریت منابع (Manage Resources) کلیک کنید.

    به مدیریت منابع بروید

  2. در لیست پروژه‌ها، پروژه‌ای را که می‌خواهید حذف کنید انتخاب کنید و سپس روی «حذف کلیک کنید.
  3. در کادر محاوره‌ای، شناسه پروژه را تایپ کنید و سپس برای حذف پروژه، روی خاموش کردن (Shut down) کلیک کنید.