این آموزش نشان میدهد چگونه برنامه Google Chat بسازید که به پرسشها براساس مکالمههای موجود در فضاهای Chat با هوش مصنوعی زایا که با Vertex AI با Gemini ارائه میشود پاسخ دهد. برنامه Chat از «میانای برنامهسازی کاربردی رویدادهای Google Workspace» بهعلاوه Pub/Sub برای تشخیص و پاسخ دادن به سؤالات پستشده در فضاهای Chat در زمان واقعی استفاده میکند، حتی وقتی از آن نامبری نشده باشد.
برنامه Chat از همه پیامهای ارسالشده در فضا بهعنوان منبع داده و پایگاه دانش استفاده میکند: وقتی کسی سؤالی میپرسد، برنامه Chat پاسخهای قبلاً همرسانیشده را بررسی میکند و سپس یکی از آنها را همرسانی میکند. اگر پاسخی پیدا نشود، میگوید نمیتواند پاسخ دهد. بااستفاده از هوش مصنوعی Gemini، برنامه Google Chat با آموزش مداوم ازطریق مکالمههای فضاهایی که به آن اضافه شده است، پایگاه دانش خود را تطبیق میدهد و گسترش میدهد.
در اینجا نحوه عملکرد برنامه Chat در فضای پشتیبانی و پذیرش کارمند جدید آمده است:
-
شکل ۱. چارلی برنامه Chat دستیار هوش مصنوعی را به فضای Chat اضافه میکند. -
شکل ۲. دانا میپرسد آیا شرکت آموزش سخنرانی عمومی ارائه میدهد. -
شکل ۳. برنامه Chat دستیار دانش هوش مصنوعی با پیاموارههای Vertex AI با Gemini به سؤال دانا براساس سابقه مکالمه فضای Chat پاسخ میدهد و سپس پاسخ را همرسانی میکند.
پیشنیازها
حساب «کسبوکار» یا «سازمانی» Google Workspace با دسترسی به Google Chat.
دسترسی به سرویسهای Google Cloud برای انجام موارد زیر:
- پروژه Google Cloud ایجاد کنید.
- حساب صورتحساب Google Cloud را به پروژه Cloud پیوند دهید. برای اینکه ببینید دسترسی دارید یا نه، به اجازههای لازم برای فعال کردن صورتحساب مراجعه کنید.
- از فراخوانیهای غیرتأییدشده Google Cloud Function استفاده کنید، که میتوانید با تعیین اینکه آیا سازمان Google Cloud شما از همرسانی محدودشده با دامنه استفاده میکند یا نه، آن را درستیسنجی کنید.
درصورت لزوم، از سرپرست Google Cloud خود درخواست دسترسی یا اجازه کنید.
درصورت استفاده از Google Cloud CLI، محیط توسعه Node.js پیکربندیشده برای کار با gcloud CLI. به راهاندازی محیط توسعه Node.js مراجعه کنید.
اهداف
- برنامه Chat بسازید که از هوش مصنوعی زایا برای پاسخ دادن به سؤالات براساس دانش همرسانیشده در مکالمههای فضای Chat استفاده میکند.
- با هوش مصنوعی زایا:
- سؤالات کارمندان را تشخیص دهید و به آنها پاسخ دهید.
- بهطور مداوم از مکالمههای جاری در فضای Chat یاد میگیرد.
- حتی وقتی برنامه Chat مستقیماً پیام دریافت نمیکند، به پیامهای فضای Chat در زمان واقعی گوش دهید و به آنها پاسخ دهید.
- با نوشتن در پایگاه داده Firestore و خواندن از آن، پیامها را ماندگار کنید.
- وقتی برای سؤالی پاسخی پیدا نمیشود، با نام بردن از مدیران فضا، مشارکت در فضای Chat را تسهیل کنید.
معماری
نمودار زیر معماری Google Workspace و منابع Google Cloud را که توسط دستیار هوش مصنوعی برنامه Chat استفاده میشود نشان میدهد.
برنامه Chat دستیار دانش هوش مصنوعی به این صورت کار میکند:
کاربری برنامه Chat دستیار هوش مصنوعی را به فضای Chat اضافه میکند:
برنامه Chat از کاربری که آن را به فضای Chat اضافه کرده است میخواهد تا اصالتسنجی و صدور مجوز را پیکربندی کند.
برنامه Chat پیامهای فضا را با فراخوانی روش
spaces.messages.listدر Chat API واکشی میکند و سپس پیامهای واکشیشده را در پایگاه داده Firestore ذخیره میکند.برنامه Chat برای شروع گوش دادن به رویدادهایی مثل پیامهای موجود در فضا،
subscriptions.createروش را در «میانای برنامهسازی کاربردی رویدادهای Google Workspace» فرا میخواند. نقطه پایانی اعلان اشتراک موضوع Pub/Sub است که از Eventarc برای بازارسال رویداد به برنامه Chat استفاده میکند.برنامه Chat پیام معرفی را در فضا پست میکند.
کاربری در فضای Chat پیامی پست میکند:
برنامه Chat پیام را بهطور همزمان از موضوع Pub/Sub دریافت میکند.
برنامه Chat پیام را به پایگاه داده Firestore اضافه میکند.
اگر کاربری بعداً پیام را ویرایش یا حذف کند، برنامه Chat رویداد بهروزرسانیشده یا حذفشده را در زمان واقعی دریافت میکند و سپس پیام را در پایگاه داده Firestore بهروزرسانی یا حذف میکند.
برنامه Chat پیام را به Vertex AI با Gemini ارسال میکند:
پیامواره به Vertex AI با Gemini دستور میدهد بررسی کند که آیا پیام شامل سؤال است یا نه. اگر اینطور باشد، Gemini براساس سابقه پیام فضای Chat که در Firestore نگهداری میشود به سؤال پاسخ میدهد و سپس برنامه Google Chat پیام را به فضای Chat ارسال میکند. اگر اینطور نیست، پاسخ ندهید.
اگر Vertex AI با Gemini به سؤال پاسخ دهد، برنامه Chat با فراخوانی روش
spaces.messages.createدر Chat API بااستفاده از اصالتسنجی برنامه، پاسخ را پست میکند.اگر Vertex AI با Gemini نتواند به سؤال پاسخ دهد، برنامه Chat پیامی ارسال میکند که در آن گفته میشود نمیتواند پاسخی برای آن سؤال در سابقه فضای Chat پیدا کند.
برنامه Chat اعلانی از «میانای برنامهسازی کاربردی رویدادهای Google Workspace» دریافت میکند که اشتراک فضای Chat درحال منقضی شدن است:
- برنامه Chat با فراخوانی روش
subscriptions.patchدر Google Workspace Events API، درخواستی برای تمدید اشتراک ارسال میکند.
- برنامه Chat با فراخوانی روش
برنامه Chat از فضای Chat برداشته میشود:
برنامه Chat با فراخوانی روش
subscriptions.deleteدر Google Workspace Events API اشتراک را حذف میکند.برنامه Chat دادههای فضای Chat را از Firestore حذف میکند.
محصولات مورداستفاده برنامه Chat دستیار هوش مصنوعی را مرور کنید
برنامه Chat دستیار هوش مصنوعی از محصولات زیر Google Workspace و Google Cloud استفاده میکند:
- میانای برنامهسازی کاربردی Vertex AI با Gemini: پلاتفرم هوش مصنوعی زایا با بهرهگیری از Gemini. دستیار دانش هوش مصنوعی برنامه گپ از Vertex AI API با Gemini برای تشخیص، درک، و پاسخ به سؤالات کارمندان استفاده میکند.
-
میانای برنامهسازی کاربردی Chat:
میانای برنامهسازی کاربردی برای توسعه برنامههای Google Chat که
رویدادهای تعامل Chat، مثل پیامها، را دریافت و به آنها پاسخ میدهند. دستیار هوش مصنوعی
برنامه Chat از Chat API برای موارد زیر استفاده میکند:
- رویدادهای تعاملی ارسالشده توسط Chat را دریافت و به آنها پاسخ دهید.
- پیامهای ارسالشده در فضا را فهرست میکند.
- پاسخهای سؤالات کاربر را در فضا پست کنید.
- ویژگیهایی را که تعیین میکند چگونه در Chat نشان داده شود، مثل نام و تصویر چهرک، پیکربندی کنید.
- Google Workspace Events API: این میانای برنامهسازی کاربردی به شما امکان میدهد در رویدادها مشترک شوید و اعلانهای تغییر را در سراسر برنامههای Google Workspace مدیریت کنید. برنامه Chat دستیار هوش مصنوعی دانش از «میانای برنامهسازی کاربردی رویدادهای Google Workspace» برای شنیدن پیامهای پستشده در فضای Chat استفاده میکند تا بتواند سؤالات را حتی زمانی که از آن نام برده نشده است تشخیص دهد و به آنها پاسخ دهد.
- Firestore: پایگاه داده سند بدون سرور. دستیار هوش مصنوعی برنامه Chat از Firestore برای ذخیره دادههای مربوط به پیامهای ارسالشده در فضای Chat استفاده میکند.
- Pub/Sub: Pub/Sub سرویس پیامرسانی ناهمزمان و مقیاسپذیری است که سرویسهای تولیدکننده پیام را از سرویسهای پردازشکننده آن پیامها جدا میکند. برنامه Chat دستیار دانش هوش مصنوعی از Pub/Sub برای دریافت رویدادهای اشتراک از فضاهای Chat استفاده میکند.
- Eventarc: Eventarc به شما امکان میدهد معماریهای رویدادمحور را بدون نیاز به پیادهسازی، سفارشیسازی، یا نگهداری زیرساخت زیربنایی بسازید. برنامه Chat دستیار دانش هوش مصنوعی از Eventarc برای مسیردهی رویدادها از Pub/Sub به فضای Chat و «تابع Cloud» که رویدادهای اشتراک را دریافت و پردازش میکند استفاده میکند.
-
توابع ابری:
خدمات محاسباتی بدون سرور سبکی که به شما امکان میدهد
توابع مستقل و تکمنظورهای ایجاد کنید که بتوانند بدون نیاز به مدیریت سرور یا محیط
زمان اجرا، به رویدادهای تعامل و اشتراک Chat پاسخ دهند. برنامه Chat دستیار دانش هوش مصنوعی
از دو «تابع ابری» با نامهای زیر استفاده میکند:
-
app: نقطه پایانی HTTP را میزبانی کنید که Chat رویدادهای تعامل را به آن ارسال میکند و بهعنوان پلاتفرم محاسباتی برای اجرای منطقی که این رویدادها را پردازش و به آنها پاسخ میدهد. -
eventsApp: رویدادهای فضای Chat مثل پیامهای اشتراک Pub/Sub را دریافت و پردازش میکند.
- Cloud Build: پلاتفرم کاملاً مدیریتشدهای برای یکپارچهسازی، ارائه، و استقرار پیوسته که ساختهای خودکارسازیشده را اجرا میکند.
- Cloud Run: محیطی کاملاً مدیریتشده برای اجرای برنامههای محتویسازیشده.
-
آماده کردن محیط
این بخش نحوه ایجاد و پیکربندی پروژه Google Cloud را برای برنامه Chat نشان میدهد.
ایجاد پروژه Google Cloud
Google API Console
- در «کنسول Google API»، به «منو» > IAM و سرپرست > ایجاد پروژه بروید.
-
در فیلد نام پروژه، نامی توصیفی برای پروژه خود وارد کنید.
اختیاری: برای ویرایش شناسه پروژه، روی ویرایش کلیک کنید. شناسه پروژه را نمیتوان پساز ایجاد پروژه تغییر داد، بنابراین شناسهای را انتخاب کنید که در طول عمر پروژه نیازهای شما را برآورده کند.
- در فیلد مکان، روی مرور کردن کلیک کنید تا مکانهای بالقوه برای پروژهتان نمایش داده شود. سپس روی انتخاب کلیک کنید.
- روی ایجاد کردن کلیک کنید. «کنسول Google API» به صفحه «داشبورد» هدایت میشود و پروژه شما ظرف چند دقیقه ایجاد میشود.
gcloud CLI
در یکی از محیطهای توسعه زیر، به Google Cloud
CLI (gcloud) دسترسی پیدا کنید:
-
Cloud Shell: برای استفاده از ترمینال آنلاین با gcloud CLI که ازقبل راهاندازی شده است، Cloud Shell را فعال کنید.
فعال کردن Cloud Shell -
صدف محلی: برای استفاده از محیط توسعه محلی،
«رابط خط فرمان gcloud» را
نصب و
مقداردهی اولیه
کنید.
برای ایجاد پروژه Cloud، از دستورgcloud projects createاستفاده کنید: با تنظیم شناسه برای پروژهای که میخواهید ایجاد کنید، PROJECT_ID را جایگزین کنید.gcloud projects create PROJECT_ID
فعال کردن صورتحساب برای پروژه Cloud
Google API Console
- در «کنسول Google API»، به صورتحساب بروید. روی منو > صورتحساب > پروژههای من کلیک کنید.
- در انتخاب سازمان، سازمانی را که با پروژه Google Cloud شما منسوب است انتخاب کنید.
- در ردیف پروژه، منو کنشها () را باز کنید، روی تغییر صورتحساب کلیک کنید، و حساب Cloud Billing را انتخاب کنید.
- روی تنظیم حساب کلیک کنید.
gcloud CLI
- برای فهرست کردن حسابهای صورتحساب دردسترس، این دستور را اجرا کنید:
gcloud billing accounts list - پیوند دادن حساب صورتحساب با پروژه Google Cloud:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_IDجایگزین کردن موارد زیر:
-
PROJECT_IDشناسه پروژه برای پروژه Cloud است که میخواهید صورتحساب را برای آن فعال کنید. -
BILLING_ACCOUNT_IDشناسه حساب صورتحساب برای پیوند دادن با پروژه Google Cloud است.
-
فعال کردن میاناهای برنامهسازی کاربردی
Google API Console
در «کنسول Google API»، «میانای برنامهسازی کاربردی Google Chat»، «میانای برنامهسازی کاربردی Vertex AI»، «میانای برنامهسازی کاربردی Cloud Functions»، «میانای برنامهسازی کاربردی Firestore»، «میانای برنامهسازی کاربردی Cloud Build»، «میانای برنامهسازی کاربردی Pub/Sub»، «میانای برنامهسازی کاربردی Google Workspace Events»، «میانای برنامهسازی کاربردی Eventarc»، و «میانای برنامهسازی کاربردی Cloud Run Admin» را فعال کنید.
تأیید کنید که میاناهای برنامهسازی کاربردی را در پروژه Cloud صحیح فعال میکنید، سپس روی بعدی کلیک کنید.
تأیید کنید که درحال فعال کردن «میاناهای برنامهسازی کاربردی» صحیح هستید، سپس روی فعال کردن کلیک کنید.
gcloud CLI
درصورت لزوم، پروژه Cloud فعلی را روی پروژهای که ایجاد کردهاید تنظیم کنید:
gcloud config set project PROJECT_IDPROJECT_ID را با شناسه پروژه پروژه Cloud که ایجاد کردهاید جایگزین کنید.
میانای برنامهسازی کاربردی Google Chat، میانای برنامهسازی کاربردی Vertex AI، میانای برنامهسازی کاربردی Cloud Functions، میانای برنامهسازی کاربردی Firestore، میانای برنامهسازی کاربردی Cloud Build، میانای برنامهسازی کاربردی Pub/Sub، میانای برنامهسازی کاربردی رویدادهای Google Workspace، میانای برنامهسازی کاربردی Eventarc، و میانای برنامهسازی کاربردی Cloud Run Admin را فعال کنید:
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
راهاندازی اصالتسنجی و مجوز
اصالتسنجی و صدور مجوز به برنامه Chat اجازه میدهد به منابع در Google Workspace و Google Cloud دسترسی داشته باشد.
در این آموزش گامبهگام، برنامه Google Chat را بهصورت داخلی منتشر میکنید، بنابراین استفاده از اطلاعات جایبان مشکلی ندارد. قبلاز انتشار برنامه Google Chat در خارج، اطلاعات جایبان را با اطلاعات واقعی برای صفحه موافقت جایگزین کنید.
پیکربندی صفحه کسب رضایت OAuth، مشخص کردن محدودهها، و ثبت کردن برنامه
در «کنسول Google API»، به «منو» > پلاتفرم Google Auth > نمانامسازی بروید.
اگر قبلاً پلاتفرم Google Auth را پیکربندی کردهاید، میتوانید تنظیمات «صفحه رضایت OAuth» زیر را در نمانامسازی، مخاطب، و دسترسی به دادهها پیکربندی کنید. اگر پیامی با این مضمون دیدید: پلاتفرم «احراز هویت Google» هنوز پیکربندی نشده است، روی شروع به کار کلیک کنید:
- در بخش اطلاعات برنامه، در نام برنامه،
AI knowledge assistantرا تایپ کنید. - در ایمیل پشتیبانی کاربر، نشانی ایمیل خودتان یا گروه Google مناسبی را انتخاب کنید.
- روی بعدی کلیک کنید.
- در بخش مخاطبان، داخلی را انتخاب کنید. اگر نمیتوانید داخلی را انتخاب کنید، خارجی را انتخاب کنید.
- روی بعدی کلیک کنید.
- در بخش اطلاعات تماس، نشانی ایمیلی وارد کنید که ازطریق آن بتوانید از هرگونه تغییر در پروژهتان مطلع شوید.
- روی بعدی کلیک کنید.
- در بخش تکمیل، خطمشی دادههای کاربر سرویسهای Google API را مرور کنید و درصورت موافقت، با «خطمشی دادههای کاربر سرویسهای Google API» موافقم را انتخاب کنید.
- روی ادامه کلیک کنید.
- روی ایجاد کردن کلیک کنید.
- اگر خارجی را برای نوع کاربر انتخاب کردید، کاربران آزمایش را اضافه کنید:
- روی مخاطبان کلیک کنید.
- در بخش کاربران آزمایش، روی افزودن کاربران کلیک کنید.
- نشانی ایمیل خود و سایر کاربران آزمایش مجاز را وارد کنید، سپس روی ذخیره کلیک کنید.
- در بخش اطلاعات برنامه، در نام برنامه،
روی دسترسی به دادهها > افزودن یا برداشتن محدودهها کلیک کنید. پانلی با فهرستی از محدودهها برای هر API که در پروژه Google Cloud فعال کردهاید ظاهر میشود.
در بخش افزودن دستی دامنهها، دامنه زیر را جایگذاری کنید:
https://www.googleapis.com/auth/chat.messages
روی افزودن به جدول کلیک کنید.
روی بهروزرسانی کلیک کنید.
پساز انتخاب محدودههای موردنیاز برنامهتان، در صفحه دسترسی به دادهها، روی ذخیره کلیک کنید.
ایجاد اعتبارنامههای شناسه کارخواه OAuth
در «کنسول Google API»، به منو > APIs و سرویسها > اطلاعات اعتباری بروید.
روی ایجاد اعتبارنامهها > شناسه کارخواه OAuth کلیک کنید.
روی نوع برنامه > برنامه وب کلیک کنید.
در فیلد نام، نامی برای اطلاعات اعتباری تایپ کنید. این نام فقط در «کنسول Google API» نشان داده میشود.
در بخش شناسههای وب هدایت مجاز، روی افزودن شناسه وب کلیک کنید.
در شناسههای URI 1، موارد زیر را تایپ کنید:
https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2جایگزین کردن موارد زیر:
- REGION: منطقه «عملکرد ابری»، مثل
us-central1. بعداً، وقتی دو «تابع ابری» را ایجاد میکنید، باید منطقه آنها را روی این مقدار تنظیم کنید. - PROJECT_ID: شناسه پروژه پروژه Cloud که ایجاد کردهاید.
- REGION: منطقه «عملکرد ابری»، مثل
روی ایجاد کردن کلیک کنید.
از پنجره کارخواه OAuth ایجاد شد، روی بارگیری JSON کلیک کنید.
فایل بارگیریشده را بهعنوان
credentials.jsonذخیره کنید. بعداً، وقتی دو «کارکرد ابری» را ایجاد میکنید، فایلcredentials.jsonرا در هر استقرار اضافه میکنید.روی تأیید کلیک کنید.
ایجاد موضوع Pub/Sub
موضوع Pub/Sub با میانای برنامهسازی کاربردی رویدادهای Google Workspace کار میکند تا در رویدادهای فضای Chat مانند پیامها مشترک شود و برنامه Chat را بهطور همزمان مطلع کند.
نحوه ایجاد موضوع Pub/Sub در اینجا آمده است:
Google API Console
در «کنسول Google API»، به منو > Pub/Sub بروید.
روی ایجاد موضوع کلیک کنید.
در شناسه موضوع،
events-apiرا تایپ کنید.افزودن اشتراک پیشفرض را لغو انتخاب کنید.
در بخش رمزگذاری، کلید رمزگذاری تحت مدیریت Google را انتخاب کنید.
روی ایجاد کردن کلیک کنید. موضوع Pub/Sub ظاهر میشود.
برای اینکه این موضوع Pub/Sub و «میانای برنامهسازی کاربردی رویدادهای Google Workspace» با هم کار کنند، به کاربر Chat IAM اجازه دهید در موضوع Pub/Sub پست کند:
در پانل events-api، در بخش اجازهها، روی افزودن اصلی کلیک کنید.
در بخش افزودن مدیران، در مدیران جدید،
chat-api-push@system.gserviceaccount.comرا تایپ کنید.در بخش اختصاص نقشها، در انتخاب نقش، Pub/Sub > ناشر Pub/Sub را انتخاب کنید.
روی ذخیره کلیک کنید.
gcloud CLI
موضوع Pub/Sub را با شناسه موضوع
events-apiایجاد کنید:gcloud pubsub topics create events-apiبه کاربر 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 دادهها را از فضاهای Chat، مثل پیامها، حفظ و بازیابی میکند. مدل داده را تعریف نمیکنید، که بهطور ضمنی در کد نمونه توسط فایلهای model/message.js و services/firestore-service.js تنظیم میشود.
پایگاه داده برنامه «دستیار هوشوارهای Chat» از مدل داده NoSQL مبتنی بر سند سازماندهیشده در مجموعه استفاده میکند. برای کسب اطلاعات بیشتر، به مدل داده Firestore مراجعه کنید.
نمودار زیر نمای کلی مدل داده برنامه Chat دستیار دانش هوش مصنوعی است:
ریشه شامل دو مجموعه است:
spaces، که در آن هر سند نشاندهنده فضای Chat است که برنامه Chat به آن اضافه شده است. هر پیام با سندی در زیرمجموعهmessagesنشان داده میشود.
users، که در آن هر سند نشاندهنده کاربری است که برنامه Chat را به فضای Chat اضافه کرده است.
مشاهده تعریفهای مجموعه، سند، و فیلد
spaces
فضای Chat که شامل برنامه Chat دستیار هوش مصنوعی است.
| فیلدها | |
|---|---|
Document ID | Stringشناسه یکتای فضای خاص. بخشی از نام منبع فضا در Chat API. |
messages | Subcollection of Documents (پیامهای ارسالشده در فضای Chat. با Document ID یک message در Firebase مطابقت دارد. |
spaceName | Stringنام منحصربهفرد فضا در Chat API. با نام منبع فضا در Chat API مطابقت دارد. |
messages
پیامهای ارسالشده در فضای Chat.
| فیلدها | |
|---|---|
Document ID | Stringشناسه یکتای یک پیام خاص. |
name | Stringنام منحصربهفرد پیام در Chat API. با نام منبع پیام در Chat API مطابقت دارد. |
text | Stringمتن اصلی پیام. |
time | String (Timestamp format)زمانی که پیام ایجاد شده است. |
users
کاربرانی که برنامه Chat دستیار هوش مصنوعی را به فضای Chat اضافه کردهاند.
| فیلدها | |
|---|---|
Document ID | Stringشناسه یکتای کاربر خاص. |
accessToken | Stringاز کد دسترسی اعطاشده درطول مجوز کاربر OAuth 2.0 برای فراخوانی میاناهای برنامهسازی کاربردی Google Workspace استفاده میشود. |
refreshToken | Stringژتون بازآوری که درطول مجوز کاربر OAuth 2.0 اعطا شده است. |
در اینجا نحوه ایجاد پایگاه داده Firestore آمده است:
Google API Console
در «کنسول Google API»، به منو > Firestore بروید.
روی ایجاد پایگاه داده کلیک کنید.
از انتخاب حالت Firestore، روی حالت بومی کلیک کنید.
روی ادامه کلیک کنید.
پیکربندی پایگاه داده:
در نامگذاری پایگاه داده، شناسه پایگاه داده را روی
(default)بگذارید.در بخش نوع مکان، منطقه را انتخاب کنید.
در منطقه، منطقهای را برای پایگاه دادهتان مشخص کنید، مثلاً
us-central1. برای بهترین عملکرد، مکان یکسان یا نزدیکی را با «توابع ابری» برنامه Chat انتخاب کنید.
روی ایجاد پایگاه داده کلیک کنید.
gcloud CLI
ایجاد پایگاه داده Firestore در حالت «بومی»:
gcloud firestore databases create \ --location=LOCATION \ --type=firestore-nativeLOCATION را با نام منطقه Firestore، مانند
us-central1، جایگزین کنید. برای بهترین عملکرد، مکان یکسان یا نزدیکی را با «توابع ابری» برنامه Chat انتخاب کنید.
ایجاد و استقرار برنامه Chat
اکنون که پروژه Google Cloud شما ایجاد و پیکربندی شده است، آمادهاید تا برنامه Chat را بسازید و مستقر کنید. در این بخش، کارهای زیر را انجام میدهید:
- دو Cloud Functions ایجاد و مستقر کنید. یکی برای پاسخ دادن به رویدادهای تعامل Chat و یکی برای پاسخ دادن به رویدادهای Pub/Sub.
- برنامه Chat را در صفحه پیکربندی Google Chat API ایجاد و پیادهسازی کنید.
ایجاد و مستقر کردن Cloud Functions
در این بخش، دو Cloud Functions با نامهای زیر ایجاد و مستقر میکنید:
app: کد برنامه Chat را که به رویدادهای دریافتی از Chat بهعنوان درخواستهای HTTP پاسخ میدهد میزبانی و اجرا میکند.-
eventsApp: رویدادهای فضای Chat مثل پیامهای Pub/Sub را دریافت و پردازش میکند.
این Cloud Functions در مجموع منطق برنامه Chat دستیار هوش مصنوعی را تشکیل میدهند.
بهصورت اختیاری، قبلاز ایجاد Cloud Functions، چند لحظه وقت بگذارید و کد نمونه میزبانیشده در GitHub را بررسی کنید و با آن آشنا شوید.
ایجاد و مستقر کردن app
Google API Console
کد را از GitHub بهصورت فایل zip بارگیری کنید.
فایل zip بارگیریشده را استخراج کنید.
پوشه استخراجشده حاوی کل مخزن نمونههای Google Workspace است.
در پوشه استخراجشده، به
add-ons-samples-main/node/chat/ai-knowledge-assistantفهرست راهنما پیمایش کنید.در دایرکتوری
add-ons-samples/node/chat/ai-knowledge-assistant، فایلcredentials.jsonرا که هنگام ایجاد کردن اطلاعات اعتباری شناسه کارخواه OAuth برای اصالتسنجی و صدور مجوز بارگیری کردید اضافه کنید.محتوای پوشه
ai-knowledge-assistantرا در فایل zip فشرده کن.فایل zip باید حاوی فایلها و پوشههای زیر باشد:
.gcloudignore.gitignoreREADME.mddeploy.shenv.jsevents_index.jshttp_index.jsindex.jscredentials.jsonpackage-lock.jsonpackage.jsoncontrollers/model/services/test/
در «کنسول Google API»، به منو > توابع Cloud بروید.
مطمئن شوید که پروژه Google Cloud برای برنامه Chat شما انتخاب شده باشد.
روی ایجاد تابع کلیک کنید.
در صفحه ایجاد تابع، تابع خود را راهاندازی کنید:
- در محیط، تابع Cloud Run را انتخاب کنید.
- در نام تابع،
appرا تایپ کنید. - در منطقه، منطقهای مثل
us-central1را انتخاب کنید. این منطقه باید با منطقهای که در نشانی وب هدایت مجاز هنگام ایجاد اعتبارنامههای شناسه کارخواه OAuth برای اصالتسنجی و صدور مجوز تنظیم کردهاید مطابقت داشته باشد. - در نوع راهانداز، HTTPS را انتخاب کنید.
- در بخش اصالتسنجی، اجازه دادن به فراخوانیهای اصالتسنجینشده را انتخاب کنید.
- روی بعدی کلیک کنید.
در زمان اجرا، Node.js 20 را انتخاب کنید.
در نقطه ورودی، نوشتار پیشفرض را حذف کنید و
appرا وارد کنید.در کد منبع، بارگذاری فشرده را انتخاب کنید.
در مخزن مقصد، مخزنی را ایجاد کنید یا انتخاب کنید:
- روی مرور کردن کلیک کنید.
- یک مخزن انتخاب کنید.
- روی انتخاب کلیک کنید.
Google Cloud فایل zip را در این باکت بارگذاری میکند و فایلهای مؤلفه را استخراج میکند. سپس Cloud Functions فایلهای عنصر را در Cloud Function کپی میکند.
در فایل Zip، فایل zip را که از GitHub بارگیری کردهاید، استخراج کردهاید، و دوباره فشرده کردهاید بارگذاری کنید:
- روی مرور کردن کلیک کنید.
- به فایل zip پیمایش کنید و آن را انتخاب کنید.
- روی باز کردن کلیک کنید.
روی استقرار کلیک کنید.
صفحه جزئیات Cloud Functions باز میشود و تابع شما با دو نشانگر پیشرفت ظاهر میشود: یکی برای ساخت و دیگری برای سرویس. وقتی هر دو نشانگر پیشرفت ناپدید شدند و با علامت تیک جایگزین شدند، تابع شما مستقر و آماده است.
کد نمونه را ویرایش کنید تا ثابتها را تنظیم کنید:
- در صفحه جزئیات «کارکرد ابری»، روی ویرایش کلیک کنید.
- روی بعدی کلیک کنید.
- در کد منبع، ویرایشگر بهخط را انتخاب کنید.
- در ویرایشگر مستقیم، فایل
env.jsرا باز و ویرایش کنید:- مقدار project را روی شناسه پروژه Cloud خود تنظیم کنید.
- مقدار location را روی
منطقه «تابع ابری»
، مثل
us-central1، تنظیم کنید.
روی استقرار کلیک کنید.
gcloud CLI
کد را از GitHub شبیهسازی کنید:
git clone https://github.com/googleworkspace/add-ons-samples.gitبه دایرکتوری که کد این «برنامه Chat» دستیار هوش مصنوعی در آن قرار دارد بروید:
cd add-ons-samples/node/chat/ai-knowledge-assistantدر دایرکتوری
add-ons-samples/node/chat/ai-knowledge-assistant، فایلcredentials.jsonرا که هنگام ایجاد کردن اطلاعات اعتباری شناسه کارخواه OAuth برای اصالتسنجی و صدور مجوز بارگیری کردید اضافه کنید.برای تنظیم متغیرهای محیطی، فایل
env.jsرا ویرایش کنید:- مقدار project را روی شناسه پروژه Cloud خود تنظیم کنید.
- مقدار location را روی منطقه Cloud Function تنظیم کنید، مثلاً
us-central1.
«تابع ابری» را در Google Cloud مستقر کنید:
gcloud functions deploy app \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=app \ --trigger-http \ --allow-unauthenticatedREGION را با مقدار منطقه «تابع ابری» جایگزین کنید تا با مقدار تنظیمشده در فایل
env.js، مثلus-central1، مطابقت داشته باشد.
ایجاد و مستقر کردن eventsApp
Google API Console
در «کنسول Google API»، به منو > توابع Cloud بروید.
مطمئن شوید که پروژه Google Cloud برای برنامه Chat شما انتخاب شده باشد.
روی ایجاد تابع کلیک کنید.
در صفحه ایجاد تابع، تابع خود را راهاندازی کنید:
- در محیط، تابع Cloud Run را انتخاب کنید.
- در نام تابع،
eventsAppرا تایپ کنید. - در منطقه، منطقهای مثل
us-central1را انتخاب کنید. این منطقه باید با منطقهای که در نشانی وب هدایت مجاز هنگام ایجاد اعتبارنامههای شناسه کارخواه OAuth برای اصالتسنجی و صدور مجوز تنظیم کردهاید مطابقت داشته باشد. - در نوع راهانداز، Cloud Pub/Sub را انتخاب کنید.
- در موضوع Cloud Pub/Sub، نام موضوع Pub/Sub را که ایجاد کردهاید انتخاب کنید. این نام قالب
projects/PROJECT/topics/events-apiرا دارد که در آن PROJECT شناسه پروژه Cloud شما است. - اگر پیامی را دیدید که با
Service account(s) might not have enough permissions to deploy the function with the selected trigger.شروع میشود، روی اعطای همه کلیک کنید. - روی بعدی کلیک کنید.
در زمان اجرا، Node.js 20 را انتخاب کنید.
در نقطه ورودی، نوشتار پیشفرض را حذف کنید و
eventsAppرا وارد کنید.در کد منبع، فشردهسازی از Cloud Storage را انتخاب کنید.
در مکان Cloud Storage، روی مرور کردن کلیک کنید.
هنگام ایجاد
appCloud Function، سطلی را که فایل zip را در آن بارگذاری کردید انتخاب کنید.روی فایل zip که بارگذاری کردهاید کلیک کنید.
روی انتخاب کلیک کنید.
روی استقرار کلیک کنید.
صفحه جزئیات Cloud Functions باز میشود و تابع شما با سه نشانگر پیشرفت نشان داده میشود: یکی برای ساخت، یکی برای سرویس، و یکی برای راهانداز. وقتی هر سه نشانگر پیشرفت ناپدید شدند و با علامت تأیید جایگزین شدند، تابع شما مستقر و آماده است.
کد نمونه را ویرایش کنید تا ثابتها را تنظیم کنید:
- در صفحه جزئیات «کارکرد ابری»، روی ویرایش کلیک کنید.
- روی بعدی کلیک کنید.
- در کد منبع، ویرایشگر بهخط را انتخاب کنید.
- در ویرایشگر مستقیم، فایل
env.jsرا باز و ویرایش کنید:- مقدار project را روی شناسه پروژه Cloud خود تنظیم کنید.
- مقدار location را روی
منطقه «تابع ابری»
تنظیم کنید،
مثلاً
us-central1.
روی استقرار کلیک کنید.
gcloud CLI
در gcloud CLI، اگر در این دایرکتوری نیستید، به دایرکتوری که کد این دستیار هوش مصنوعی برنامه Chat را دربرمیگیرد بروید. این برنامه را قبلاً از GitHub شبیهسازی کردهاید:
cd add-ons-samples/node/chat/ai-knowledge-assistantدر دایرکتوری
add-ons-samples/node/chat/ai-knowledge-assistant، فایلcredentials.jsonرا که هنگام ایجاد کردن اطلاعات اعتباری شناسه کارخواه OAuth برای اصالتسنجی و صدور مجوز بارگیری کردید اضافه کنید.برای تنظیم متغیرهای محیطی، فایل
env.jsرا ویرایش کنید:- مقدار project را روی شناسه پروژه Cloud خود تنظیم کنید.
- مقدار location را روی منطقه «تابع ابری» تنظیم کنید، مثلاً
us-central1.
«تابع ابری» را در Google Cloud مستقر کنید:
gcloud functions deploy eventsApp \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=eventsApp \ --trigger-topic=events-apiREGION را با مقدار منطقه «تابع ابری» جایگزین کنید تا با مقدار تنظیمشده در فایل
env.js، مثلus-central1، مطابقت داشته باشد.
نشانی وب راهانداز app Cloud Function را کپی کنید
وقتی برنامه Chat را در «کنسول Google API» پیکربندی میکنید، نشانی وب راهانداز app Cloud Function در بخش بعدی جایگذاری میکنید.
Google API Console
در «کنسول Google API»، به منو > توابع Cloud بروید.
در ستون نام فهرست «توابع ابری»، روی
appکلیک کنید.روی راهانداز کلیک کنید.
نشانی وب را کپی کنید.
gcloud CLI
«تابع ابری»
appرا توصیف کنید:gcloud functions describe appدارایی
urlرا کپی کنید.
پیکربندی برنامه Chat در «کنسول Google API»
این بخش نحوه پیکربندی Chat API در «کنسول Google API» را با اطلاعات مربوط به برنامه Chat شما نشان میدهد، ازجمله نام برنامه Chat و نشانی وب راهانداز «عملکرد ابری» برنامه Chat که رویدادهای تعامل Chat را به آن ارسال میکند.
در «کنسول Google API»، روی منو > APIs و سرویسها > APIs و سرویسهای فعال > Google Chat API > پیکربندی کلیک کنید.
در نام برنامه،
AI knowledge assistantرا تایپ کنید.در نشانی وب چهرک،
https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svgرا تایپ کنید.در شرح،
Answers questions with AIرا تایپ کنید.کلید فعال کردن ویژگیهای تعاملی را به حالت روشن تغییر دهید.
در بخش عملکرد، گزینه پیوستن به فضاها و مکالمههای گروهی را انتخاب کنید.
در بخش تنظیمات اتصال، نشانی وب نقطه پایان HTTP را انتخاب کنید.
ایمیل حساب سرویس را کپی کنید. وقتی برنامه Google Chat خود را برای فراخواندن تابع مجاز میکنید، به این ایمیل نیاز دارید.
در بخش محرکها، گزینه استفاده از نشانی وب نقطه پایان HTTP مشترک برای همه محرکها را انتخاب کنید.
در نشانی وب نقطه پایان HTTP، نشانی وب را برای راهانداز «تابع ابری»
appبا قالبhttps://REGION-PROJECT_ID.cloudfunctions.net/appجاییکه REGION منطقه «تابع ابری» است، مثلus-central1و PROJECT_ID شناسه پروژه پروژه ابری است که ایجاد کردهاید، جایگذاری کنید.در بخش رؤیتپذیری، این برنامه Google Chat را برای افراد و گروههای خاصی در دامنهتان دردسترس قرار دهید و نشانی ایمیلتان را وارد کنید.
درصورت تمایل، در بخش گزارشها، گزینه خطاهای گزارش به «گزارشگیری» را انتخاب کنید.
روی ذخیره کلیک کنید. پیام ذخیره شدن پیکربندی نشان داده میشود.
برنامه Chat آماده دریافت و پاسخ دادن به پیامها در Chat است.
آزمایش کردن برنامه Chat
برنامه Chat دستیار دانش هوش مصنوعی را در فضای Chat با پیامها با پرسیدن سؤالاتی که برنامه Chat دستیار دانش هوش مصنوعی میتواند پاسخ دهد آزمایش کنید.
در اینجا چند روش برای آزمایش دستیار هوش مصنوعی برنامه Chat ارائه شده است:
- برنامه Chat دستیار هوش مصنوعی را به فضای Chat موجود اضافه کنید و سؤالاتی بپرسید که مربوط به آن فضا باشد.
- فضای Chat بسازید و چند پیام پست کنید تا بهعنوان منبع داده استفاده شود. پیامها میتوانند از
Gemini با پیاموارهای مثل
Answer 20 common onboarding questions employees ask their teams.یا چند پاراگراف از راهنمای توسعه با نمای کلی Chat منبعیابی شوند و سپس درباره آن سؤال بپرسید.
برای این آموزش گامبهگام، بیایید فضای Chat ایجاد کنیم و چند پاراگراف از راهنمای توسعه با نمای کلی Chat را جایگذاری کنیم.
Google Chat را باز کنید.
ایجاد فضای Chat:
روی گپ جدید > ایجاد فضا کلیک کنید.
در نام فضا،
Testing AI knowledge assistant appرا تایپ کنید.در بخش هدف این فضا چیست؟، همکاری را انتخاب کنید.
در بخش تنظیمات دسترسی، انتخاب کنید چه کسانی میتوانند به فضا دسترسی داشته باشند.
روی ایجاد کردن کلیک کنید.
پیامهایی را اضافه کنید تا بهعنوان منبع داده استفاده شود:
در مرورگر وب، به راهنمای توسعه با نمای کلی Chat بروید.
محتوای راهنما را کپی کنید و در فضای Chat ایجادشده جایگذاری کنید.
برنامه Chat دستیار هوشوارهای دانش را اضافه کنید:
در نوار نوشتن پیام،
@AI knowledge assistantرا تایپ کنید و در منو پیشنهاد که ظاهر میشود، برنامه Chat دستیار هوش مصنوعی دانش را انتخاب کنید وenterرا فشار دهید.پیامی ظاهر میشود که میپرسد آیا میخواهید دستیار هوش مصنوعی برنامه Chat را به فضا اضافه کنید. روی افزودن به فضا کلیک کنید.
اگر اولینبار است که برنامه Chat را به فضایی اضافه میکنید، باید اصالتسنجی و مجوز را برای برنامه Chat پیکربندی کنید:
- روی پیکربندی کلیک کنید.
- پنجره یا برگه مرورگر جدیدی باز میشود و از شما میخواهد «حساب Google» انتخاب کنید. حسابی را که با آن آزمایش میکنید انتخاب کنید.
- اجازههایی را که برنامه Chat دستیار هوش مصنوعی دانش درخواست میکند مرور کنید. برای اعطای این اجازه، روی اجازه دادن کلیک کنید.
- پیامی با عنوان
You may close this page now.نشان داده میشود. پنجره یا برگه مرورگر را ببندید و به فضای Chat برگردید.
یک سؤال بپرسید:
در نوار نوشتن پیام، سؤالی مانند
What are Google Chat apps?تایپ کنیدبرنامه Chat دستیار هوش مصنوعی به سؤالات پاسخ میدهد.
ملاحظات، انتخابهای معماری جایگزین، و مراحل بعدی
این بخش روشهای دیگری را که میتوان برنامه Chat دستیار هوش مصنوعی را ساخت مرور میکند.
Firestore، Cloud Storage، یا فراخوانی «فهرست پیامها» در Chat API
این آموزش توصیه میکند دادههای فضای Chat مثل
پیامها را در پایگاه داده Firestore ذخیره کنید زیرا عملکرد را در مقایسه با
فراخوانی روش list در منبع Message
با Chat API هر بار که
برنامه Chat به سؤالی پاسخ میدهد بهبود میبخشد. علاوهبراین، تماس مکرر با
list messages میتواند باعث شود برنامه Chat به محدودیتهای سهمیه میانای برنامهسازی کاربردی برسد.
بااینحال، اگر سابقه مکالمه فضای Chat خیلی طولانی شود، استفاده از Firestore میتواند پرهزینه شود.
Cloud Storage جایگزینی برای Firestore است. هر فضایی که برنامه Chat دستیار هوش مصنوعی در آن فعال است شیء مخصوص به خود را دارد و هر شیء فایل نوشتاری است که حاوی همه پیامهای فضا است. مزیت این رویکرد این است که محتوای کامل فایل نوشتاری را میتوان بهطور همزمان به Vertex AI با Gemini ارائه داد، اما عیب آن این است که بهروزرسانی سابقه مکالمه کار بیشتری میبرد زیرا نمیتوانید به شیء در «فضای ذخیرهسازی ابری» پیوست کنید، فقط میتوانید آن را جایگزین کنید. اگر بهطور منظم سابقه پیام را بهروز میکنید، این رویکرد منطقی نیست، اما اگر سابقه پیام را بهصورت دستهای و دورهای، مثلاً یک بار در هفته، بهروز میکنید، انتخاب خوبی خواهد بود.
عیبیابی
وقتی برنامه یا کارت Google Chat خطایی برمیگرداند، میانای Chat پیامی را نشان میدهد که میگوید «مشکلی پیش آمد». یا «نمیتوانیم درخواستتان را پردازش کنیم.» گاهیاوقات «میانای کاربری Chat» هیچ پیام خطایی نمایش نمیدهد، اما برنامه Chat یا کارت نتیجه غیرمنتظرهای تولید میکند؛ برای مثال، ممکن است پیام کارت ظاهر نشود.
اگرچه ممکن است پیام خطا در واسط کاربر Chat نمایش داده نشود، پیامهای خطای توصیفی و دادههای گزارش برای کمک به شما در رفع خطاها وقتی گزارش خطا برای برنامههای Chat روشن باشد دردسترس است. برای دریافت راهنمایی درباره مشاهده، اشکالزدایی، و رفع خطاها، عیبیابی و رفع خطاهای Google Chat را ببینید.
مرتبسازی
برای اینکه هزینه منابع استفادهشده در این آموزش به حساب Google Cloud شما اضافه نشود، توصیه میکنیم پروژه Cloud را حذف کنید.
- در «کنسول Google API»، به صفحه مدیریت منابع بروید. روی منو > IAM و سرپرست > مدیریت منابع کلیک کنید.
- در فهرست پروژه، پروژهای را که میخواهید حذف کنید انتخاب کنید و سپس روی حذف کلیک کنید.
- در چارگوش گفتگو، شناسه پروژه را تایپ کنید و سپس روی خاموش کردن کلیک کنید تا پروژه حذف شود.
موضوعات مرتبط
- با کارگزار هوش مصنوعی که در سراسر Google Workspace دردسترس است، سفر برنامهریزی کنید
- پاسخ دادن به مشکلات با Google Chat، Vertex AI، Apps Script، و اصالتسنجی کاربر
- مدیریت پروژهها با Google Chat، Vertex AI، و Firestore
- بیانیهها را با عامل هوش مصنوعی ADK و مدل Gemini درستیسنجی کنید
- ادغام کردن مفاهیم اساسی هوش مصنوعی در برنامههای Chat
- ساختن برنامه Chat بهعنوان برافزای Google Workspace با Apps Script