סוכן GenAI לבדיקת איכות של מסמכים וקריאות ל-API

1. סקירה כללית

במעבדה הזו תלמדו ליצור סוכן GenAI, לחבר אותו לאפליקציית Cloud Run ולשלב את הסוכן בסביבת העבודה של Slack.

8541c95a7fbc9be7.png

מה תלמדו

הסדנה מורכבת מכמה חלקים עיקריים:

  • פריסה של אפליקציית Cloud Run לשילוב עם ממשקי Gemini API
  • יצירה ופריסה של Vertex AI Agent
  • שילוב Agent ב-Slack
  • הגדרת מאגר נתונים לשאלות ותשובות במסמכי PDF

דרישות מוקדמות

  • ההנחה בשיעור ה-Lab הזה היא שיש לכם היכרות עם סביבות Cloud Console ו-Cloud Shell.

2. הגדרה ודרישות

הגדרת פרויקט ב-Cloud

  1. נכנסים למסוף Google Cloud ויוצרים פרויקט חדש או משתמשים מחדש בפרויקט קיים. אם עדיין אין לכם חשבון Gmail או חשבון Google Workspace, עליכם ליצור חשבון.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • שם הפרויקט הוא השם המוצג של המשתתפים בפרויקט. זוהי מחרוזת תווים שלא משמשת את Google APIs. תמיד אפשר לעדכן אותו.
  • מזהה הפרויקט הוא ייחודי לכל הפרויקטים ב-Google Cloud ואי אפשר לשנות אותו אחרי שמגדירים אותו. מסוף Cloud יוצר מחרוזת ייחודית באופן אוטומטי. בדרך כלל לא משנה מה המחרוזת הזו. ברוב ה-codelabs תצטרכו להפנות למזהה הפרויקט (בדרך כלל מזהים אותו בתור PROJECT_ID). אם המזהה שנוצר לא מוצא חן בעיניכם, תוכלו ליצור מזהה אקראי אחר. לחלופין, אפשר לנסות כתובת משלכם ולבדוק אם היא זמינה. לא ניתן לשנות את השם אחרי השלב הזה, והוא יישאר למשך כל תקופת הפרויקט.
  • לידיעתך, יש ערך שלישי, מספר פרויקט, שמשתמשים בו בחלק מממשקי ה-API. מידע נוסף על כל שלושת הערכים האלה זמין במסמכי העזרה.
  1. בשלב הבא, כדי להשתמש במשאבים או ב-API של Cloud, תצטרכו להפעיל את החיוב במסוף Cloud. השלמת הקודלאב הזה לא תעלה הרבה, אם בכלל. כדי להשבית את המשאבים ולמנוע חיובים אחרי סיום המדריך, אפשר למחוק את המשאבים שיצרתם או למחוק את הפרויקט. משתמשים חדשים ב-Google Cloud זכאים להשתתף בתוכנית תקופת ניסיון בחינם בסך 300$.

הגדרת הסביבה

פותחים את Gemini Chat.

e1e9ad314691368a.png

מפעילים את Cloud AI Companion API:

66cb6e561e384bbf.png

לוחצים על 'Start chatting' ופועלים לפי אחת מהשאלות לדוגמה או מקלידים הנחיה משלכם כדי לנסות את התכונה.

5482c153eef23126.png

הנחיות שאפשר לנסות:

  • הסבר על Cloud Run ב-5 נקודות עיקריות.
  • אתם מנהלי מוצרים ב-Google Cloud Run, ואתם צריכים להסביר לתלמיד/ה על Cloud Run ב-5 נקודות עיקריות קצרות.
  • אתם מנהלי מוצרים ב-Google Cloud Run, ואתם צריכים להסביר את Cloud Run למפתח Kubernetes מוסמך ב-5 נקודות עיקריות קצרות.
  • אתם מנהלי מוצר של Google Cloud Run, ואתם צריכים להסביר למפתח בכיר מתי כדאי להשתמש ב-Cloud Run לעומת GKE, ב-5 נקודות מפתח קצרות.

