وكيل الذكاء الاصطناعي التوليدي في Slack لطرح الأسئلة حول المستندات والإجراءات باستخدام طلبات بيانات من واجهة برمجة التطبيقات

1. نظرة عامة

في هذا التمرين العملي، ستنشئ وكيل ذكاء اصطناعي توليدي، وتربطه بتطبيق Cloud Run، وتدمجه في مساحة عمل Slack.

3301e2bb69be325.png

ما ستتعلمه

يتضمّن المختبر عدة أجزاء رئيسية:

  • نشر تطبيق Cloud Run لدمجه مع Gemini APIs
  • إنشاء وكيل حواري وتفعيله في "تطبيقات الذكاء الاصطناعي"
  • دمج Agent في Slack
  • ضبط مستودع البيانات الخاص بميزة "سين وجيم" في مستندات PDF

المتطلبات الأساسية

  • يفترض هذا التمرين العملي معرفة بيئتَي Cloud Console وCloud Shell.

2. الإعداد والمتطلبات

إعداد مشروع على السحابة الإلكترونية

  1. سجِّل الدخول إلى Google Cloud Console وأنشِئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. إذا لم يكن لديك حساب على Gmail أو Google Workspace، عليك إنشاء حساب.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • اسم المشروع هو الاسم المعروض للمشاركين في هذا المشروع. وهي سلسلة أحرف لا تستخدمها Google APIs. ويمكنك تعديلها في أي وقت.
  • رقم تعريف المشروع هو معرّف فريد في جميع مشاريع Google Cloud ولا يمكن تغييره بعد ضبطه. تنشئ Cloud Console تلقائيًا سلسلة فريدة، ولا يهمّك عادةً ما هي. في معظم دروس البرمجة، عليك الرجوع إلى رقم تعريف مشروعك (يُشار إليه عادةً باسم PROJECT_ID). إذا لم يعجبك رقم التعريف الذي تم إنشاؤه، يمكنك إنشاء رقم تعريف عشوائي آخر. يمكنك بدلاً من ذلك تجربة اسم من اختيارك ومعرفة ما إذا كان متاحًا. لا يمكن تغيير هذا الخيار بعد هذه الخطوة وسيظل ساريًا طوال مدة المشروع.
  • للعلم، هناك قيمة ثالثة، وهي رقم المشروع، تستخدمها بعض واجهات برمجة التطبيقات. يمكنك الاطّلاع على مزيد من المعلومات عن كل هذه القيم الثلاث في المستندات.
  1. بعد ذلك، عليك تفعيل الفوترة في Cloud Console لاستخدام موارد/واجهات برمجة تطبيقات Cloud. لن تكلفك تجربة هذا الدرس التطبيقي حول الترميز الكثير، إن وُجدت أي تكلفة على الإطلاق. لإيقاف الموارد وتجنُّب تحمّل تكاليف فوترة تتجاوز هذا البرنامج التعليمي، يمكنك حذف الموارد التي أنشأتها أو حذف المشروع. يمكن لمستخدمي Google Cloud الجدد الاستفادة من برنامج الفترة التجريبية المجانية بقيمة 300 دولار أمريكي.

إعداد البيئة

افتح محادثة Gemini.

e1e9ad314691368a.png

فعِّل واجهة برمجة التطبيقات Gemini for Google Cloud API باتّباع الخطوات التالية:

933612a23648361c.png

b366894eb450f862.png

انقر على "Start chatting" واتّبِع أحد الأسئلة النموذجية أو اكتب طلبك الخاص لتجربته.

ed120d672468b412.png

إليك بعض الطلبات التي يمكن تجربتها:

  • اشرح Cloud Run في 5 نقاط رئيسية.
  • أنا مدير منتج Cloud Run في Google Cloud، وأريد شرح Cloud Run لطالب في 5 نقاط رئيسية قصيرة.
  • أنت مدير منتج في Google Cloud Run، اشرح خدمة Cloud Run لمطوّر معتمد في Kubernetes في 5 نقاط رئيسية قصيرة.
  • أنت مدير منتج في Google Cloud Run، اشرح متى تستخدم Cloud Run بدلاً من GKE لمطوّر أقدم في 5 نقاط رئيسية قصيرة.

يمكنك الاطّلاع على دليل الطلبات لمعرفة المزيد حول كتابة طلبات أفضل.

