GenAI Agent สําหรับถามและตอบเกี่ยวกับเอกสารและการดําเนินการด้วยการเรียก API

GenAI Agent สําหรับถามและตอบเกี่ยวกับเอกสารและการดําเนินการด้วยการเรียก API

เกี่ยวกับ Codelab นี้

subjectอัปเดตล่าสุดเมื่อ มี.ค. 18, 2025
account_circleเขียนโดย Andrey Shakirov

1 ภาพรวม

ในชั้นเรียนนี้ คุณจะได้สร้างตัวแทน GenAI, เชื่อมต่อกับแอปพลิเคชัน Cloud Run และผสานรวมตัวแทนเข้ากับเวิร์กスペース Slack

8541c95a7fbc9be7.png

ห้องทดลองประกอบด้วยส่วนหลักๆ หลายส่วนดังนี้

  • ติดตั้งใช้งานแอปพลิเคชัน Cloud Run เพื่อผสานรวมกับ Gemini API
  • สร้างและทำให้ตัวแทนการสนทนาใช้งานได้
  • ผสานรวม 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 จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ซึ่งปกติแล้วคุณไม่จำเป็นต้องสนใจว่าสตริงนั้นจะเป็นอะไร ในโค้ดแล็บส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (ปกติจะระบุเป็น PROJECT_ID) หากไม่ชอบรหัสที่สร้างขึ้น คุณอาจสร้างรหัสอื่นแบบสุ่มได้ หรือจะลองใช้อุปกรณ์ของคุณเองเพื่อดูว่าอุปกรณ์พร้อมใช้งานหรือไม่ก็ได้ คุณจะเปลี่ยนแปลงชื่อหลังจากขั้นตอนนี้ไม่ได้ และชื่อดังกล่าวจะคงอยู่ตลอดระยะเวลาของโปรเจ็กต์
  • โปรดทราบว่ามีค่าที่ 3 ซึ่งเป็นหมายเลขโปรเจ็กต์ที่ API บางรายการใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 รายการนี้ได้ในเอกสารประกอบ
  1. ถัดไป คุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของ Cloud การทำตามโค้ดแล็บนี้จะไม่เสียค่าใช้จ่ายมากนัก หากต้องการปิดใช้ทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินหลังจากบทแนะนำนี้ คุณสามารถลบทรัพยากรที่สร้างไว้หรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า$300 USD

การตั้งค่าสภาพแวดล้อม

เปิดแชท Gemini

e1e9ad314691368a.png

เปิดใช้ Gemini สำหรับ Google Cloud API

990a0ceea7d05531.png

คลิก "Start chatting" แล้วทำตามคำถามตัวอย่างหรือพิมพ์พรอมต์ของคุณเองเพื่อลองใช้

ed120d672468b412.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 สำหรับ 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 ซึ่งออกแบบมาเพื่อลดความซับซ้อนและเร่งการพัฒนาและการใช้โมเดล Generative AI โดยเฉพาะ

Google AI Studio เป็นเครื่องมือบนเว็บสำหรับการสร้างต้นแบบและการทดลองกับการสร้างพรอมต์และ Gemini API

เว็บแอป Google Gemini (gemini.google.com) เป็นเครื่องมือบนเว็บที่ออกแบบมาเพื่อช่วยให้คุณสำรวจและใช้ประโยชน์จากความสามารถของโมเดล AI ของ Gemini ของ Google

4 โคลนที่เก็บ

กลับไปที่ Google Cloud Console และเปิดใช้งาน 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

เปิดเทอร์มินัลใหม่

4d9c41ab01ff4e97.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"

หากได้รับข้อความแจ้งให้ให้สิทธิ์ ให้คลิก "ให้สิทธิ์" เพื่อดำเนินการต่อ

6356559df3eccdda.png

เปิดใช้บริการที่จำเป็นเพื่อใช้ Vertex AI API และ Gemini Chat

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