במדריך להנחיות מוסבר איך לכתוב הנחיות טובות יותר.

איך Gemini for Google Cloud משתמש בנתונים שלכם

המחויבות של Google לפרטיות

Google הייתה אחת מהחברות הראשונות בתחום לפרסם מחויבות לפרטיות ב-AI/ML, שבה אנו מבטאים את האמונה שלנו שללקוחות צריכה להיות רמה הגבוהה ביותר של אבטחה ושליטה על הנתונים שלהם שנשמרים בענן.

נתונים שאתם שולחים ומקבלים

השאלות שאתם שואלים את Gemini, כולל כל פרטי הקלט או הקוד שאתם שולחים ל-Gemini לצורך ניתוח או השלמה, נקראות הנחיות. התשובות או השלמות הקוד שאתם מקבלים מ-Gemini נקראות תגובות. Gemini לא משתמש בהנחיות שלכם או בתשובות שלו כנתונים לאימון המודלים שלו.

הצפנה של הנחיות

כששולחים הנחיות ל-Gemini, הנתונים מוצפנים במעבר כקלט למודל הבסיסי ב-Gemini.

נתוני תוכנית שנוצרו מ-Gemini

‫Gemini מאומן על קוד מ-Google Cloud (מצד ראשון) ועל קוד נבחר של צד שלישי. אתם אחראים על האבטחה, הבדיקה והיעילות של הקוד שלכם, כולל כל השלמה, יצירה או ניתוח של קוד ש-Gemini מציעה לכם.

מידע נוסף על האופן שבו Google מטפלת בהנחיות

3. אפשרויות לבדיקה של הנחיות

יש כמה דרכים לבדוק את ההנחיות.

Vertex AI Studio הוא חלק מפלטפורמת Vertex AI של Google Cloud, שמיועדת במיוחד לפשט ולהאיץ את הפיתוח והשימוש במודלים של AI גנרטיבי.

Google AI Studio הוא כלי מבוסס-אינטרנט ליצירת אב טיפוס ולניסויים בתכנון הנחיות וב-Gemini API.

אפליקציית האינטרנט של Google Gemini‏ (gemini.google.com) היא כלי מבוסס-אינטרנט שמיועד לעזור לכם לגלות את מלוא הפוטנציאל של מודלי ה-AI של Gemini מבית Google ולהשתמש בו.

4. שכפול המאגר

חוזרים למסוף Google Cloud ומפעילים את Cloud Shell בלחיצה על הסמל שמשמאל לסרגל החיפוש.

3e0c761ca41f315e.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

פתיחת טרמינל חדש

62dccf5c78880ed9.png

5. יצירת חשבון שירות

יוצרים חשבון שירות ומפתחות חדשים.

תשתמשו בחשבון השירות הזה כדי לבצע קריאות API ל-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'
export KEY_FILE_NAME='vertex-client-key'

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"


gcloud iam service-accounts keys create $KEY_FILE_NAME.json --iam-account=$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com

אם מתבקשים לאשר, לוחצים על 'אישור' כדי להמשיך.

6356559df3eccdda.png

מפעילים את השירותים הנדרשים כדי להשתמש ב-Vertex AI APIs וב-Gemini Chat.

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

מפעילים את השירותים הנדרשים כדי להשתמש ב-Vertex AI APIs וב-Gemini Chat.

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

לוחצים על הסמל של Gemini בפינה הימנית התחתונה, ואז לוחצים על Sign-in ו-Select Google Cloud project.

4a7f4640f66037f.png

8b4405d7366d2cad.png

bd07352707166136.png

בחלון הקופץ, בוחרים את הפרויקט ב-Qwiklabs.

דוגמה:

70ae6837db397e2a.png

פותחים את הקובץ devai-api/app/routes.py, לוחצים לחיצה ימנית במקום כלשהו בקובץ ובוחרים באפשרות Gemini Code Assist > Explain this" בתפריט ההקשר.

e54daef175df3cf0.png

