1. مقدمة
يعرض هذا الدرس التطبيقي كيفية إنشاء تطبيق دردشة مستند إلى الذكاء الاصطناعي ونشره على تطبيق ويب كخدمة تشغيل في السحابة الإلكترونية على Google Cloud. يتيح تطبيق المحادثة هذا للمستخدمين طلب البحث والحصول على ردّ باستخدام نموذج PaLM في Chat حسب نموذج Bison ( text-chat).
ما الذي ستقوم ببنائه
ستقوم بإنشاء
- يشير هذا المصطلح إلى بيئة في Google Cloud لتشغيل التطبيق.
- صورة Docker للتطبيق
- يشير هذا المصطلح إلى خدمة تشغيل في السحابة الإلكترونية يمكنها تشغيل التطبيق.
2. المتطلبات
3- قبل البدء
- في Google Cloud Console، ضمن صفحة أداة اختيار المشاريع، اختَر مشروعًا على Google Cloud أو أنشئه.
- تأكَّد من تفعيل الفوترة لمشروعك على Google Cloud. التعرُّف على كيفية التحقّق مما إذا كانت الفوترة مفعّلة في مشروع
- تفعيل Cloud Shell من وحدة تحكُّم Google Cloud من خلال اتّباع التعليمات الواردة هنا
- إذا لم يتم ضبط مشروعك، استخدِم الأمر التالي لضبطه:
gcloud config set project <YOUR_PROJECT_ID>
- في Cloud Shell، اضبط متغيّرات البيئة التالية:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1
- يمكنك تفعيل واجهات Google Cloud API اللازمة من خلال تنفيذ الأوامر التالية في Cloud Shell Terminal:
gcloud services enable cloudbuild.googleapis.com cloudfunctions.googleapis.com run.googleapis.com logging.googleapis.com storage-component.googleapis.com aiplatform.googleapis.com
4. إعداد البيئة
- لنسخ نموذج الرمز إلى مشروعك، استنسِخ المستودع في Cloud Shell:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
- سيؤدي هذا الأمر إلى استنساخ محتوى مستودع repo في المجلد genai-templates-googlecloud.
- انتقِل إلى مجلد المشروع الذي يهمّنا من خلال تنفيذ الأمر التالي من Cloud Shell Terminal:
cd genai-apptemplates-googlecloud/chat-flask-cloudrun
- اضبط متغيّرات البيئة التالية لإعداد Vertex AI:
GCP_PROJECT : رقم تعريف مشروع Google Cloud الخاص بك. على سبيل المثال: my_project.
GCP_region : المنطقة التي تريد تفعيل وظيفة السحابة فيها. على سبيل المثال: us-central1.
export GCP_PROJECT='YOUR_PROJECT'
export GCP_REGION='us-central1'
5- إنشاء صورة Docker
لإنشاء صورة Docker للتطبيق وإرسالها إلى Artifact Registry، قم بما يلي:
- اضبط متغيّر بيئة لمستودع Artifact Registry. يمكن أن تحتوي الأسماء على أحرف صغيرة وأرقام وواصلات فقط، ويجب أن تبدأ بحرف وتنتهي بحرف أو رقم. مثال: my-chat-app-repo.
export AR_REPO='my-chat-app-repo'
- اضبط متغيّر بيئة لاسم الخدمة. مثال: Chat-flask-app
export SERVICE_NAME='chat-flask-app'
- أنشئ المستودع بتنسيق Docker.
gcloud artifacts repositories create "$AR_REPO" --location="$GCP_REGION" --repository-format=Docker
- إعداد مصادقة Docker.
gcloud auth configure-docker "$GCP_REGION-docker.pkg.dev"
- أنشِئ الصورة.
gcloud builds submit --tag "$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME"
- للتحقّق مما إذا تم إرسال الصورة إلى Artifact Registry، انتقِل إلى صفحة Artifact Registry. ابحث عن المستودع الذي أنشأته على هذه الصفحة.
6- نشر التطبيق
- انشر التطبيق كخدمة على تشغيل السحابة.
gcloud run deploy "$SERVICE_NAME" \
--port=8080 \
--image="$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME" \
--allow-unauthenticated \
--region=$GCP_REGION \
--platform=managed \
--project=$GCP_PROJECT \
--set-env-vars=GCP_PROJECT=$GCP_PROJECT,GCP_REGION=$GCP_REGION
قد يستغرق إكمال هذه الخطوة بضع ثوانٍ.
- لتشغيل تطبيق المحادثة، انقر على عنوان URL للخدمة.
يتم فتح تطبيق المحادثة في علامة تبويب جديدة كما هو موضّح في لقطة الشاشة التالية:
7. تَنظيم
لتجنُّب تحصيل رسوم من حسابك على Google Cloud مقابل الموارد المُستخدَمة في هذه المشاركة، يُرجى اتّباع الخطوات التالية:
- في وحدة تحكُّم Google Cloud، انتقِل إلى صفحة إدارة الموارد.
- في قائمة المشاريع، اختَر المشروع الذي تريد حذفه، ثم انقر على حذف.
- في مربّع الحوار، اكتب رقم تعريف المشروع، ثم انقر على إيقاف التشغيل لحذف المشروع.
- إذا أردت الاحتفاظ بمشروعك، فتخطَّ الخطوات أعلاه واحذف خدمة التشغيل في السحابة الإلكترونية من خلال الانتقال إلى Cloud Run ومن قائمة الخدمات، حدِّد الخدمة التي تريد حذفها وانقر على "حذف".
8. تهانينا
تهانينا لقد نجحت في إنشاء ونشر تطبيق دردشة مستند إلى الذكاء الاصطناعي لتطبيق ويب كخدمة تشغيل على السحابة الإلكترونية على Google Cloud. يمكنك استخدام تطبيق المحادثة هذا للسماح للمستخدمين بإدخال طلب البحث، وسيستدعي هذا التطبيق نموذج محادثة Vertex AI ويقدّم الردّ.