เปิดใช้บริการที่จำเป็นเพื่อใช้ Vertex AI API และ 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" จากเมนูบริบท

427ed40dd44cab8a.png

ตรวจสอบคำอธิบายของ Gemini สำหรับไฟล์ที่เลือก

a286d1e85bc42960.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"

สร้างและจัดเก็บข้อมูลลับหลายรายการใน 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 เพื่อสร้างที่เก็บ Artifact Registry Docker

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 ในเครื่องหรือตั้งค่า Buildpack หรือ Cloud Build กล่าวคือ คำสั่งเดียวที่อธิบายไว้ข้างต้นจะทําสิ่งที่ต้องใช้คําสั่ง gcloud builds submit และ gcloud run deploy

หากคุณระบุ Dockerfile(ซึ่งเราได้ระบุไว้ในที่เก็บนี้) แล้ว Cloud Build จะใช้ไฟล์ดังกล่าวเพื่อสร้างอิมเมจคอนเทนเนอร์แทนที่จะใช้ Buildpack เพื่อตรวจหาและสร้างอิมเมจคอนเทนเนอร์โดยอัตโนมัติ ดูข้อมูลเพิ่มเติมเกี่ยวกับบิลด์แพ็กได้จากเอกสารประกอบ

ตรวจสอบบันทึก 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 เครื่องมือสร้างตัวแทน Vertex AI

ค้นหาและเปิด "Agent Builder"

d189f2069d7bc7f6.png

เปิดใช้งาน API

4bf2b240bd51db8.png

สร้างแอปตัวแทนการสนทนา

9ee179dbcca38234.png

เปิดใช้ Dialogflow API

75f2fd509c16ab88.png

เลือกโปรเจ็กต์

bf6d60bebab949fe.png

คลิก "สร้างตัวแทน"

42332fe32af5a74e.png

เลือก "สร้างเอง"

583c747540ce3217.png

พิมพ์ "ตัวแทน" สำหรับชื่อที่แสดง แล้วคลิก "สร้าง"

e0056adc2f8af87.png

ตั้งชื่อ Playbook

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.

คลิก "บันทึก"

bb2569de77cd1f06.png

ทดสอบตัวแทนโดยใช้แชทจำลองทางด้านขวา

7477cf320aaec22.png

66a7569835ebc7e7.png

วางเมาส์เหนือไอคอนประแจทางด้านซ้าย เปิดเมนูเครื่องมือและสร้างเครื่องมือใหม่

ff635e2d135ea6d8.png

เลือก OpenAPI จากเมนูแบบเลื่อนลง "ประเภท"

ตั้งชื่อเครื่องมือ

jira-project-status

ตั้งค่าคำอธิบาย:

Provides JIRA project status

ตั้งค่าสคีมา (YAML) - แทนที่ URL ของ CLOUD RUN เปลี่ยนแท็บและตรวจสอบเอาต์พุตคอนโซลสำหรับ 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

บันทึกการกำหนดค่าเครื่องมือ

ae78c21f48754d7a.png

กลับไปที่การกําหนดค่าตัวแทนโดยเลือก "Playbook" จากเมนูด้านซ้าย แล้วอัปเดตวิธีการใช้เครื่องมือ

เพิ่มวิธีการใช้เครื่องมือใหม่ แล้วคลิก "บันทึก"

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

4dabf135b37b044b.png

เปลี่ยนเป็นแท็บ "ตัวอย่าง" แล้วเพิ่มตัวอย่างใหม่

a74004679865ab6e.png

ตั้งชื่อที่แสดง

jira-project-flow

ใช้เมนูที่ด้านล่างเพื่อจำลองการสนทนาระหว่างผู้ใช้กับตัวแทน ดังนี้

ตัวอย่างขั้นตอน

คําตอบของตัวแทน: โปรดระบุรหัสโปรเจ็กต์

อินพุตของผู้ใช้: TEST-PROJECT-100