كيف يستخدم "Gemini في Google Cloud" بياناتك؟

التزام Google بالخصوصية

كانت Google من أوائل الشركات في المجال التي نشرت التزامًا بشأن خصوصية الذكاء الاصطناعي/تعلُّم الآلة، والذي يوضّح اعتقادنا بأنّه يجب أن يحصل العملاء على أعلى مستوى من الأمان والتحكّم في بياناتهم المخزّنة في السحابة الإلكترونية.

البيانات التي ترسلها وتتلقّاها

تُعرف الأسئلة التي تطرحها على Gemini، بما في ذلك أي معلومات أو رموز برمجية ترسلها إلى Gemini لتحليلها أو إكمالها، باسم الطلبات. تُعرف الإجابات أو عمليات إكمال الرمز البرمجي التي تتلقّاها من Gemini باسم الردود. لا يستخدم Gemini طلباتك أو ردوده كبيانات لتدريب نماذجه.

تشفير الطلبات

عند إرسال طلبات إلى Gemini، يتم تشفير بياناتك أثناء نقلها كمدخلات إلى النموذج الأساسي في Gemini.

بيانات البرنامج من إنشاء Gemini

يتم تدريب Gemini على رمز Google Cloud للطرف الأول بالإضافة إلى رمز الطرف الثالث المحدّد. تتحمّل أنت مسؤولية أمان الرمز واختباره وفعاليته، بما في ذلك أي عملية إكمال أو إنشاء أو تحليل للرمز يقدّمه لك Gemini.

مزيد من المعلومات حول طريقة Google في معالجة طلباتك

3- خيارات لاختبار الطلبات

تتوفّر لك عدة خيارات لاختبار الطلبات.

‫Vertex AI Studio هو جزء من منصة Vertex AI من Google Cloud، وهو مصمَّم خصيصًا لتبسيط عملية تطوير نماذج الذكاء الاصطناعي التوليدي وتسريعها واستخدامها.

‫Google AI Studio هي أداة مستندة إلى الويب تتيح إنشاء نماذج أولية وتجربة هندسة الطلبات وGemini API.

تطبيق Google Gemini للويب (gemini.google.com) هو أداة مستندة إلى الويب مصمّمة لمساعدتك في استكشاف إمكانات نماذج الذكاء الاصطناعي Gemini من Google والاستفادة منها.

4. إنشاء نسخة طبق الأصل من المستودع

ارجع إلى Google Cloud Console وفعِّل Cloud Shell من خلال النقر على الرمز على يسار شريط البحث.

3e0c761ca41f315e.png

إذا طُلب منك منح الإذن، انقر على "منح الإذن" للمتابعة.

6356559df3eccdda.png

في الوحدة الطرفية المفتوحة، نفِّذ الأوامر التالية

git clone https://github.com/GoogleCloudPlatform/genai-for-developers.git

cd genai-for-developers

git checkout slack-agent-jira-lab

انقر على "فتح المحرّر"

63e838aebfdd2423.png

باستخدام عنصر القائمة "File / Open Folder"، افتح "genai-for-developers".

e3b9bd9682acf539.png

فتح نافذة وحدة طرفية جديدة

4d9c41ab01ff4e97.png

5- إنشاء حساب خدمة

أنشئ حساب خدمة جديدًا. ستستخدم حساب الخدمة هذا لإجراء طلبات البيانات من واجهة برمجة التطبيقات إلى Vertex AI Gemini API من تطبيق Cloud Run.

اضبط تفاصيل المشروع باستخدام تفاصيل مشروعك على qwiklabs.

مثلاً: qwiklabs-gcp-00-2c10937585bb

gcloud config set project YOUR_QWIKLABS_PROJECT_ID

أنشئ حساب خدمة.

export LOCATION=us-central1
export PROJECT_ID=$(gcloud config get-value project)
export SERVICE_ACCOUNT_NAME='vertex-client'
export DISPLAY_NAME='Vertex Client'

gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME --project $PROJECT_ID --display-name "$DISPLAY_NAME"

منح الأدوار

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/aiplatform.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/aiplatform.user"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudbuild.builds.editor"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/artifactregistry.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/storage.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/run.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/secretmanager.secretAccessor"

