מידע על Codelab זה
1. סקירה כללית
במעבדה הזו תלמדו ליצור סוכן GenAI, לחבר אותו לאפליקציית Cloud Run ולשלב את הסוכן בסביבת העבודה של Slack.
מה תלמדו
הסדנה מורכבת מכמה חלקים עיקריים:
- פריסה של אפליקציית Cloud Run לשילוב עם ממשקי Gemini API
- יצירה ופריסה של סוכן בממשק שיחה באפליקציות AI
- שילוב Agent ב-Slack
- הגדרת מאגר נתונים לשאלות ותשובות במסמכי PDF
דרישות מוקדמות
- ההנחה בשיעור ה-Lab הזה היא שיש לכם היכרות עם סביבות Cloud Console ו-Cloud Shell.
2. הגדרה ודרישות
הגדרת פרויקט ב-Cloud
- נכנסים למסוף Google Cloud ויוצרים פרויקט חדש או משתמשים מחדש בפרויקט קיים. אם עדיין אין לכם חשבון Gmail או חשבון Google Workspace, עליכם ליצור חשבון.
- שם הפרויקט הוא השם המוצג של המשתתפים בפרויקט. זוהי מחרוזת תווים שלא משמשת את Google APIs. תמיד אפשר לעדכן אותו.
- מזהה הפרויקט הוא ייחודי לכל הפרויקטים ב-Google Cloud ואי אפשר לשנות אותו אחרי שמגדירים אותו. מסוף Cloud יוצר מחרוזת ייחודית באופן אוטומטי. בדרך כלל לא משנה מה המחרוזת הזו. ברוב ה-codelabs תצטרכו להפנות למזהה הפרויקט (בדרך כלל מזהים אותו בתור
PROJECT_ID
). אם המזהה שנוצר לא מוצא חן בעיניכם, תוכלו ליצור מזהה אקראי אחר. לחלופין, אפשר לנסות כתובת משלכם ולבדוק אם היא זמינה. לא ניתן לשנות אותו אחרי השלב הזה, והוא יישאר למשך כל פרק הזמן של הפרויקט. - לידיעתך, יש ערך שלישי, מספר פרויקט, שמשתמשים בו בחלק מממשקי ה-API. מידע נוסף על כל שלושת הערכים האלה זמין במסמכי התיעוד.
- בשלב הבא, כדי להשתמש במשאבים או ב-API של Cloud, תצטרכו להפעיל את החיוב במסוף Cloud. השלמת הקודלאב הזה לא תעלה הרבה, אם בכלל. כדי להשבית את המשאבים ולמנוע חיובים אחרי סיום המדריך, אפשר למחוק את המשאבים שיצרתם או למחוק את הפרויקט. משתמשים חדשים ב-Google Cloud זכאים להשתתף בתוכנית תקופת ניסיון בחינם בסך 300$.
הגדרת הסביבה
פותחים את Gemini Chat.
מפעילים את Gemini for Google Cloud API:
לוחצים על 'Start chatting
' ופועלים לפי אחת מהשאלות לדוגמה או מקלידים הנחיה משלכם כדי לנסות את התכונה.
הנחיות שאפשר לנסות:
- הסבר על 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 מציעה לכם.
3. אפשרויות לבדיקה של הנחיות
יש כמה דרכים לבדוק את ההנחיות.
Vertex AI Studio הוא חלק מפלטפורמת Vertex AI של Google Cloud, שמיועדת במיוחד לפשט ולהאיץ את הפיתוח והשימוש במודלים של AI גנרטיבי.
Google AI Studio הוא כלי מבוסס-אינטרנט ליצירת אב טיפוס ולניסויים בתכנון הנחיות וב-Gemini API.
- אפליקציית Gemini בדפדפן (gemini.google.com)
אפליקציית האינטרנט של Google Gemini (gemini.google.com) היא כלי מבוסס-אינטרנט שמיועד לעזור לכם לגלות את מלוא הפוטנציאל של מודלי ה-AI של Gemini מבית Google ולהשתמש בו.
- אפליקציית Gemini לנייד של Google ל-Android ואפליקציית Google ל-iOS
4. שכפול המאגר
חוזרים למסוף Google Cloud ומפעילים את Cloud Shell בלחיצה על הסמל שמשמאל לסרגל החיפוש.
אם מתבקשים לאשר, לוחצים על 'אישור' כדי להמשיך.
בטרמינל שנפתח, מריצים את הפקודות הבאות:
git clone https://github.com/GoogleCloudPlatform/genai-for-developers.git
cd genai-for-developers
git checkout slack-agent-jira-lab
לוחצים על 'פתיחת העורך'.
באמצעות פריט התפריט File / Open Folder
, פותחים את genai-for-developers
.
פתיחת טרמינל חדש
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'
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 APIs וב-Gemini Chat.
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 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 להסבר על קוד
פותחים את הקובץ devai-api/app/routes.py
, לוחצים לחיצה ימנית במקום כלשהו בקובץ ובוחרים באפשרות Gemini Code Assist > Explain
this"
בתפריט ההקשר.
קוראים את ההסבר של Gemini לגבי הקובץ שנבחר.
6. פריסה של Devai-API ב-Cloud Run
מוודאים שנמצאים בתיקייה הנכונה.
cd ~/genai-for-developers/devai-api
בשיעור ה-Lab הזה אנחנו פועלים לפי השיטות המומלצות ומשתמשים ב-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"
יצירת כמה סודות ואחסון שלהם ב-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
בהמשך מפורט התהליך של gcloud run deploy SERVICE_NAME --source=.
. מידע נוסף
מאחורי הקלעים, הפקודה הזו משתמשת ב-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 במסוף 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
התשובה תהיה בפורמט markdown. התצוגה מוצגת במצב תצוגה מקדימה כדי להקל על הקריאה.
7. אפליקציות AI
בסרגל החיפוש של מסוף Google Cloud, מקלידים AI Applications
ופותחים את האפשרות הזו.
יצירת אפליקציית Conversational Agent
:
בוחרים באפשרות Build your own
.
מקלידים Agent
בשדה 'שם לתצוגה' ולוחצים על 'יצירה'.
הגדרת שם הפלייבוק:
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
':
בודקים את הסוכן באמצעות צ'אט סימולטור בצד שמאל:
עוקבים אחרי שיחות דומות, כפי שמתואר בהמשך:
הגדרת הכלים של הסוכן
מעבירים את העכבר מעל סמל הבורגן בצד ימין. פותחים את תפריט הכלים ויוצרים כלי חדש:
בתפריט הנפתח Type (סוג), בוחרים באפשרות OpenAPI
.
הגדרת שם הכלי:
jira-project-status
הגדרת תיאור:
Provides JIRA project status
עוברים בין הכרטיסיות ובודקים את הפלט במסוף כדי למצוא את כתובת ה-URL של שירות Cloud Run. מעתיקים את הערך של כתובת ה-URL של השירות.
הגדרת הסכימה (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:
/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
שומרים את ההגדרות של הכלי:
חוזרים להגדרת הסוכן על ידי בחירה באפשרות 'Playbooks' בתפריט הימני ועדכון ההוראות לשימוש בכלי:
מוסיפים הוראות לשימוש בכלי החדש ולוחצים על Save
:
- Use ${TOOL: jira-project-status} to help the user with JIRA project status.
עוברים לכרטיסייה Examples
ומוסיפים דוגמה חדשה:
מגדירים את השם המוצג:
jira-project-flow
בעזרת התפריט שבתחתית המסך, יוצרים מודל של השיחה בין המשתמש לנציג:
תהליך לדוגמה:
תשובת הנציג: מהו מזהה הפרויקט?
קלט המשתמש: TEST-PROJECT-100
שימוש בכלי: jira-project-status
תגובה מנציג התמיכה: פרטי סטטוס הפרויקט.
משתמשים במסמך העזרה שבהמשך כדי ליצור את הדוגמה.
לוחצים על Save
. חוזרים לסימולטור של הנציג ומאפסים את השיחות הקיימות. בודקים את התהליך.
מעולה! שילוב כלים שמקושרים לאפליקציה(API) שנפרסה ב-Cloud Run מאפשר ל-Agent לבצע פעולות ולהרחיב את היכולות שלו.
שיטות מומלצות ליצירת צ'אט בוטים
בדיקת ההגדרות הזמינות של הסוכן
- הגדרות הרישום ביומן – הפעלת Cloud Logging
- שילוב עם Git – שילוב עם Git מאפשר לדחוף ולשלוף את הסוכן ממאגר Git.
- בחירת מודל גנרטיבי
- מגבלות על אסימונים(קלט ופלט)
בודקים את אמצעי הבקרה של הסימולטור של הסוכן:
8. שילוב עם Slack
פותחים את תפריט השילובים ולוחצים על Connect
בחלונית של Slack.
פותחים את הקישור ויוצרים אפליקציה חדשה ל-Slack בכתובת https://api.slack.com/apps.
בוחרים באפשרות הרצויה בקטע 'מניפסט':
בחירת סביבת עבודה לפיתוח האפליקציה
עוברים ל-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
לוחצים על 'יצירה':
התקנה ב-Workspace:
בוחרים את הערוץ #general ולוחצים על 'אישור'.
בקטע 'מידע בסיסי / פרטי כניסה לאפליקציה' – מעתיקים את 'Signing Secret' ומגדירים אותו בשילוב של Agent ב-Slack כערך בשדה 'Signing Token'.
פותחים את 'OAuth והרשאות', מעתיקים את 'אסימון OAuth של משתמש הבוט' ומגדירים אותו בשילוב של הסוכן ב-Slack כערך בשדה 'אסימון גישה'.
ממלאים את שדות החובה ולוחצים על 'התחלה'.
הערך של Access Token (אסימון גישה) של הסוכן הוא Bot User OAUth Token (אסימון OAUth של משתמש הבוט) מ-Slack.
הערך של Signing Token (אסימון החתימה) של הסוכן הוא Signing Secret (סוד החתימה) מ-Slack.
מעתיקים את 'כתובת ה-Webhook' וחוזרים להגדרות של אפליקציית Slack.
פותחים את הקטע 'מינויים לאירועים' ומדביקים את כתובת ה-URL.
שומרים את השינויים.
פותחים את Slack ומוסיפים נציג על ידי הקלדה של "@Agent".
לדוגמה, הוספת אפליקציה בשם @CX.
מבקשים מהנציג סיכום של פרויקט ב-JIRA.
מעולה! הסוכן שולב בהצלחה בסביבת העבודה של Slack.
9. שאלות ותשובות על מסמכי PDF
בקטע הזה מוסבר איך ליצור מאגר נתונים באמצעות מסמך PDF ולקשר אותו ל-Agent, כדי לאפשר פונקציונליות של שאלות ותשובות על סמך תוכן המסמך.
יצירת קטגוריה ב-Cloud Storage
פותחים את Cloud Shell: https://shell.cloud.google.com/
מגדירים את שם הקטגוריה באמצעות 5 הספרות האחרונות של פרויקט GCP. לדוגמה: 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
, גוללים למטה ולוחצים על + Data store
.
משתמשים בערכים הבאים:
שם הכלי: pdf-docs
סוג: Data store
תיאור: pdf-docs
לוחצים על 'Save
'.
לוחצים על 'Add data stores
' בתחתית הדף. לאחר מכן לוחצים על 'Create new data store
'.
בוחרים באפשרות Cloud Storage
כמקור הנתונים.
בוחרים באפשרות: Unstructured documents
ובוחרים את הקטגוריה/התיקייה ב-GCS.
בוחרים באפשרות us
למיקום של מאגר הנתונים.
לסוג השם של מאגר הנתונים: pdf-docs
בתפריט הנפתח, בוחרים באפשרות Digital parser
.
הפעלת חלוקה מתקדמת למקטעים.
הפעלת כותרות של ישויות אב בקטעים.
לוחצים על 'Create
'.
לוחצים על מאגר הנתונים ובודקים את ההגדרות של Documents, Activity ו-Processing.
תהליך הייבוא יימשך כ-5 עד 10 דקות.
אפשרויות ניתוח וחלוקה למקטעים
אפשר לשלוט בניתוח התוכן בדרכים הבאות:
- מנתח דיגיטלי המנתח הדיגיטלי מופעל כברירת מחדל לכל סוגי הקבצים, אלא אם צוין סוג מנתח אחר. המנתח הדיגיטלי מעבד מסמכים שצורפו אם לא צוין מנתח אחר כברירת מחדל למאגר הנתונים, או אם המנתח שצוין לא תומך בסוג הקובץ של המסמך שצורף.
- ניתוח OCR לקובצי PDF. גרסת טרום-השקה ציבורית. אם אתם מתכננים להעלות קובצי PDF סרוקים או קובצי PDF עם טקסט בתוך תמונות, אתם יכולים להפעיל את מנתח ה-OCR כדי לשפר את ההוספה של קובצי ה-PDF לאינדקס. מידע על ניתוח OCR לקובצי PDF
- מנתח פריסה אם אתם מתכננים להשתמש ב-Vertex AI Search ל-RAG, צריך להפעיל את מנתח הפריסה של קובצי HTML, PDF או DOCX. מידע על המנתח הזה ועל האופן שבו מפעילים אותו זמין במאמר חלוקה של מסמכים לקטעים ל-RAG.
מידע נוסף על ניתוח מסמכים ועל חלוקה של מסמכים לקטעים
הגדרת הכלי
חוזרים למסך ההגדרה של הכלי של הסוכן ומרעננים את מאגרי הנתונים הזמינים.
בוחרים את מאגר הנתונים שיצרתם ולוחצים על Confirm
.
מגדירים את הארקה.
מקלידים 'Google Cloud
' בשדה 'שם החברה'.
הגדרות של עומס שימושי – מסמנים את האפשרות Include snippets in Conversational Messenger response payload"
ומגדירים את הערך ל-5.
לוחצים על 'שמירה'.
הגדרת ההוראות של הנציג
חוזרים להגדרת הסוכן.
מוסיפים הוראה חדשה:
- Provide detailed answer to users questions about the exec guide to gen ai using information in the ${TOOL:pdf-docs}
שומרים את ההגדרות.
יצירת דוגמה לכלי PDF-Docs
עוברים לכרטיסייה 'דוגמאות'. יצירת דוגמה חדשה: Guide to generative AI
באמצעות הפעולות '+
':
מוסיפים את 'קלט משתמש':
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
דוגמה להגדרה:
הגדרת ההפעלה של הכלי:
עוברים לסימולטור כדי לבדוק את ההגדרות.
שאלה:
What are the 10 steps in the exec guide?
בתפריט הנפתח Invocations (קריאות), בוחרים באפשרות Agent
ולוחצים על Save as example
.
נותנים שם "user-question-flow
".
מגדירים את התקציר: Agent helped user answer question based on the pdf document
ולוחצים על 'שמירה'.
מעצבים את התגובה של הסוכן וכוללים קישור למסמך ה-PDF בקטע הפלט של הכלי.
שומרים את הדוגמה.
חוזרים לסימולטור ולוחצים על Replay conversation
. בודקים את פורמט התשובה המעודכן. אם מופיעה שגיאה אחרי שמירת הדוגמה, יכול להיות שתצטרכו לרענן את חלון הדפדפן ולהתחיל מחדש את השיחה על ידי שליחת ההנחיה שוב:
What are the 10 steps in the exec guide?
אפשר לשאול שאלה אחרת:
What are the main capabilities in the exec guide?
מסמך ה-PDF המקור.
שאלה:
What should I consider when evaluating projects?
מסמך ה-PDF המקור.
שאלה:
What are the priority use cases in Retail and CPG in the exec guide?
מסמך ה-PDF המקור.
מעולה! מעכשיו, הנציג יכול לספק תשובות מבוססות על סמך מסמכי ה-PDF.
10. נציגים מוכנים מראש
בשלב הבא נלמד על סוכנים מוכנים מראש מהתפריט שמימין.
בוחרים אחד מהסוכנים ופורסים אותו. מידע על ההגדרה, ההוראות והכלים של Agent.
11. מעולה!
כל הכבוד, סיימת את שיעור ה-Lab!
הנושאים שעסקנו בהם:
- איך יוצרים ומפרסים צ'אט בוטים
- איך מוסיפים כלי לסוכנות שמגובת על ידי אפליקציית Cloud Run
- איך לשלב את הסוכן בסביבת העבודה של Slack
- איך מגדירים מאגר נתונים לשאלות ותשובות במסמכי PDF
השלב הבא:
- שיטות מומלצות ליצירת צ'אט בוטים
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים הנפרדים.
מחיקת הפרויקט
הדרך הקלה ביותר לבטל את החיוב היא למחוק את הפרויקט שיצרתם בשביל המדריך.
©2024 Google LLC כל הזכויות שמורות. Google והלוגו של Google הם סימנים מסחריים רשומים של Google LLC. שמות של חברות ומוצרים אחרים עשויים להיות סימנים מסחריים של החברות, בהתאמה, שאליהן הם משויכים.