การใช้เครื่องมือ: jira-project-status

การตอบกลับของตัวแทน: รายละเอียดสถานะโปรเจ็กต์

6d54f90f1dc630fc.png

ใช้ข้อมูลอ้างอิงด้านล่างเพื่อสร้างตัวอย่าง

c80eef4210256e5a.png

5affaee4cd54616e.png

คลิกบันทึก กลับไปที่โปรแกรมจำลองตัวแทนและทดสอบโฟลว์ รีเซ็ตการสนทนาที่มีอยู่

f96e7f711561e559.png

85d0e12acf682357.png

ยินดีด้วย การผสานรวมเครื่องมือที่ลิงก์กับ API ที่ติดตั้งใช้งานใน Cloud Run จะช่วยให้ตัวแทนดำเนินการต่างๆ ได้สําเร็จ

695f18b4e5f81de8.png

ดูแนวทางปฏิบัติแนะนำสำหรับตัวแทน Vertex AI

ตรวจสอบการตั้งค่าตัวแทนที่พร้อมใช้งาน

  • การตั้งค่าการบันทึก - เปิดใช้ Cloud Logging
  • การผสานรวม Git - การผสานรวม Git ช่วยให้คุณพุชและพุลตัวแทนจากที่เก็บ Git ได้
  • การเลือกโมเดล Generative
  • ขีดจํากัดโทเค็น(อินพุตและเอาต์พุต)

f914db1d8a5d5447.png

ตรวจสอบการควบคุมโปรแกรมจำลองตัวแทน

d1c4712603d4a8a2.png

8 การผสานรวม Slack

เปิดเมนูการผสานรวม แล้วคลิก "เชื่อมต่อ" บนการ์ด Slack

6fc0ad95c28cb6c8.png

e7ee0826668bfa2b.png

b29574fd2a0f9725.png

เปิดลิงก์และสร้างแอป Slack ใหม่ใน https://api.slack.com/apps

cbf13edc1b284899.png

เลือกจาก "ไฟล์ Manifest"

7721feb295693ea2.png

เลือกพื้นที่ทํางานเพื่อพัฒนาแอป

99a3d5b37cdf8f76.png

เปลี่ยนไปใช้ YAML แล้ววางไฟล์ Manifest นี้

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

ในส่วน "ข้อมูลพื้นฐาน / ข้อมูลเข้าสู่ระบบของแอป" ให้คัดลอก "ข้อมูลลับสำหรับการลงนาม" และตั้งค่าในการผสานรวม Slack ของตัวแทนเป็นค่าสำหรับช่อง "โทเค็นการลงนาม"

31d62babb57e523d.png

bd9f7e3be3b9ea4e.png

เปิด "OAuth และสิทธิ์" แล้วคัดลอก "โทเค็น OAuth ของผู้ใช้บ็อต" และตั้งค่าในการผสานรวม Slack ของตัวแทนเป็นค่าสำหรับช่อง "โทเค็นการเข้าถึง"

e74c7e003c31258.png

กรอกข้อมูลในช่องที่ต้องกรอก แล้วคลิก "เริ่ม"

ค่า "โทเค็นการเข้าถึง" ของตัวแทนคือ "โทเค็น OAUth ของผู้ใช้บ็อต" จาก Slack

ค่า "โทเค็นการรับรอง" ของตัวแทนคือ "ข้อมูลลับสำหรับการรับรอง" จาก Slack

8ea9f6856efa62cf.png

7e71e37750fd063a.png

คัดลอก "URL ของเว็บฮุค" แล้วกลับไปที่การกําหนดค่าแอป Slack

เปิดส่วน "การติดตามเหตุการณ์" และวาง URL

a1e7271934c714d9.png

บันทึกการเปลี่ยนแปลง

e6d9b43b3787b6e7.png

เปิด "Slack" และเพิ่มตัวแทนโดยพิมพ์ "@Agent"

เช่น การเพิ่มแอปชื่อ "@CX"