فعِّل الخدمات المطلوبة لاستخدام واجهات Vertex AI API وميزة "محادثة Gemini".

gcloud services enable \
    generativelanguage.googleapis.com \
    aiplatform.googleapis.com \
    cloudaicompanion.googleapis.com \
    dialogflow.googleapis.com \
    run.googleapis.com \
    cloudresourcemanager.googleapis.com \
    discoveryengine.googleapis.com

فعِّل الخدمات المطلوبة لاستخدام واجهات Vertex AI API وميزة "محادثة Gemini".

gcloud services enable \
    artifactregistry.googleapis.com \
    cloudbuild.googleapis.com \
    runapps.googleapis.com \
    workstations.googleapis.com \
    servicemanagement.googleapis.com \
    secretmanager.googleapis.com \
    containerscanning.googleapis.com

استخدام Gemini Code Assist لشرح الرموز البرمجية

افتح الملف "devai-api/app/routes.py"، ثم انقر بزر الماوس الأيمن في أي مكان في الملف واختَر "Gemini Code Assist > Explain this"" من قائمة السياق.

427ed40dd44cab8a.png

راجِع شرح Gemini للملف المحدّد.

a286d1e85bc42960.png

6. نشر Devai-API على Cloud Run

تأكَّد من أنّك في المجلد الصحيح.

cd ~/genai-for-developers/devai-api

في هذا المختبر، نتّبع أفضل الممارسات ونستخدم Secret Manager لتخزين قيم "الرمز المميز للوصول" و"مفتاح واجهة برمجة التطبيقات" في LangChain والإشارة إليها في Cloud Run.

اضبط متغيرات البيئة. نفِّذ هذا الأمر كما هو بدون أي تغييرات.

export JIRA_API_TOKEN=your-jira-token
export JIRA_USERNAME="YOUR-EMAIL"
export JIRA_INSTANCE_URL="https://YOUR-JIRA-PROJECT.atlassian.net"
export JIRA_PROJECT_KEY="YOUR-JIRA-PROJECT-KEY"
export JIRA_CLOUD=true

export GITLAB_PERSONAL_ACCESS_TOKEN=your-gitlab-token
export GITLAB_URL="https://gitlab.com"
export GITLAB_BRANCH="devai"
export GITLAB_BASE_BRANCH="main"
export GITLAB_REPOSITORY="GITLAB-USERID/GITLAB-REPO"

export LANGCHAIN_API_KEY=your-langchain-key
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_ENDPOINT="https://api.smith.langchain.com"

إنشاء العديد من الأسرار وتخزينها في Secret Manager

echo -n $JIRA_API_TOKEN | \
 gcloud secrets create JIRA_API_TOKEN \
 --data-file=-

echo -n $GITLAB_PERSONAL_ACCESS_TOKEN | \
 gcloud secrets create GITLAB_PERSONAL_ACCESS_TOKEN \
 --data-file=-

echo -n $LANGCHAIN_API_KEY | \
 gcloud secrets create LANGCHAIN_API_KEY \
 --data-file=-

نشر التطبيق على Cloud Run

gcloud run deploy devai-api \
  --source=. \
  --region="$LOCATION" \
  --allow-unauthenticated \
  --service-account vertex-client \
  --set-env-vars PROJECT_ID="$PROJECT_ID" \
  --set-env-vars LOCATION="$LOCATION" \
  --set-env-vars GITLAB_URL="$GITLAB_URL" \
  --set-env-vars GITLAB_REPOSITORY="$GITLAB_REPOSITORY" \
  --set-env-vars GITLAB_BRANCH="$GITLAB_BRANCH" \
  --set-env-vars GITLAB_BASE_BRANCH="$GITLAB_BASE_BRANCH" \
  --set-env-vars JIRA_USERNAME="$JIRA_USERNAME" \
  --set-env-vars JIRA_INSTANCE_URL="$JIRA_INSTANCE_URL" \
  --set-env-vars JIRA_PROJECT_KEY="$JIRA_PROJECT_KEY" \
  --set-env-vars JIRA_CLOUD="$JIRA_CLOUD" \
  --set-env-vars LANGCHAIN_TRACING_V2="$LANGCHAIN_TRACING_V2" \
  --update-secrets="LANGCHAIN_API_KEY=LANGCHAIN_API_KEY:latest" \
  --update-secrets="GITLAB_PERSONAL_ACCESS_TOKEN=GITLAB_PERSONAL_ACCESS_TOKEN:latest" \
  --update-secrets="JIRA_API_TOKEN=JIRA_API_TOKEN:latest" \
  --min-instances=1 \
  --max-instances=3