קוראים את ההסבר של Gemini לגבי הקובץ שנבחר.

e666676dce8b94d6.png

6. פריסה של Devai-API ב-Cloud Run

מוודאים שנמצאים בתיקייה הנכונה.

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

במסגרת הסדנה הזו, אנחנו פועלים לפי השיטות המומלצות ומשתמשים ב-Secret Manager כדי לאחסן את הערכים של אסימון הגישה ומפתח ה-API של 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"

אחסון אסימון הגישה ל-JIRA ב-Secret Manager.

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

אחסון אסימון הגישה של GitLab ב-Secret Manager.

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

מאחסנים את מפתח ה-API של LangChain ב-Secret Manager.

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 להסביר את הפקודה:

94d5487568b08dd2.png

אפשר לעיין בתהליך gcloud run deploy SERVICE_NAME --source=. שבהמשך. מידע נוסף

5c122a89dd11822e.png

מאחורי הקלעים, הפקודה הזו משתמשת ב-buildpacks וב-Cloud Build של Google Cloud כדי ליצור באופן אוטומטי קובצי אימג' של קונטיינרים מקוד המקור, בלי שתצטרכו להתקין את Docker במכונה או להגדיר buildpacks או Cloud Build. כלומר, הפקודה היחידה שמתוארת למעלה מבצעת את הפעולות שהיו נדרשות אחרת באמצעות הפקודות gcloud builds submit ו-gcloud run deploy.

אם סיפקתם קובץ Dockerfile(כפי שעשינו במאגר הזה), Cloud Build ישתמש בו כדי ליצור קובצי אימג' של קונטיינרים, במקום להסתמך על ה-buildpacks כדי לזהות קובצי אימג' של קונטיינרים וליצור אותם באופן אוטומטי. מידע נוסף על buildpacks זמין במסמכי התיעוד.

בודקים את היומנים של Cloud Build במסוף.

בודקים את קובץ האימג' של Docker שנוצר ב-Artifact Registry.

פותחים את cloud-run-source-deploy/devai-api ובודקים את נקודות החולשה שזוהו באופן אוטומטי. בודקים אילו מהן יש תיקונים זמינים ומעיינים בתיאור כדי להבין איך אפשר לתקן את הבעיה.

d00c9434b511be44.png

בודקים את פרטי המכונה של Cloud Run במסוף Cloud.

בודקים את נקודת הקצה על ידי הרצת הפקודה curl.

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

בודקים את הפלט:

bda86deaa1c449a8.png

7. Vertex AI Agent Builder

מחפשים את 'כלי היצירה של סוכן' ופותחים אותו.

b99ae5b6ca1d6340.png

הפעלת ממשקי API

4bf2b240bd51db8.png

יוצרים אפליקציית נציג:

2e50007e454b504.png

מקלידים 'סוכן' בשדה 'שם מוצג' ולוחצים על 'הסכמה ויצירה'.

6c49a874c48d0401.png

הגדרת שם הנציג:

Agent

הגדרת יעד:

Help user 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.

לוחצים על 'שמירה':

6ef0ca47100008e0.png

בודקים את הסוכן באמצעות צ'אט במסוף בצד שמאל:

32f49a9791302535.png

פותחים את תפריט הכלים ויוצרים כלי חדש:

c236b95409dfedc3.png

בתפריט הנפתח Type (סוג), בוחרים באפשרות OpenAPI.

הגדרת שם הכלי:

jira-project-status

הגדרת תיאור:

Returns JIRA project status

הגדרת הסכימה (YAML) – מחליפים את כתובת ה-URL של Cloud Run.

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:
 /create-jira-issue:
   post:
     summary: Request impl
     operationId: create-jira-issue
     requestBody:
       description: Request impl
       required: true
       content:
         application/json:
           schema:
             $ref: '#/components/schemas/Prompt'
     responses:
       '200':
         description: Generated
         content:
           application/json:
             schema:
               type: string
 /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:
               type: string

 /test:
   get:
     summary: Request impl
     operationId: test
     responses:
       '200':
         description: Generated
         content:
           application/json:
             schema:
               type: string                    