72313066707f947b.png

63becbd80824f8d8.png

c98e193062b096f0.png

ขอสรุปโปรเจ็กต์ JIRA จากตัวแทน

6edfdb74760548ad.png

ยินดีด้วย ผสานรวมตัวแทนเข้ากับพื้นที่ทํางาน Slack เรียบร้อยแล้ว

e1a792e199d697c7.png

9 ถามและตอบเกี่ยวกับเอกสาร PDF

ส่วนนี้จะอธิบายวิธีสร้างที่เก็บข้อมูลโดยใช้เอกสาร PDF และลิงก์กับตัวแทน ซึ่งจะเปิดใช้ฟังก์ชันถามและตอบตามเนื้อหาของเอกสาร

สร้างที่เก็บข้อมูล 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 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 โปรดดูเกี่ยวกับการแยกวิเคราะห์ OCR สำหรับ PDF
  • โปรแกรมแยกวิเคราะห์เลย์เอาต์ เปิดโปรแกรมแยกวิเคราะห์เลย์เอาต์สำหรับไฟล์ HTML, PDF หรือ DOCX หากคุณวางแผนที่จะใช้ Vertex AI Search สำหรับ RAG ดูข้อมูลเกี่ยวกับโปรแกรมแยกวิเคราะห์นี้และวิธีเปิดใช้งานได้ที่แบ่งเอกสารเป็นกลุ่มสําหรับ RAG

ดูข้อมูลเพิ่มเติมเกี่ยวกับการแยกวิเคราะห์และการแบ่งเอกสารเป็นกลุ่ม

การกำหนดค่าเครื่องมือ

กลับไปที่หน้าจอการกําหนดค่าเครื่องมือของตัวแทนและรีเฟรชที่เก็บข้อมูลที่มีอยู่

เลือกที่เก็บข้อมูลที่เพิ่งสร้าง แล้วคลิก "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 ได้แล้ว

197cf1ae70663fae.png

10 ตัวแทนที่สร้างไว้ล่วงหน้า

ถัดไป คุณจะได้สํารวจตัวแทนที่สร้างไว้ล่วงหน้าจากเมนูทางด้านซ้าย

de49672bbb8112fd.png

เลือกตัวแทนรายการใดรายการหนึ่งและติดตั้งใช้งาน ดูการตั้งค่า วิธีการ และเครื่องมือของ Agent

c2f1808c30d4c17b.png

11 ยินดีด้วย

ยินดีด้วย คุณทำแล็บเสร็จแล้ว

สิ่งที่เราได้พูดถึงไปแล้ว

  • วิธีสร้างและติดตั้งใช้งานตัวแทนการสนทนา
  • วิธีเพิ่มเครื่องมือสําหรับตัวแทนที่รองรับโดยแอปพลิเคชัน Cloud Run
  • วิธีผสานรวมตัวแทนเข้ากับพื้นที่ทํางาน Slack
  • วิธีกำหนดค่าที่เก็บข้อมูลสำหรับถามและตอบในเอกสาร PDF

ขั้นตอนต่อไปที่ทำได้

ล้างข้อมูล

โปรดลบโปรเจ็กต์ที่มีทรัพยากรดังกล่าวหรือเก็บโปรเจ็กต์ไว้และลบทรัพยากรแต่ละรายการเพื่อเลี่ยงไม่ให้เกิดการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้

การลบโปรเจ็กต์

วิธีที่ง่ายที่สุดในการหยุดการเรียกเก็บเงินคือการลบโปรเจ็กต์ที่คุณสร้างสำหรับบทแนะนำ

©2024 Google LLC สงวนลิขสิทธิ์ Google และโลโก้ของ Google เป็นเครื่องหมายการค้าของ Google LLC ชื่อบริษัทและผลิตภัณฑ์อื่นๆ ทั้งหมดอาจเป็นเครื่องหมายการค้าของบริษัทที่เป็นเจ้าของ