أدخِل Y لإنشاء مستودع Docker في Artifact Registry.

Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in 
region [us-central1] will be created.

Do you want to continue (Y/n)?  y

اطلب من Gemini شرح الأمر:

What does this command do?

gcloud run deploy devai-api \
  --source=. \
  --region="$LOCATION" \
  --allow-unauthenticated \
  --service-account vertex-client \
  --set-env-vars PROJECT_ID="$PROJECT_ID" \
  --set-env-vars LOCATION="$LOCATION" \
  --set-env-vars GITLAB_URL="$GITLAB_URL" \
  --set-env-vars GITLAB_REPOSITORY="$GITLAB_REPOSITORY" \
  --set-env-vars GITLAB_BRANCH="$GITLAB_BRANCH" \
  --set-env-vars GITLAB_BASE_BRANCH="$GITLAB_BASE_BRANCH" \
  --set-env-vars JIRA_USERNAME="$JIRA_USERNAME" \
  --set-env-vars JIRA_INSTANCE_URL="$JIRA_INSTANCE_URL" \
  --set-env-vars JIRA_PROJECT_KEY="$JIRA_PROJECT_KEY" \
  --set-env-vars JIRA_CLOUD="$JIRA_CLOUD" \
  --set-env-vars LANGCHAIN_TRACING_V2="$LANGCHAIN_TRACING_V2" \
  --update-secrets="LANGCHAIN_API_KEY=LANGCHAIN_API_KEY:latest" \
  --update-secrets="GITLAB_PERSONAL_ACCESS_TOKEN=GITLAB_PERSONAL_ACCESS_TOKEN:latest" \
  --update-secrets="JIRA_API_TOKEN=JIRA_API_TOKEN:latest" \
  --min-instances=1 \
  --max-instances=3

34ed504e0bcf697b.png

راجِع مسار gcloud run deploy SERVICE_NAME --source=. أدناه. مزيد من المعلومات

5c122a89dd11822e.png

وراء الكواليس، يستخدم هذا الأمر buildpacks وCloud Build من Google Cloud لإنشاء صور حاويات تلقائيًا من الرمز المصدر بدون الحاجة إلى تثبيت Docker على جهازك أو إعداد حِزم الإنشاء أو Cloud Build. أي أنّ الأمر الفردي الموضّح أعلاه ينفّذ ما كان يتطلّب استخدام الأمرَين gcloud builds submit وgcloud run deploy.

إذا كنت قد قدّمت Dockerfile(كما فعلنا في هذا المستودع)، سيستخدمه Cloud Build لإنشاء صور الحاويات بدلاً من الاعتماد على حِزم الإنشاء لرصد صور الحاويات وإنشائها تلقائيًا. لمزيد من المعلومات حول حِزم الإنشاء، اطّلِع على المستندات.

راجِع سجلّات Cloud Build في وحدة التحكّم.

راجِع صورة Docker التي تم إنشاؤها في Artifact Registry.

راجِع تفاصيل مثيل Cloud Run في Cloud Console.

اختبِر نقطة النهاية من خلال تنفيذ أمر curl.

curl -X POST \
   -H "Content-Type: application/json" \
   -d '{"prompt": "PROJECT-100"}' \
   $(gcloud  run services list --filter="(devai-api)" --format="value(URL)")/generate

سيكون الرد بتنسيق Markdown. يتم عرضها في وضع المعاينة لتسهيل قراءتها.

bda86deaa1c449a8.png

7. التطبيقات المستندة إلى الذكاء الاصطناعي

في شريط البحث في Google Cloud Console، اكتب "AI Applications" وافتحها.

3f8540f5c946e199.png

إنشاء تطبيق Conversational Agent:

6f372cbe4935c507.png

انقر على "Build your own".

5305cb9a8320f468.png

اكتب "Agent" في حقل "الاسم المعروض" وانقر على "إنشاء".

e0056adc2f8af87.png

تحديد اسم دليل التشغيل:

Agent

تحديد الهدف:

