این آموزش نشان میدهد که چگونه میتوانید یک برنامه چت Google بسازید که به سؤالات بر اساس مکالمات در فضاهای چت با هوش مصنوعی مولد مجهز به Vertex AI با Gemini پاسخ میدهد. برنامه Chat از Google Workspace Events API بهعلاوه Pub/Sub برای شناسایی و پاسخگویی به سؤالات پست شده در فضاهای گپ در زمان واقعی استفاده میکند، حتی اگر به آن اشاره نشده باشد.
برنامه چت از همه پیامهای ارسال شده در فضا به عنوان منبع داده و پایگاه دانش استفاده میکند: وقتی کسی سؤالی میپرسد، برنامه Chat پاسخهای قبلی را که قبلاً به اشتراک گذاشته شده است بررسی میکند و سپس یکی را به اشتراک میگذارد. اگر پاسخی پیدا نشد، می گوید نمی تواند پاسخ دهد. در هر پاسخ، کاربران میتوانند روی دکمه عملکرد لوازم جانبی کلیک کنند تا از یک مدیر فضای @ نام ببرند و پاسخ بخواهند. با استفاده از هوش مصنوعی Gemini، برنامه چت Google با آموزش مداوم مکالمات در فضاهایی که به آن اضافه شده است، پایگاه دانش خود را تطبیق داده و رشد میدهد.
در اینجا نحوه عملکرد برنامه Chat در فضای نصب و پشتیبانی کارمند آمده است:
شکل 2. دانا می پرسد که آیا شرکت آموزش سخنرانی عمومی ارائه می دهد یا خیر. شکل 3. برنامه چت دستیار دانش هوش مصنوعی از Vertex AI با Gemini می خواهد تا بر اساس تاریخچه مکالمه فضای چت به سوال دانا پاسخ دهد و سپس پاسخ را به اشتراک بگذارد.
پیش نیازها
یک حساب Google Workspace تجاری یا سازمانی با دسترسی به Google Chat .
برای انجام کارهای زیر به خدمات Google Cloud دسترسی پیدا کنید:
- یک پروژه Google Cloud ایجاد کنید.
- یک حساب صورتحساب Google Cloud را به پروژه Cloud پیوند دهید. برای اطلاع از اینکه آیا دسترسی دارید، به مجوزهای لازم برای فعال کردن صورتحساب مراجعه کنید.
- از فراخوانهای عملکرد Google Cloud احراز هویت نشده استفاده کنید، که میتوانید با تعیین اینکه آیا سازمان Google Cloud شما از اشتراکگذاری محدود دامنه استفاده میکند، تأیید کنید.
در صورت لزوم، از سرپرست Google Cloud خود برای دسترسی یا اجازه بخواهید.
اگر از Google Cloud CLI استفاده می کنید، یک محیط توسعه Node.js برای کار با gcloud CLI پیکربندی شده است. به تنظیم محیط توسعه Node.js مراجعه کنید.
اهداف
- یک برنامه چت بسازید که از هوش مصنوعی مولد برای پاسخ دادن به سوالات بر اساس دانش به اشتراک گذاشته شده در مکالمات فضای چت استفاده می کند.
- با هوش مصنوعی مولد:
- شناسایی و پاسخ به سوالات کارکنان.
- به طور مداوم از مکالمات جاری در فضای چت یاد بگیرید.
- حتی زمانی که برنامه Chat مستقیماً پیام داده نمی شود، به پیام ها در فضای چت به صورت بلادرنگ گوش دهید و به آنها پاسخ دهید.
- پیام ها را با نوشتن و خواندن از یک پایگاه داده Firestore ادامه دهید.
- وقتی پاسخی برای سوالی یافت نشد، با ذکر مدیران فضا، همکاری در فضای چت را تسهیل کنید.
معماری
نمودار زیر معماری Google Workspace و منابع Google Cloud را نشان می دهد که توسط برنامه چت دستیار دانش هوش مصنوعی استفاده می شود.
برنامه چت دستیار دانش هوش مصنوعی به این صورت عمل می کند:
کاربر برنامه چت دستیار دانش هوش مصنوعی را به فضای چت اضافه می کند:
برنامه چت از کاربری که آن را به فضای چت اضافه کرده است می خواهد تا احراز هویت و مجوز را پیکربندی کند.
برنامه Chat با فراخوانی متد
spaces.messages.list
در Chat API، پیامهای فضا را واکشی میکند و سپس پیامهای واکشی شده را در پایگاه داده Firestore ذخیره میکند.برنامه Chat روش
subscriptions.create
را در Google Workspace Events API فراخوانی میکند تا شروع به گوش دادن به رویدادهایی مانند پیامهای موجود در فضا کند. نقطه پایانی اعلان اشتراک یک موضوع Pub/Sub است که از Eventarc برای ارسال رویداد به برنامه Chat استفاده میکند.برنامه چت یک پیام معرفی به فضا ارسال می کند.
کاربری در فضای چت پیامی را ارسال می کند:
برنامه چت پیام را در زمان واقعی از موضوع Pub/Sub دریافت می کند.
برنامه چت پیام را به پایگاه داده Firestore اضافه می کند.
اگر کاربر بعداً پیام را ویرایش یا حذف کند، برنامه Chat رویداد به روز شده یا حذف شده را به صورت بلادرنگ دریافت می کند و سپس پیام را در پایگاه داده Firestore به روز می کند یا حذف می کند.
برنامه چت با Gemini پیام را به Vertex AI ارسال می کند:
اعلان به Vertex AI با Gemini دستور می دهد تا بررسی کند که آیا پیام شامل سؤال است یا خیر. در این صورت، Gemini بر اساس تاریخچه پیام فضای چت که در Firestore نگهداری میشود، به سؤال پاسخ میدهد و برنامه چت Google سپس پیام را به فضای چت ارسال میکند. اگر نشد، جواب نده.
اگر Vertex AI with Gemini به سؤال پاسخ دهد، برنامه Chat با فراخوانی متد
spaces.messages.create
در Chat API با استفاده از احراز هویت برنامه، پاسخ را پست میکند.اگر Vertex AI with Gemini نتواند به این سوال پاسخ دهد، برنامه Chat پیامی ارسال می کند که می گوید نمی تواند پاسخی برای آن سوال در تاریخچه فضای چت پیدا کند.
پیامها همیشه شامل یک دکمه عملکرد لوازم جانبی هستند که کاربران میتوانند روی آن کلیک کنند، که باعث میشود برنامه Chat @ نام مدیر فضایی را ذکر کند که از آنها میخواهد پاسخ دهد.
برنامه Chat یک اعلان چرخه حیات از Google Workspace Events API دریافت میکند مبنی بر اینکه اشتراک فضای گپ در شرف اتمام است:
- برنامه Chat با فراخوانی روش
subscriptions.patch
در Google Workspace Events API درخواستی برای تمدید اشتراک ارسال میکند.
- برنامه Chat با فراخوانی روش
برنامه چت از فضای چت حذف می شود:
برنامه Chat با فراخوانی روش
subscriptions.delete
در Google Workspace Events API اشتراک را حذف میکند.برنامه چت داده های فضای چت را از Firestore حذف می کند.
محصولات استفاده شده توسط برنامه چت دستیار دانش هوش مصنوعی را مرور کنید
برنامه چت دستیار دانش هوش مصنوعی از محصولات Google Workspace و Google Cloud زیر استفاده می کند:
- Vertex AI API with Gemini: یک پلتفرم هوش مصنوعی مولد که توسط Gemini طراحی شده است. برنامه چت دستیار دانش هوش مصنوعی از Vertex AI API با Gemini برای شناسایی، درک و پاسخ به سوالات کارکنان استفاده می کند.
- Chat API : یک API برای توسعه برنامههای Google Chat که رویدادهای تعامل Chat، مانند پیامها را دریافت میکنند و به آنها پاسخ میدهند. برنامه چت دستیار دانش هوش مصنوعی از Chat API برای موارد زیر استفاده می کند:
- رویدادهای تعاملی ارسال شده توسط چت را دریافت کرده و به آنها پاسخ دهید.
- لیست پیام های ارسال شده در یک فاصله
- پاسخ به سوالات کاربر را در یک فضا ارسال کنید.
- ویژگی هایی را پیکربندی کنید که تعیین می کنند چگونه در چت ظاهر شود، مانند نام و تصویر آواتار.
- Google Workspace Events API : این API به شما امکان میدهد در رویدادها مشترک شوید و اعلانهای تغییر را در برنامههای Google Workspace مدیریت کنید. برنامه چت دستیار دانش هوش مصنوعی از Google Workspace Events API برای گوش دادن به پیامهای ارسال شده در فضای چت استفاده میکند تا بتواند سؤالات را حتی زمانی که ذکر نشده است شناسایی کرده و به آنها پاسخ دهد.
- Firestore : یک پایگاه داده اسناد بدون سرور. برنامه چت دستیار دانش هوش مصنوعی از Firestore برای ذخیره دادههای پیامهای ارسال شده در فضای چت استفاده میکند.
- Pub/Sub : Pub/Sub یک سرویس پیام رسانی ناهمزمان و مقیاس پذیر است که سرویس های تولید کننده پیام را از سرویس هایی که آن پیام ها را پردازش می کنند جدا می کند. برنامه چت دستیار دانش هوش مصنوعی از Pub/Sub برای دریافت رویدادهای اشتراک از فضاهای چت استفاده می کند.
- Eventarc : Eventarc به شما امکان میدهد معماریهای رویداد محور را بدون نیاز به پیادهسازی، سفارشیسازی یا نگهداری زیرساختهای زیرین بسازید. برنامه چت دستیار دانش هوش مصنوعی از Eventarc برای هدایت رویدادها از Pub/Sub به فضای چت و تابع Cloud که رویدادهای اشتراک را دریافت و پردازش میکند، استفاده میکند.
- توابع ابری : یک سرویس محاسباتی سبک وزن بدون سرور که به شما امکان میدهد عملکردهای تک منظوره و مستقلی ایجاد کنید که میتوانند بدون نیاز به مدیریت سرور یا محیط زمان اجرا به تعامل چت و رویدادهای اشتراک پاسخ دهند. برنامه چت دستیار دانش هوش مصنوعی از دو تابع Cloud به نامهای زیر استفاده میکند:
-
app
: میزبان نقطه پایانی HTTP است که Chat رویدادهای تعاملی را به آن می فرستد و به عنوان یک پلت فرم محاسباتی برای اجرای منطقی که این رویدادها را پردازش می کند و به آنها پاسخ می دهد. -
eventsApp
: رویدادهای فضای چت مانند پیامهای اشتراک Pub/Sub را دریافت و پردازش میکند.
- Cloud Build : یک پلت فرم پیوسته یکپارچه، تحویل و استقرار کاملاً مدیریت شده که ساختهای خودکار را اجرا میکند.
- Cloud Run : یک محیط کاملاً مدیریت شده برای اجرای برنامه های کانتینری.
-
محیط را آماده کنید
این بخش نحوه ایجاد و پیکربندی یک پروژه Google Cloud را برای برنامه Chat نشان می دهد.
یک پروژه Google Cloud ایجاد کنید
کنسول Google Cloud
- در کنسول Google Cloud، به > IAM & Admin > ایجاد پروژه بروید. منو
- در قسمت Project Name یک نام توصیفی برای پروژه خود وارد کنید.
اختیاری: برای ویرایش شناسه پروژه ، روی ویرایش کلیک کنید. شناسه پروژه پس از ایجاد پروژه قابل تغییر نیست، بنابراین شناسه ای را انتخاب کنید که نیازهای شما را برای طول عمر پروژه برآورده کند.
- در قسمت Location ، روی Browse کلیک کنید تا مکان های احتمالی پروژه شما نمایش داده شود. سپس، روی انتخاب کلیک کنید.
- روی ایجاد کلیک کنید. کنسول Google Cloud به صفحه داشبورد می رود و پروژه شما در عرض چند دقیقه ایجاد می شود.
gcloud CLI
در یکی از محیطهای توسعه زیر، به Google Cloud CLI ( gcloud
) دسترسی پیدا کنید:
- Cloud Shell : برای استفاده از ترمینال آنلاین با Gcloud CLI که قبلاً راه اندازی شده است، Cloud Shell را فعال کنید.
Cloud Shell را فعال کنید - Local Shell : برای استفاده از یک محیط توسعه محلی، gcloud CLI را نصب و مقداردهی اولیه کنید .
برای ایجاد یک پروژه Cloud، از دستورgcloud projects create
استفاده کنید: با تنظیم شناسه پروژه ای که می خواهید ایجاد کنید، PROJECT_ID جایگزین کنید.gcloud projects create PROJECT_ID
صورتحساب پروژه Cloud را فعال کنید
کنسول Google Cloud
- در کنسول Google Cloud، به Billing بروید. صورتحساب > پروژههای من کلیک کنید. >
- در انتخاب سازمان ، سازمان مرتبط با پروژه Google Cloud خود را انتخاب کنید.
- در ردیف پروژه، منوی Actions ( ) را باز کنید، روی Change billing کلیک کنید و حساب 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 است.
-
API ها را فعال کنید
کنسول Google Cloud
در کنسول Google Cloud، Google Chat API، 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ها را در پروژه Cloud صحیح فعال میکنید، سپس روی Next کلیک کنید.
تأیید کنید که API های صحیح را فعال می کنید، سپس روی فعال کردن کلیک کنید.
gcloud CLI
در صورت لزوم، پروژه فعلی Cloud را روی پروژه ای که ایجاد کرده اید تنظیم کنید:
gcloud config set project PROJECT_ID
PROJECT_ID با Project ID پروژه Cloud که ایجاد کردید جایگزین کنید.
Google Chat API، 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
احراز هویت و مجوز را تنظیم کنید
احراز هویت و مجوز به برنامه Chat اجازه میدهد به منابع موجود در Google Workspace و Google Cloud دسترسی داشته باشد.
در این آموزش، شما برنامه Google Chat را به صورت داخلی منتشر میکنید، بنابراین استفاده از اطلاعات مکاننما اشکالی ندارد. قبل از انتشار برنامه Google Chat به صورت خارجی، اطلاعات مکاننما را با اطلاعات واقعی برای صفحه رضایت جایگزین کنید.
صفحه رضایت OAuth را پیکربندی کنید، محدوده ها را مشخص کنید و برنامه خود را ثبت کنید
در کنسول Google Cloud، به > APIs & Services > صفحه رضایت OAuth بروید.
منودر قسمت User type ، Internal را انتخاب کنید، سپس روی Create کلیک کنید.
در نام برنامه ،
AI knowledge assistant
تایپ کنید.در ایمیل پشتیبانی کاربر ، آدرس ایمیل یا یک گروه Google مناسب را انتخاب کنید.
در قسمت اطلاعات تماس برنامهنویس ، آدرس ایمیل خود را وارد کنید.
روی ذخیره و ادامه کلیک کنید.
روی Add or Remove Scopes کلیک کنید. یک پانل با لیستی از محدودهها برای هر API که در پروژه Cloud خود فعال کردهاید ظاهر میشود.
در بخش افزودن دستی دامنهها ، محدوده زیر را جایگذاری کنید:
-
https://www.googleapis.com/auth/chat.messages
-
روی افزودن به جدول کلیک کنید.
روی Update کلیک کنید.
روی ذخیره و ادامه کلیک کنید.
خلاصه ثبت برنامه را مرور کنید، سپس روی بازگشت به داشبورد کلیک کنید.
شناسه مشتری OAuth ایجاد کنید
در کنسول Google Cloud، به > APIs & Services > Credentials بروید.
منوروی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
روی نوع برنامه > برنامه وب کلیک کنید.
در قسمت نام ، نامی را برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
در بخش URIهای تغییر مسیر مجاز ، روی افزودن URI کلیک کنید.
در URIs 1 ، موارد زیر را تایپ کنید:
https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
موارد زیر را جایگزین کنید:
- REGION : منطقه تابع ابر، مانند
us-central1
. بعداً، وقتی دو تابع ابری را ایجاد می کنید، باید ناحیه آنها را روی این مقدار تنظیم کنید. - PROJECT_ID : شناسه پروژه پروژه Cloud که ایجاد کردید.
- REGION : منطقه تابع ابر، مانند
روی ایجاد کلیک کنید.
از پنجره ایجاد شده سرویس گیرنده OAuth ، روی دانلود JSON کلیک کنید.
فایل دانلود شده را به عنوان
client_secrets.json
ذخیره کنید. بعداً، وقتی دو تابع Cloud را ایجاد میکنید، فایلclient_secrets.json
را در هر استقرار اضافه میکنید.روی OK کلیک کنید.
موضوع Pub/Sub را ایجاد کنید
موضوع Pub/Sub با Google Workspace Events API کار میکند تا در رویدادهایی در فضای چت مانند پیامها مشترک شوید و به برنامه چت در زمان واقعی اطلاع دهید.
در اینجا نحوه ایجاد موضوع Pub/Sub آورده شده است:
کنسول Google Cloud
در کنسول Google Cloud، به > Pub/Sub بروید.
منوروی ایجاد موضوع کلیک کنید.
در شناسه موضوع ،
events-api
تایپ کنید.افزودن اشتراک پیشفرض را لغو انتخاب کنید.
در بخش رمزگذاری ، کلید رمزگذاری مدیریت شده توسط Google را انتخاب کنید.
روی ایجاد کلیک کنید. موضوع Pub/Sub ظاهر می شود.
برای اینکه این موضوع Pub/Sub و Google Workspace Events API با هم کار کنند، به کاربر Chat IAM اجازه دهید تا در موضوع Pub/Sub پست کند:
در پانل event-api ، در زیر PERMISSIONS ، روی Add Principal کلیک کنید.
در قسمت Add principals ، در New principals ،
chat-api-push@system.gserviceaccount.com
را تایپ کنید.در قسمت Assign roles ، در Select a role ، Pub/Sub > Pub/Sub Publisher را انتخاب کنید.
روی ذخیره کلیک کنید.
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 باقی می ماند و داده ها را از فضاهای چت، مانند پیام ها، بازیابی می کند. شما مدل داده ای را که به طور ضمنی در کد نمونه توسط فایل های model/message.js
و services/firestore-service.js
تنظیم شده است، تعریف نمی کنید.
پایگاه داده برنامه Chat دستیار دانش هوش مصنوعی از یک مدل داده NoSQL بر اساس اسناد مدل داده Firestore را ببینید.
سازماندهی شده در مجموعه های استفاده می کند. برای کسب اطلاعات بیشتر،نمودار زیر نمای کلی از مدل داده برنامه چت دستیار دانش هوش مصنوعی است:
ریشه شامل دو مجموعه است:
spaces
، جایی که هر سند نشان دهنده فضای چت است که برنامه چت به آن اضافه شده است. هر پیام با یک سند در زیر مجموعهmessages
نشان داده می شود.users
، جایی که هر سند نشان دهنده کاربری است که برنامه چت را به فضای گپ اضافه کرده است.
مجموعه، سند و تعاریف فیلد را مشاهده کنید
spaces
یک فضای چت که شامل برنامه چت دستیار دانش هوش مصنوعی است.
فیلدها | |
---|---|
Document ID | String شناسه منحصر به فرد یک فضای خاص. بخشی از نام منبع فضا در Chat API. |
messages | Subcollection of Documents ( پیام های ارسال شده در فضای چت. با 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 آمده است:
کنسول Google Cloud
در کنسول Google Cloud، به > Firestore بروید.
منوروی ایجاد پایگاه داده کلیک کنید.
از انتخاب حالت Firestore خود ، روی حالت بومی کلیک کنید.
روی Continue کلیک کنید.
دیتابیس را پیکربندی کنید:
در Name your database ، شناسه پایگاه داده را به عنوان
(default)
بگذارید.در قسمت نوع مکان ، منطقه را انتخاب کنید.
در Region ، یک منطقه برای پایگاه داده خود مشخص کنید، مانند
us-central1
. برای بهترین عملکرد، مکان مشابه یا نزدیک را به عنوان عملکردهای ابری برنامه چت انتخاب کنید.
روی ایجاد پایگاه داده کلیک کنید.
gcloud CLI
ایجاد یک پایگاه داده Firestore در حالت Native:
gcloud firestore databases create \ --location=LOCATION \ --type=firestore-native
LOCATION با نام یک منطقه Firestore ، مانند
us-central1
جایگزین کنید. برای بهترین عملکرد، مکان مشابه یا نزدیک را به عنوان عملکردهای ابری برنامه چت انتخاب کنید.
برنامه Chat را ایجاد و اجرا کنید
اکنون که پروژه Google Cloud شما ایجاد و پیکربندی شده است، آماده ساخت و استقرار برنامه Chat هستید. در این بخش کارهای زیر را انجام می دهید:
- ایجاد و استقرار دو تابع ابری. یکی برای پاسخ دادن به رویدادهای تعامل چت و دیگری برای پاسخ دادن به رویدادهای Pub/Sub.
- یک برنامه Chat را در صفحه پیکربندی Google Chat API ایجاد و استقرار دهید.
ایجاد و استقرار توابع ابری
در این بخش، شما دو تابع ابری به نامهای زیر را ایجاد و اجرا میکنید:
-
app
: کد برنامه Chat را میزبانی و اجرا می کند که به رویدادهای دریافت شده از Chat به عنوان درخواست HTTP پاسخ می دهد. -
eventsApp
: رویدادهای فضای چت مانند پیامهای Pub/Sub را دریافت و پردازش میکند.
این توابع Cloud با هم، منطق کاربردی برنامه Chat دستیار دانش هوش مصنوعی را تشکیل می دهند.
در صورت تمایل، قبل از ایجاد توابع Cloud، لحظه ای را به مرور و آشنایی با کد نمونه ای که در GitHub میزبانی شده است اختصاص دهید.
ایجاد و استقرار app
کنسول Google Cloud
کد را از GitHub به صورت یک فایل فشرده دانلود کنید.
فایل فشرده دانلود شده را اکسترکت کنید.
پوشه استخراج شده شامل کل مخزن نمونه های Google Workspace است.
در پوشه استخراج شده، به فهرست راهنمای
google-chat-samples-main/node/ai-knowledge-assistant
بروید.در فهرست راهنمای
google-chat-samples/node/ai-knowledge-assistant
، فایلclient_secrets.json
را که هنگام ایجاد اعتبارنامه مشتری OAuth برای احراز هویت و مجوز دانلود کردهاید، اضافه کنید.محتویات پوشه
ai-knowledge-assistant
را در یک فایل فشرده فشرده کنید.دایرکتوری اصلی فایل فشرده باید حاوی فایل ها و پوشه های زیر باشد:
-
.gcloudignore
-
.gitignore
-
README.md
-
deploy.sh
-
env.js
-
events_index.js
-
http_index.js
-
index.js
-
client_secrets.json
-
package-lock.json
-
package.json
-
controllers/
-
model/
-
services/
-
test/
-
در کنسول Google Cloud، به > عملکردهای ابری بروید.
منومطمئن شوید که پروژه Google Cloud برای برنامه چت شما انتخاب شده است.
روی
Create Function کلیک کنید.در صفحه ایجاد تابع ، تابع خود را تنظیم کنید:
- در Environment ، Cloud Run Function را انتخاب کنید.
- در نام تابع ،
app
تایپ کنید. - در Region ، یک منطقه مانند
us-central1
را انتخاب کنید. این منطقه باید با منطقه ای که در URI تغییر مسیر مجاز تنظیم کرده اید، مطابقت داشته باشد، زمانی که اعتبار شناسه مشتری OAuth را برای احراز هویت و مجوز ایجاد کردید . - در نوع ماشه ، HTTPS را انتخاب کنید.
- در زیر احراز هویت ، اجازه دادن به فراخوان های احراز هویت نشده را انتخاب کنید.
- روی Next کلیک کنید.
در Runtime ، Node.js 20 را انتخاب کنید.
در نقطه ورود ، متن پیش فرض را حذف کرده و وارد
app
شوید.در کد منبع ، آپلود فشرده را انتخاب کنید.
در سطل مقصد ، یک سطل ایجاد یا انتخاب کنید:
- روی Browse کلیک کنید.
- یک سطل انتخاب کنید.
- روی انتخاب کلیک کنید.
Google Cloud فایل فشرده را در این سطل آپلود می کند و فایل های جزء را استخراج می کند. Cloud Functions سپس فایل های جزء را در Cloud Function کپی می کند.
در فایل Zip ، فایل فشردهای را که از GitHub دانلود کردهاید، استخراج و دوباره فشرده کردهاید، آپلود کنید:
- روی Browse کلیک کنید.
- به فایل فشرده بروید و آن را انتخاب کنید.
- روی Open کلیک کنید.
روی Deploy کلیک کنید.
صفحه جزئیات Cloud Functions باز می شود و عملکرد شما با دو نشانگر پیشرفت ظاهر می شود: یکی برای ساخت و دیگری برای سرویس. هنگامی که هر دو نشانگر پیشرفت ناپدید می شوند و با علامت چک جایگزین می شوند، عملکرد شما مستقر و آماده است.
کد نمونه را برای تنظیم ثابت ها ویرایش کنید:
- در صفحه جزئیات عملکرد ابر ، روی ویرایش کلیک کنید.
- روی Next کلیک کنید.
- در کد منبع ، ویرایشگر درون خطی را انتخاب کنید.
- در ویرایشگر داخلی، فایل
env.js
را باز کرده و ویرایش کنید:- مقدار project را به ID پروژه Cloud خود تنظیم کنید.
- مقدار location را مانند
us-central1
روی ناحیه تابع Cloud تنظیم کنید.
روی Deploy کلیک کنید.
gcloud CLI
کد را از GitHub کلون کنید:
git clone https://github.com/googleworkspace/google-chat-samples.git
به فهرستی بروید که کد این برنامه چت دستیار دانش هوش مصنوعی را در خود دارد:
cd google-chat-samples/node/ai-knowledge-assistant
در فهرست راهنمای
google-chat-samples/node/ai-knowledge-assistant
، فایلclient_secrets.json
را که هنگام ایجاد اعتبارنامه مشتری OAuth برای احراز هویت و مجوز دانلود کردهاید، اضافه کنید.فایل
env.js
را برای تنظیم متغیرهای محیط ویرایش کنید:- مقدار project را به ID پروژه Cloud خود تنظیم کنید.
- مقدار location را مانند
us-central1
روی ناحیه تابع Cloud تنظیم کنید.
استقرار تابع 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
کنسول Google Cloud
در کنسول Google Cloud، به > عملکردهای ابری بروید.
منومطمئن شوید که پروژه Google Cloud برای برنامه چت شما انتخاب شده است.
روی
Create Function کلیک کنید.در صفحه ایجاد تابع ، تابع خود را تنظیم کنید:
- در Environment ، Cloud Run Function را انتخاب کنید.
- در نام تابع ،
eventsApp
تایپ کنید. - در Region ، یک منطقه مانند
us-central1
را انتخاب کنید. این منطقه باید با منطقه ای که در URI تغییر مسیر مجاز تنظیم کرده اید، مطابقت داشته باشد، زمانی که اعتبار شناسه مشتری OAuth را برای احراز هویت و مجوز ایجاد کردید . - در نوع Trigger ، 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.
، روی Grant All کلیک کنید. - روی Next کلیک کنید.
در Runtime ، Node.js 20 را انتخاب کنید.
در نقطه ورود ، متن پیش فرض را حذف کرده و وارد
eventsApp
شوید.در کد منبع ، Zip from Cloud Storage را انتخاب کنید.
در مکان ذخیرهسازی ابری ، روی Browse کلیک کنید.
وقتی
app
Cloud Function را ایجاد کردید، سطلی را که فایل فشرده را در آن آپلود کردید انتخاب کنید.روی فایل فشرده ای که آپلود کرده اید کلیک کنید.
روی انتخاب کلیک کنید.
روی Deploy کلیک کنید.
صفحه جزئیات Cloud Functions باز میشود و عملکرد شما با سه نشانگر پیشرفت ظاهر میشود: یکی برای ساخت، یکی برای سرویس و دیگری برای راهانداز. هنگامی که هر سه نشانگر پیشرفت ناپدید می شوند و با علامت چک جایگزین می شوند، عملکرد شما مستقر و آماده است.
کد نمونه را برای تنظیم ثابت ها ویرایش کنید:
- در صفحه جزئیات عملکرد ابر ، روی ویرایش کلیک کنید.
- روی Next کلیک کنید.
- در کد منبع ، ویرایشگر درون خطی را انتخاب کنید.
- در ویرایشگر داخلی، فایل
env.js
را باز کرده و ویرایش کنید:- مقدار project را به ID پروژه Cloud خود تنظیم کنید.
- مقدار location را مانند
us-central1
روی ناحیه تابع Cloud تنظیم کنید.
روی Deploy کلیک کنید.
gcloud CLI
در gcloud CLI، اگر قبلاً آنجا نیستید، به فهرستی بروید که کد این برنامه چت دستیار دانش هوش مصنوعی را که قبلاً از GitHub شبیهسازی کردهاید، در خود جای داده است:
cd google-chat-samples/node/ai-knowledge-assistant
در فهرست راهنمای
google-chat-samples/node/ai-knowledge-assistant
، فایلclient_secrets.json
را که هنگام ایجاد اعتبارنامه مشتری OAuth برای احراز هویت و مجوز دانلود کردهاید، اضافه کنید.فایل
env.js
را برای تنظیم متغیرهای محیط ویرایش کنید:- مقدار project را به ID پروژه Cloud خود تنظیم کنید.
- مقدار location را مانند
us-central1
روی ناحیه تابع Cloud تنظیم کنید.
استقرار تابع 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
Cloud Function را کپی کنید
وقتی برنامه Chat را در کنسول Google Cloud پیکربندی میکنید، نشانی وب راهانداز app
Cloud Function را در بخش بعدی جایگذاری میکنید.
کنسول Google Cloud
در کنسول Google Cloud، به > عملکردهای ابری بروید.
منودر ستون نام لیست توابع ابر، روی
app
کلیک کنید.روی Trigger کلیک کنید.
URL را کپی کنید.
gcloud CLI
عملکرد Cloud
app
را توضیح دهید:gcloud functions describe app
ویژگی
url
را کپی کنید.
برنامه چت را در کنسول Google Cloud پیکربندی کنید
این بخش نحوه پیکربندی Chat API را در کنسول Google Cloud با اطلاعاتی درباره برنامه Chat خود، از جمله نام برنامه Chat و نشانی اینترنتی راهاندازی برنامه Chat Cloud Function که رویدادهای تعامل Chat را به آن ارسال میکند، نشان میدهد.
در کنسول Google Cloud، محصولات بیشتر > Google Workspace > کتابخانه محصول > Google Chat API > مدیریت > پیکربندی کلیک کنید.
>در نام برنامه ،
AI knowledge assistant
تایپ کنید.در URL آواتار ،
https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg
را تایپ کنید.در توضیحات ،
Answers questions with AI
تایپ کنید.روی گزینه فعال کردن ویژگی های تعاملی در موقعیت روشن کلیک کنید.
در بخش Functionality ، Join spaces and group را انتخاب کنید.
در قسمت تنظیمات اتصال ، URL نقطه پایانی HTTP را انتخاب کنید.
در نشانی اینترنتی نقطه پایانی HTTP ، نشانی وب راهانداز را از
app
Cloud Function با قالببندیhttps://
REGION-
PROJECT_ID.cloudfunctions.net/app
جایگذاری کنید که REGION منطقه عملکرد Cloud است، مانندus-central1
و PROJECT_ID شناسه پروژه Cloud است. پروژه ای که ایجاد کردیددر قسمت Visibility ، این برنامه چت را برای افراد و گروههای خاصی در دامنه Workspace در دسترس قرار دهید را انتخاب کنید و آدرس ایمیل خود را وارد کنید.
به صورت اختیاری، در زیر Logs ، Log errors to Logging را انتخاب کنید.
روی ذخیره کلیک کنید. یک پیام ذخیره شده پیکربندی ظاهر می شود، به این معنی که برنامه Chat برای آزمایش آماده است.
برنامه چت را تست کنید
با پرسیدن سوالاتی که برنامه چت دستیار دانش هوش مصنوعی می تواند به آنها پاسخ دهد، برنامه چت دستیار دانش هوش مصنوعی را در فضای چت با پیام ها آزمایش کنید.
در اینجا چند راه برای آزمایش برنامه چت دستیار دانش هوش مصنوعی آورده شده است:
- برنامه چت دستیار دانش هوش مصنوعی را به فضای چت موجود اضافه کنید و سوالات مرتبط با آن فضا را بپرسید.
- یک فضای چت ایجاد کنید و چند پیام برای استفاده به عنوان منبع داده ارسال کنید. پیامها را میتوان از Gemini با اعلانی مانند
Answer 20 common onboarding questions employees ask their teams.
یا، میتوانید چند پاراگراف از برنامه توسعه با راهنمای نمای کلی چت را جایگذاری کنید و سپس درباره آن سؤال بپرسید.
برای این آموزش، اجازه میدهیم یک فضای چت ایجاد کنیم و چند پاراگراف از برنامه توسعه با راهنمای نمای کلی چت را بچسبانیم.
Google Chat را باز کنید.
ایجاد فضای چت:
> ایجاد فاصله کلیک کنید.
گپ جدیددر نام Space ،
Testing AI knowledge assistant app
تایپ کنید.زیر این فضا برای چیست؟ ، همکاری را انتخاب کنید.
در قسمت تنظیمات دسترسی ، افرادی را که می توانند به فضا دسترسی داشته باشند را انتخاب کنید.
روی ایجاد کلیک کنید.
پیام هایی را برای استفاده به عنوان منبع داده اضافه کنید:
در یک مرورگر وب، از راهنمای توسعه با چت بازدید کنید.
محتوای راهنما را کپی کرده و در فضای چتی که ایجاد کرده اید جایگذاری کنید.
برنامه چت دستیار دانش هوش مصنوعی را اضافه کنید:
در نوار نوشتن پیام،
@AI knowledge assistant
تایپ کنید و در منوی پیشنهادی که ظاهر میشود، برنامه چت دستیار دانش هوش مصنوعی را انتخاب کنید وenter
فشار دهید.پیامی ظاهر می شود که از شما می پرسد آیا می خواهید برنامه چت دستیار دانش هوش مصنوعی را به فضا اضافه کنید. روی افزودن به فضا کلیک کنید.
اگر این اولین باری است که برنامه Chat را به یک فضا اضافه میکنید، باید احراز هویت و مجوز را برای برنامه Chat پیکربندی کنید:
- روی پیکربندی کلیک کنید.
- یک پنجره یا تب جدید مرورگر باز می شود که از شما می خواهد یک حساب Google انتخاب کنید. حسابی را که با آن تست می کنید انتخاب کنید.
- مجوزهایی را که برنامه چت دستیار دانش هوش مصنوعی درخواست می کند، مرور کنید. برای اعطای آنها، روی اجازه کلیک کنید.
- پیامی که می گوید
You may close this page now.
ظاهر می شود. پنجره یا برگه مرورگر را ببندید و به فضای چت بازگردید.
یک سوال بپرسید:
در نوار نوشتن پیام، سؤالی مانند
What are Google Chat apps?
برنامه چت دستیار دانش هوش مصنوعی پاسخ می دهد.
در صورت تمایل، اگر پاسخ دقیق یا کافی نیست، برای کمک به بهبود سابقه مکالمه هوش مصنوعی، روی
دریافت کمک کلیک کنید. برنامه چت دستیار دانش هوش مصنوعی از یک مدیر فضایی نام می برد و از آنها می خواهد که به این سوال پاسخ دهند. دفعه بعد، برنامه چت دستیار دانش هوش مصنوعی پاسخ را خواهد فهمید!
ملاحظات، انتخاب های معماری جایگزین، و مراحل بعدی
این بخش روشهای دیگری را که میتوان برنامه چت دستیار دانش هوش مصنوعی را ساخت، بررسی میکند.
Firestore، Cloud Storage، یا لیست پیامهای تماس در Chat API
این آموزش توصیه میکند که دادههای فضای چت مانند پیامها را در پایگاه داده Firestore ذخیره کنید، زیرا عملکرد را در مقایسه با فراخوانی روش list
در منبع Message
با Chat API هر بار که برنامه چت به سؤالی پاسخ میدهد، بهبود میبخشد. بعلاوه، تماس مکرر list messages
تماس میتواند باعث شود برنامه Chat به محدودیتهای سهمیه API برسد.
با این حال، اگر سابقه مکالمه یک فضای چت بیش از حد طولانی شود، استفاده از Firestore می تواند پرهزینه شود.
Cloud Storage جایگزینی برای Firestore است. هر فضایی که برنامه چت دستیار دانش هوش مصنوعی در آن فعال است، شی خاص خود را دریافت می کند و هر شی یک فایل متنی است که حاوی تمام پیام های موجود در فضا است. مزیت این روش این است که محتویات کامل فایل متنی را می توان به طور همزمان به Vertex AI با Gemini وارد کرد، اما اشکال این است که برای به روز رسانی تاریخچه مکالمه کار بیشتری لازم است زیرا نمی توانید به یک شی در Cloud اضافه کنید. ذخیره سازی، فقط آن را جایگزین کنید. اگر بهطور منظم تاریخچه پیام را بهروزرسانی کنید، این رویکرد منطقی نیست، اما اگر تاریخچه پیام را بهطور دورهای، مثلاً یک بار در هفته، بهصورت دستهای بهروزرسانی کنید، انتخاب خوبی خواهد بود.
عیب یابی
وقتی یک برنامه یا کارت Google Chat خطایی را برمیگرداند، رابط Chat پیامی را نشان میدهد که میگوید «مشکلی پیش آمده است». یا "نمی توان به درخواست شما رسیدگی کرد." گاهی اوقات Chat UI هیچ پیام خطایی را نمایش نمی دهد، اما برنامه یا کارت Chat نتیجه غیرمنتظره ای ایجاد می کند. برای مثال، ممکن است پیام کارت ظاهر نشود.
اگرچه ممکن است پیام خطا در رابط کاربری گپ نمایش داده نشود، پیامهای خطای توصیفی و دادههای گزارش در دسترس هستند تا به شما کمک کنند هنگام فعال بودن ثبت خطا برای برنامههای گپ، خطاها را برطرف کنید. برای راهنمایی برای مشاهده، اشکالزدایی و رفع خطاها، به عیبیابی و رفع خطاهای Google Chat مراجعه کنید.
پاک کن
برای جلوگیری از تحمیل هزینه به حساب Google Cloud خود برای منابع استفاده شده در این آموزش، توصیه می کنیم پروژه Cloud را حذف کنید.
- در کنسول Google Cloud، به صفحه مدیریت منابع بروید. IAM & Admin > Manage Resources کلیک کنید. >
- در لیست پروژه، پروژه ای را که می خواهید حذف کنید انتخاب کنید و سپس روی حذف کلیک کنید.
- در گفتگو، ID پروژه را تایپ کنید و سپس بر روی Shut down کلیک کنید تا پروژه حذف شود.
موضوعات مرتبط
- پروژه ها را با Google Chat، Vertex AI و Firestore مدیریت کنید
- با Google Chat، Vertex AI و Apps Script به حوادث پاسخ دهید