components:
 schemas:
   Prompt:
     type: object
     required:
       - prompt
     properties:
       prompt:
         type: string

שומרים את ההגדרות של הכלי:

f99ce79ba79e3a4b.png

חוזרים להוראות להגדרת הסוכן ולעדכון כדי להשתמש בכלי:

מוסיפים הוראות לשימוש בכלי החדש:

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

4dabf135b37b044b.png

עוברים לכרטיסייה 'דוגמאות' ומוסיפים דוגמה חדשה:

5b1fb22e49500362.png

מגדירים את השם המוצג:

jira-project-flow

באמצעות התפריט שבתחתית המסך, יוצרים מודל של השיחה בין המשתמש לנציג:

54ffb5e7744a0772.png

14cced6461a65811.png

הגדרת ההפעלה של הכלי:

82af695d2f21c4f0.png

לוחצים על 'שמירה' ואז על 'ביטול'. חוזרים לסימולטור של הסוכן ובודקים את התהליך.

ec137f71bf6075e2.png

f76fd38c32e29f0a.png

שיטות מומלצות ל-Vertex AI Agents

הגדרות סוכן

564dd5371999a3f1.png

b5b04f282fcee3e8.png

הגדרות רישום ביומן

af30487d72c1cfa2.png

הגדרת המודל.

53191049428693c7.png

שילוב עם GitGub כדי לדחוף ולשחזר את הגדרות ה-Agent.

7170649a9c027857.png

אמצעי הבקרה של אמולטור הנציג:

59fd8b2343e89513.png

8. שילוב עם Slack

פותחים את תפריט השילובים ולוחצים על 'התחברות' בחלונית של Slack.

36f3992134479a37.png

e7ee0826668bfa2b.png

c3e36f4dacbe3f9b.png

פותחים את הקישור ויוצרים אפליקציה חדשה ל-Slack בכתובת https://api.slack.com/apps.

cbf13edc1b284899.png

בוחרים באפשרות הרצויה בקטע 'מניפסט':

64fa9c75afecdb3e.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.

31d62babb57e523d.png

bd9f7e3be3b9ea4e.png

פותחים את 'OAuth והרשאות', מעתיקים את 'אסימון OAuth של משתמש הבוט' ומגדירים אותו בשילוב עם Slack.

e74c7e003c31258.png

ממלאים את שדות החובה ולוחצים על 'התחלה'.

הערך של Access Token (אסימון גישה) של הסוכן הוא Bot User OAUth Token (אסימון OAUth של משתמש הבוט) מ-Slack.

הערך של Signing Token (אסימון החתימה) של הסוכן הוא Signing Secret (סוד החתימה) מ-Slack.

a00d22bdaeed3ab8.png

7e71e37750fd063a.png

מעתיקים את 'כתובת ה-Webhook' וחוזרים להגדרות של אפליקציית Slack.

פותחים את הקטע 'מינויים לאירועים' ומדביקים את כתובת ה-URL.

a1e7271934c714d9.png

שומרים את השינויים.

e6d9b43b3787b6e7.png

פותחים את Slack ומוסיפים נציג על ידי הקלדה של "‎@Agent".

לדוגמה, הוספת אפליקציה בשם ‎@CX.

72313066707f947b.png

63becbd80824f8d8.png

c98e193062b096f0.png

מבקשים מהנציג סיכום של פרויקט ב-JIRA.

6edfdb74760548ad.png

9. שאלות ותשובות על מסמכי PDF

יצירת קטגוריה ב-Cloud Storage

פותחים את GCS במסוף Cloud: https://console.cloud.google.com/storage/browser

יוצרים קטגוריה חדשה.

שם הקטגוריה: "pdf-docs" + 5 הספרות האחרונות של פרויקט GCP.

סוג המיקום: multi-region, us.

סוג האחסון: Standard

בקרת גישה: Uniform