Help users with questions about JIRA project

ضبط التعليمات:

- Greet the users, then ask how you can help them today.
- Summarize the user's request and ask them to confirm that you understood correctly.
  - If necessary, seek clarifying details.
- Thank the user for their business and say goodbye.

انقر على "Save":

bb2569de77cd1f06.png

اختبِر الوكيل باستخدام محادثة المحاكي على الجانب الأيسر:

593dd4b8fc4c20d9.png

اتّبِع المحادثات المشابهة كما هو موضّح أدناه:

66a7569835ebc7e7.png

إعدادات أدوات الوكيل

مرِّر مؤشر الماوس فوق رمز مفتاح الربط على يمين الشاشة. افتح قائمة "الأدوات" وأنشئ أداة جديدة:

ff635e2d135ea6d8.png

انقر على OpenAPI من القائمة المنسدلة "النوع".

تحديد اسم الأداة:

jira-project-status

وصف المجموعة:

Provides JIRA project status

بدِّل علامات التبويب وتحقّق من ناتج وحدة التحكّم لعنوان URL الخاص بخدمة Cloud Run. انسخ قيمة عنوان URL للخدمة.

اضبط المخطط (YAML) - استبدِل YOUR CLOUD RUN URL.

openapi: 3.0.0
info:
 title: CR API
 version: 1.0.0
 description: >-
   This is the OpenAPI specification of a service.
servers:
 - url: 'https://YOUR CLOUD RUN URL'
paths:

 /generate:
   post:
     summary: Request impl
     operationId: generate
     requestBody:
       description: Request impl
       required: true
       content:
         application/json:
           schema:
             $ref: '#/components/schemas/Prompt'
     responses:
       '200':
         description: Generated
         content:
           application/json:
             schema:
               $ref: '#/components/schemas/ProjectStatus'
                  
components:
 schemas:
   Prompt:
     type: object
     required:
       - prompt
     properties:
       prompt:
         type: string
   ProjectStatus:
     type: object
     required:
       - message
     properties:
       message:
         type: string

احفظ إعدادات الأداة باتّباع الخطوات التالية:

ae78c21f48754d7a.png

ارجع إلى "إعدادات الوكيل" من خلال النقر على "كتيبات الإرشادات" من القائمة اليمنى، وعدِّل التعليمات لاستخدام الأداة:

أضِف تعليمات لاستخدام الأداة الجديدة وانقر على "Save":

- Use ${TOOL: jira-project-status} to help the user with JIRA project status.

16755dd3aaf3888.png

انتقِل إلى علامة التبويب "Examples" وأضِف مثالاً جديدًا:

a74004679865ab6e.png

ضبط الاسم المعروض:

jira-project-flow

استخدِم القائمة في أسفل الصفحة لإنشاء نموذج للمحادثة بين المستخدم والوكيل:

أمثلة على الأسئلة التي سيتمّ طرحها:

ردّ الوكيل: ما هو رقم تعريف المشروع؟

إدخال المستخدم: TEST-PROJECT-100

استخدام الأداة: jira-project-status

ردّ الموظف: تفاصيل حالة المشروع

6d54f90f1dc630fc.png

استخدِم المرجع أدناه لإنشاء المثال.

c80eef4210256e5a.png

5affaee4cd54616e.png

انقر على Save. ارجع إلى "محاكي الوكيل" وأعِد ضبط أي محادثات حالية. اختبِر المسار.

ac9db60831b0f684.png

a9fbafd45139d434.png

تهانينا! من خلال دمج الأدوات المرتبطة بالتطبيق(واجهة برمجة التطبيقات) الذي تم نشره على Cloud Run، تكون قد مكّنت "الوكيل" بنجاح من تنفيذ الإجراءات وتوسيع إمكاناته.

e8b113e0cc1b8ad6.png

راجِع أفضل الممارسات المتعلّقة بالوكلاء الحواريين.

مراجعة إعدادات الوكيل المتاحة

  • إعدادات التسجيل - تفعيل Cloud Logging
  • التكامل مع Git: يتيح لك التكامل مع Git إرسال واسترداد وكيلك من مستودع Git.
  • اختيار النموذج التوليدي
  • حدود الرموز المميزة(المدخلات والمخرجات)

f914db1d8a5d5447.png

راجِع عناصر التحكّم في محاكي الوكيل:

d1c4712603d4a8a2.png

8. دمج Slack

افتح قائمة "عمليات الدمج" وانقر على "Connect" في مربّع Slack.

6fc0ad95c28cb6c8.png

e7ee0826668bfa2b.png

b29574fd2a0f9725.png

افتح الرابط وأنشئ تطبيق Slack جديدًا على https://api.slack.com/apps

cbf13edc1b284899.png

اختَر من "ملف البيان":

7721feb295693ea2.png

اختيار مساحة عمل لتطوير تطبيقك

99a3d5b37cdf8f76.png

انتقِل إلى YAML والصِق البيان التالي:

display_information:
  name: Agent
  description: Agent
  background_color: "#1148b8"
features:
  app_home:
    home_tab_enabled: false
    messages_tab_enabled: true
    messages_tab_read_only_enabled: false
  bot_user:
    display_name: Agent
    always_online: true
oauth_config:
  scopes:
    bot:
      - app_mentions:read
      - chat:write
      - im:history
      - im:read
      - im:write
      - incoming-webhook
settings:
  event_subscriptions:
    request_url: https://dialogflow-slack-4vnhuutqka-uc.a.run.app
    bot_events:
      - app_mention
      - message.im
  org_deploy_enabled: false
  socket_mode_enabled: false
  token_rotation_enabled: false

انقر على "إنشاء":

5f0b3d2c44022eb9.png

التثبيت في Workspace:

aa1c2ea1b700c838.png

اختَر القناة "#general" وانقر على "السماح"

18eba659946fc65f.png

ضمن "المعلومات الأساسية / بيانات اعتماد التطبيق"، انسخ "مفتاح التوقيع" (Signing Secret) واضبطه في عملية دمج Slack مع Agent كقيمة لحقل "رمز التوقيع" (Signing Token).

31d62babb57e523d.png

bd9f7e3be3b9ea4e.png

افتح "OAuth والأذونات" وانسخ "رمز OAuth لمستخدم الروبوت" واضبطه في عملية دمج Slack الخاصة بالوكيل كقيمة لحقل "رمز الدخول".

e74c7e003c31258.png

اضبط الحقول المطلوبة وانقر على "بدء".

قيمة رمز الدخول الخاص بالوكيل هي "رمز OAuth لمستخدم الروبوت" من Slack.

قيمة رمز التوقيع الخاص بالوكيل هي "مفتاح التوقيع السرّي" من Slack.

8ea9f6856efa62cf.png

7e71e37750fd063a.png

انسخ "رابط ويب هوك" وارجع إلى إعدادات تطبيق Slack.

افتح قسم "الاشتراكات في الأحداث" والصِق عنوان URL.

a1e7271934c714d9.png

احفظ التغييرات.

e6d9b43b3787b6e7.png

افتح "Slack" وأضِف وكيلاً عن طريق كتابة "@Agent".

على سبيل المثال، إضافة تطبيق بالاسم "‎@CX".

72313066707f947b.png

63becbd80824f8d8.png

c98e193062b096f0.png

اطلب من الموظف الحصول على ملخّص لمشروع JIRA.

6edfdb74760548ad.png

تهانينا! تم دمج "الوكيل" بنجاح في مساحة عمل Slack.

703a3bf5754680fa.png

9- "سين وجيم" حول مستندات PDF

يوضّح هذا القسم كيفية إنشاء مستودع بيانات باستخدام مستند PDF وربطه بالوكيل، ما يتيح وظيفة الأسئلة والأجوبة استنادًا إلى محتوى المستند.

إنشاء حزمة Cloud Storage

افتح Cloud Shell: ‏ https://shell.cloud.google.com/

اضبط اسم الحزمة باستخدام آخر 5 أرقام من مشروعك على Google Cloud Platform. مثلاً: pdf-docs-3dw21

BUCKET_NAME=pdf-docs-LAST-5-DIGITS-OF-YOUR-PROJECT

أنشئ حزمة وحمِّل مستند PDF.

gcloud storage buckets create gs://$BUCKET_NAME \
    --location=us \
    --default-storage-class=STANDARD \
    --no-public-access-prevention \
    --uniform-bucket-level-access

wget https://services.google.com/fh/files/misc/exec_guide_gen_ai.pdf 