הגנה על נתונים: uncheck soft delete policy

לוחצים על 'Create'.

מאשרים את האפשרות 'מניעת גישה ציבורית'.

מורידים את דוח ה-PDF ומעלים אותו לקטגוריה. https://services.google.com/fh/files/misc/exec_guide_gen_ai.pdf

תצוגה של קטגוריה עם קובץ שהועלה:

ff09ac8da88fb680.png

הגדרת מאגר הנתונים

חוזרים למסוף הסוכן ופותחים את Agent, גוללים למטה ולוחצים על + Data store.

e20b69db922e37d7.png

משתמשים בערכים הבאים:

שם הכלי: pdf-docs

סוג: Data store

תיאור: pdf-docs

לוחצים על 'Save'.

c5bc7a2e458213ba.png

לוחצים על 'Create a data store' בתחתית הדף.

לוחצים על AGREE בתשובה לשאלה 'האם ברצונך שהנתונים של החיפושים והשיחות שלך יישמרו באזור ארה"ב?'

מקלידים 'Google' בשדה 'Provide Company' (ציון החברה).

במסך הבא, לוחצים על CREATE DATA STORE.

בוחרים באפשרות 'Cloud Storage' כמקור הנתונים.

הכנת הנתונים להטמעה

https://cloud.google.com/generative-ai-app-builder/docs/prepare-data

קובצי HTML ו-TXT חייבים להיות בגודל של עד 2.5MB.

קובצי PDF,‏ PPTX ו-DOCX חייבים להיות בגודל של עד 100MB.

אפשר לייבא עד 100,000 קבצים בכל פעם.

בוחרים באפשרות: unstructured documents

ובוחרים את הקטגוריה/התיקייה ב-GCS.

e8534a921059e3a2.png

לוחצים על 'המשך': ed5ad1fabe9503a4.png

לסוג השם של מאגר הנתונים: pdf-docs

בתפריט הנפתח, בוחרים באפשרות Digital parser.

הפעלת חלוקה מתקדמת למקטעים.

הפעלת כותרות של ישויות אב בקטעים.

לוחצים על 'Create'.

1a5222b86ee6c58e.png

3119b5fec43c9294.png

בוחרים מאגר נתונים ולוחצים על 'Create'.

43d5be0a0aca6f8.png

9fd7fc7c1462d114.png

לוחצים על מאגר הנתונים ובודקים את ההגדרות של Documents, ‏ Activity ו-Processing.

872d9142615e90c9.png

תהליך הייבוא יימשך כ-5 עד 10 דקות.

d9739a4af2244e03.png

אפשרויות ניתוח וחלוקה למקטעים

אפשר לשלוט בניתוח התוכן בדרכים הבאות:

  • מנתח דיגיטלי המנתח הדיגיטלי מופעל כברירת מחדל לכל סוגי הקבצים, אלא אם צוין סוג מנתח אחר. המנתח הדיגיטלי מעבד מסמכים שצורפו אם לא צוין מנתח אחר כברירת מחדל למאגר הנתונים, או אם המנתח שצוין לא תומך בסוג הקובץ של המסמך שצורף.
  • ניתוח OCR לקובצי PDF. גרסת טרום-השקה ציבורית. אם אתם מתכננים להעלות קובצי PDF סרוקים או קובצי PDF עם טקסט בתוך תמונות, אתם יכולים להפעיל את מנתח ה-OCR כדי לשפר את ההוספה של קובצי ה-PDF לאינדקס. מידע על ניתוח OCR לקובצי PDF
  • מנתח פריסה גרסת טרום-השקה ציבורית. אם אתם מתכננים להשתמש ב-Vertex AI Search ל-RAG, צריך להפעיל את מנתח הפריסה לקובצי HTML, ‏ PDF או DOCX. מידע על המנתח הזה ועל האופן שבו מפעילים אותו זמין במאמר חלוקה של מסמכים לקטעים ל-RAG.

מידע נוסף על ניתוח מסמכים ועל חלוקה של מסמכים לקטעים