gsutil cp exec_guide_gen_ai.pdf gs://$BUCKET_NAME

إعداد مخزن البيانات

ارجع إلى "وحدة تحكّم الوكيل" (Agent Console) وافتح "Agent"، ثم انتقِل للأسفل وانقر على "+ Data store".

9a5e4d6d1e040b86.png

استخدِم القيم التالية:

اسم الأداة: pdf-docs

النوع: Data store

الوصف: pdf-docs

انقر على "Save"

60096b1c597347fa.png

انقر على "Add data stores" في أسفل الصفحة. بعد ذلك، انقر على "Create new data store".

abb9e513ac905e75.png

اختَر "Cloud Storage" كمصدر بيانات.

اختَر: Unstructured documents

واختَر حزمة/مجلد GCS.

42dec238c1d0ac2f.png

اختَر "us" لموقع تخزين البيانات.

بالنسبة إلى نوع اسم المتجر: "pdf-docs"

اختَر "Digital parser" من القائمة المنسدلة.

فعِّل ميزة "التقسيم المتقدّم".

تفعيل عناوين العناصر الرئيسية في الأجزاء

انقر على "Create".

1a5222b86ee6c58e.png

3119b5fec43c9294.png

انقر على مستودع البيانات وراجِع "المستندات" و"النشاط" و"إعدادات المعالجة".

872d9142615e90c9.png

سيستغرق إكمال عملية الاستيراد من 5 إلى 10 دقائق تقريبًا.

d9739a4af2244e03.png

خيارات التحليل والتقسيم

يمكنك التحكّم في تحليل المحتوى بالطرق التالية:

  • محلّل رقمي يكون المحلّل الرقمي مفعّلاً تلقائيًا لجميع أنواع الملفات ما لم يتم تحديد نوع محلّل مختلف. تعالج أداة التحليل الرقمي المستندات التي تمّت إضافتها إذا لم يتم تحديد أداة تحليل تلقائية أخرى لمخزن البيانات أو إذا كانت أداة التحليل المحدّدة لا تتوافق مع نوع ملف المستند الذي تمّت إضافته.
  • تحليل التعرّف البصري على الأحرف (OCR) في ملفات PDF الميزات التجريبية المتاحة للجميع إذا كنت تخطّط لتحميل ملفات PDF ممسوحة ضوئيًا أو ملفات PDF تحتوي على نص داخل الصور، يمكنك تفعيل أداة تحليل التعرّف البصري على الأحرف (OCR) لتحسين فهرسة ملفات PDF. اطّلِع على لمحة عن تحليل التعرّف البصري على الأحرف لملفات PDF.
  • محلّل التنسيق: فعِّل أداة تحليل التنسيق لملفات HTML أو PDF أو DOCX إذا كنت تخطّط لاستخدام ميزة "التوليد المعزّز بالاسترجاع" في Vertex AI Search. اطّلِع على تقسيم المستندات إلى أجزاء لاستخدامها في البحث الاسترجاعي التوليدي للحصول على معلومات حول هذا المحلّل وكيفية تفعيله.

مزيد من المعلومات حول تحليل المستندات وتقسيمها إلى أجزاء

إعداد الأداة

ارجع إلى شاشة إعداد "أداة الوكيل" وأعِد تحميل مستودعات البيانات المتاحة.

اختَر مستودع البيانات الذي أنشأته للتوّ وانقر على "Confirm".

2922f7d9bdb7b2bc.png

ضبط عملية تحديد المصدر

اكتب "Google Cloud" لاسم الشركة.

إعدادات الحمولة: ضَع علامة في المربّع بجانب Include snippets in Conversational Messenger response payload". اضبط القيمة على 5.

انقر على "حفظ".

484e99caa7d1bc07.png

إعداد تعليمات الوكيل

ارجع إلى إعدادات "الوكيل".

إضافة تعليمات جديدة:

- Provide detailed answer to users questions about the exec guide to gen ai using information in the ${TOOL:pdf-docs}

f6d27e58b68f9f7.png

احفظ الإعدادات.

أنشئ مثالاً لأداة PDF-Docs

انتقِل إلى علامة التبويب "أمثلة". إنشاء مثال جديد: Guide to generative AI

استخدام الإجراءات "+":

ee4f85ba3f47fda0.png

إضافة "بيانات أدخلها المستخدم":

What are the main capabilities for generative AI?

أضِف "استخدام الأدوات".

  • الأداة والإجراء: "pdf-docs"

الإدخال (requestBody)

{
  "query": "Main capabilities for generative AI",
  "filter": "",
  "userMetadata": {},
  "fallback": ""
}

ناتج الأداة:

{
  "answer": "Detailed answer about main capabilities for generative AI",
  "snippets": [
    {
      "uri": "https://storage.cloud.google.com/pdf-docs-49ca4/exec_guide_gen_ai.pdf",
      "text": "Detailed answer about main capabilities",
      "title": "exec_guide_gen_ai"
    }
  ]
}

إضافة "ردّ الوكيل"

Detailed answer about main capabilities. 

https://storage.cloud.google.com/pdf-docs-49ca4/exec_guide_gen_ai.pdf

مثال على الإعداد:

d1da4c1d18709ea6.png

إعدادات استدعاء الأداة:

a0d47a9dc04bb2f1.png

انتقِل إلى المحاكي لاختبار الإعداد.

السؤال:

What are the 10 steps in the exec guide?

e682480a959125bc.png

اختَر "Agent" من القائمة المنسدلة "عمليات الاستدعاء" وانقر على "Save as example".

582759df60b9a342.png

أدخِل الاسم "user-question-flow".

اضبط الملخّص على "Agent helped user answer question based on the pdf document" وانقر على "حفظ".

تنسيق رد الوكيل وتضمين رابط إلى مستند PDF من قسم ناتج الأداة

6ba5011ed26793f3.png

احفظ المثال.

ارجع إلى المحاكي وانقر على "Replay conversation". تحقَّق من تنسيق الردّ المعدَّل. إذا ظهرت لك رسالة خطأ بعد حفظ المثال، قد تحتاج إلى إعادة تحميل نافذة المتصفّح وإعادة بدء المحادثة من خلال إرسال الطلب مرة أخرى:

What are the 10 steps in the exec guide?

51698c5f1fbd2770.png

طرح سؤال آخر:

What are the main capabilities in the exec guide?

7b636f489c05a13.png

مستند PDF المصدر

5b3e6d2ceda99247.png

السؤال:

What should I consider when evaluating projects?

1155edfbffcd14b2.png

مستند PDF المصدر

57a0d331aa91f04b.png

السؤال:

What are the priority use cases in Retail and CPG in the exec guide?

92264121fc8f06e.png

مستند PDF المصدر

b4d07e6e7d9adc00.png

تهانينا! أصبح بإمكان الوكيل الآن تقديم إجابات تستند إلى مستندات PDF.

e11d020a9cfa36d1.png

10. الوكلاء الذين تم إنشاؤهم مسبقًا

بعد ذلك، ستستكشف "الوكلاء" المُنشأين مسبقًا من القائمة على يمين الصفحة.

de49672bbb8112fd.png

اختَر أحد الوكلاء ونشِّره. استكشاف إعدادات Agent وتعليماته وأدواته

1e00ed8ef4887efb.png

11. تهانينا!

تهانينا، لقد أكملت الدرس التطبيقي.

المواضيع التي تناولناها:

  • كيفية إنشاء برامج وكلاء المحادثة ونشرها
  • كيفية إضافة أداة للوكيل المستند إلى تطبيق Cloud Run
  • كيفية دمج وكيل في مساحة عمل Slack
  • كيفية ضبط مستودع البيانات للأسئلة والأجوبة حول مستندات PDF

الخطوة التالية:

تَنظيم

لتجنُّب تحمّل رسوم في حسابك على Google Cloud مقابل الموارد المستخدَمة في هذا البرنامج التعليمي، احذف المشروع الذي يحتوي على الموارد أو احتفظ بالمشروع واحذف الموارد الفردية.

حذف المشروع

أسهل طريقة لإيقاف الفوترة هي حذف المشروع الذي أنشأته لتنفيذ البرنامج التعليمي.

‎© 2024 Google LLC. جميع الحقوق محفوظة. ‫Google وشعار Google هما علامتان تجاريتان (TM) تابعتان لشركة Google LLC. جميع أسماء الشركات والمنتجات الأخرى قد تكون علامات تجارية للشركات المالكة لها.