הגדרת הכלי

חוזרים לכרטיסייה עם הגדרת הכלים.

מרעננים את הדפדפן ובוחרים באפשרות pdf-docs בתפריט הנפתח Unstructured (לא מובנה).

71323e788b35ca66.png

מגדירים את הארקה.

מקלידים 'Google' בשדה 'שם החברה'.

הגדרות של מטען נתונים – מסמנים את האפשרות Include snippets in the response payload

b0cb701d13ad4264.png

לוחצים על 'Save'.

91a546957bdfe029.png

7535b85cfc7febe6.png

הגדרת ההוראות של הנציג

חוזרים להגדרת הסוכן.

מוסיפים הוראה חדשה:

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

9b9548497ddaccbd.png

שומרים את ההגדרות.

יצירת דוגמה לכלי PDF-Docs

עוברים לכרטיסייה Examples (דוגמאות). יצירת דוגמה חדשה.

באמצעות הפעולות '+':

4da93695907c97ad.png

מוסיפים את 'קלט משתמש':

What are the main capabilities?

מוסיפים את האפשרות 'שימוש בכלי'.

  • כלי ופעולה: 'pdf-docs'

קלט (requestBody)

{
  "query": "Main capabilities",
  "filter": "",
  "userMetadata": {},
  "fallback": ""
}

פלט הכלי:

{
  "answer": "Detailed answer about main capabilities",
  "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

דוגמה להגדרה:

2968363e05f3325e.png

הגדרת ההפעלה של הכלי:

658316bb29ac352d.png

כדי לבדוק את ההגדרה, שולחים שאלה לסוכנות במהדמ.

שאלה:

What are the 10 steps in the exec guide?

5b2329c494ad0d17.png

בוחרים באפשרות Agent ולוחצים על Save example.

e79c86aa04a9572f.png

נותנים שם 'user-question-flow' ושומרים.

מעצבים את התגובה של הסוכן וכוללים קישור למסמך ה-PDF בקטע הפלט של הכלי.

50f2bcee082ac38d.png

שומרים את הדוגמה.

חוזרים למה emultor ולוחצים על Replay conversation. בודקים את פורמט התשובה המעודכן.

8db40e424f448a2d.png

אפשר לשאול שאלה אחרת:

What are the main capabilities in the exec guide?

6f103fdac8ec4cda.png

מסמך ה-PDF המקור.

5b3e6d2ceda99247.png

שאלה:

What should I consider when evaluating projects?

ec7e0f5884772385.png

מסמך ה-PDF המקור.

57a0d331aa91f04b.png

שאלה:

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

7a18ba3ca0fe90c5.png

מסמך ה-PDF המקור.

b4d07e6e7d9adc00.png

10. נציגים מוכנים מראש

בתפריט שמימין, אפשר לבחון את הסוכנים המוכנים מראש.

5720dc5343aede65.png

בוחרים אחד מהסוכנים ופורסים אותו. מידע על ההגדרה, ההוראות והכלים של Agent.

2a3db1129b5a1461.png

11. מעולה!

כל הכבוד, סיימת את שיעור ה-Lab!

הנושאים שעסקנו בהם:

  • איך פורסים אפליקציה ב-Cloud Run כדי לשלב אותה עם ממשקי Gemini API
  • איך יוצרים ומפרסים את Vertex AI Agent
  • איך מוסיפים את השילוב עם Slack ל-Agent
  • איך מגדירים מאגר נתונים לשאלות ותשובות במסמכי PDF

השלב הבא:

הסרת המשאבים

כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים הנפרדים.

מחיקת הפרויקט

הדרך הקלה ביותר לבטל את החיוב היא למחוק את הפרויקט שיצרתם בשביל המדריך.

©2024 Google LLC כל הזכויות שמורות. Google והלוגו של Google הם סימנים מסחריים רשומים של Google LLC. שמות של חברות ומוצרים אחרים עשויים להיות סימנים מסחריים של החברות, בהתאמה, שאליהן הם משויכים.