API çağrılarıyla dokümanlar ve işlemler hakkında soru-cevap için Slack'ta Üretken Yapay Zeka temsilcisi

1. Genel Bakış

Bu laboratuvarda bir üretken yapay zeka aracısı oluşturacak, bunu Cloud Run uygulamasına bağlayacak ve aracı Slack çalışma alanına entegre edeceksiniz.

3301e2bb69be325.png

Öğrenecekleriniz

Laboratuvarın birkaç ana bölümü vardır:

  • Gemini API'leriyle entegre olacak Cloud Run uygulaması dağıtma
  • Yapay zeka uygulamalarında etkileşimli ajan oluşturma ve dağıtma
  • Aracı Slack'e entegre etme
  • PDF dokümanlarında soru-cevap için veri deposunu yapılandırma

Ön koşullar

  • Bu laboratuvarda, Cloud Console ve Cloud Shell ortamlarına aşina olduğunuz varsayılır.

2. Kurulum ve Gereksinimler

Cloud projesi kurulumu

  1. Google Cloud Console'da oturum açın ve yeni bir proje oluşturun veya mevcut bir projeyi yeniden kullanın. Gmail veya Google Workspace hesabınız yoksa hesap oluşturmanız gerekir.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Proje adı, bu projenin katılımcıları için görünen addır. Google API'leri tarafından kullanılmayan bir karakter dizesidir. Bu bilgiyi istediğiniz zaman güncelleyebilirsiniz.
  • Proje kimliği, tüm Google Cloud projelerinde benzersizdir ve sabittir (ayarlandıktan sonra değiştirilemez). Cloud Console, benzersiz bir dizeyi otomatik olarak oluşturur. Genellikle bu dizenin ne olduğuyla ilgilenmezsiniz. Çoğu codelab'de proje kimliğinize (genellikle PROJECT_ID olarak tanımlanır) başvurmanız gerekir. Oluşturulan kimliği beğenmezseniz başka bir rastgele kimlik oluşturabilirsiniz. Dilerseniz kendi adınızı deneyerek kullanılabilir olup olmadığını kontrol edebilirsiniz. Bu adım tamamlandıktan sonra değiştirilemez ve proje süresince geçerli kalır.
  • Bazı API'lerin kullandığı üçüncü bir değer olan Proje Numarası da vardır. Bu üç değer hakkında daha fazla bilgiyi belgelerde bulabilirsiniz.
  1. Ardından, Cloud kaynaklarını/API'lerini kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir. Bu codelab'i tamamlamak neredeyse hiç maliyetli değildir. Bu eğitimin ötesinde faturalandırılmayı önlemek için kaynakları kapatmak üzere oluşturduğunuz kaynakları veya projeyi silebilirsiniz. Yeni Google Cloud kullanıcıları 300 ABD doları değerinde ücretsiz deneme programından yararlanabilir.

Ortam Kurulumu

Gemini ile etkileşimi açın.

e1e9ad314691368a.png

Google Cloud için Gemini API'yi etkinleştirin:

933612a23648361c.png

b366894eb450f862.png

"Start chatting"yı tıklayın ve denemek için örnek sorulardan birini yanıtlayın veya kendi isteminizi yazın.

ed120d672468b412.png

Deneyebileceğiniz istemler:

  • Cloud Run'ı 5 temel noktada açıklayın.
  • Google Cloud Run Ürün Yöneticisi olarak, Cloud Run'ı bir öğrenciye 5 kısa madde halinde açıklayın.
  • Google Cloud Run Ürün Yöneticisi olarak, Cloud Run'ı 5 kısa madde halinde Certified Kubernetes Developer'a açıkla.
  • Google Cloud Run Ürün Yöneticisi olarak, Cloud Run'ı GKE'ye kıyasla ne zaman kullanacağınızı 5 kısa madde halinde kıdemli bir geliştiriciye açıklayın.

Daha iyi istemler yazma hakkında daha fazla bilgi edinmek için İstem Kılavuzu'na göz atın.

Google Cloud için Gemini, verilerinizi nasıl kullanır?

Google'ın gizlilik taahhüdü

Google, sektörde yapay zeka/makine öğrenimi gizlilik taahhüdü yayınlayan ilk şirketlerden biriydi. Bu taahhütte, müşterilerin bulutta depolanan verileri üzerinde en yüksek düzeyde güvenlik ve denetime sahip olması gerektiğine inandığımız belirtilir.

Gönderdiğiniz ve aldığınız veriler

Gemini'a sorduğunuz sorular (Gemini'a analiz etmesi veya tamamlaması için gönderdiğiniz giriş bilgileri ya da kodlar dahil) istem olarak adlandırılır. Gemini'dan aldığınız yanıtlar veya kod tamamlama işlemleri, yanıt olarak adlandırılır. Gemini, istemlerinizi veya yanıtlarını modellerini eğitmek için veri olarak kullanmaz.

İstemlerin şifrelenmesi

Gemini'a istem gönderdiğinizde verileriniz, Gemini'daki temel modele giriş olarak aktarım sırasında şifrelenir.

Gemini'dan oluşturulan program verileri

Gemini, birinci taraf Google Cloud kodu ve seçili üçüncü taraf kodu kullanılarak eğitilmiştir. Gemini'ın sunduğu kod tamamlama, oluşturma veya analiz özellikleri de dahil olmak üzere kodunuzun güvenliği, testi ve etkinliği sizin sorumluluğunuzdadır.

Google'ın istemlerinizi nasıl işlediği hakkında daha fazla bilgi edinin.

3. İstemleri test etme seçenekleri

İstemleri test etmek için çeşitli seçenekleriniz vardır.

Vertex AI Studio, Google Cloud'un Vertex AI platformunun bir parçasıdır ve özellikle üretken yapay zeka modellerinin geliştirilmesini ve kullanılmasını basitleştirmek ve hızlandırmak için tasarlanmıştır.

Google AI Studio, istem mühendisliği ve Gemini API ile prototip oluşturma ve deneme yapmaya yönelik web tabanlı bir araçtır.

Google Gemini web uygulaması (gemini.google.com), Google'ın Gemini yapay zeka modellerinin gücünü keşfetmenize ve kullanmanıza yardımcı olmak için tasarlanmış web tabanlı bir araçtır.

4. Depoyu klonlama

Google Cloud Console'a dönün ve arama çubuğunun sağındaki simgeyi tıklayarak Cloud Shell'i etkinleştirin.

3e0c761ca41f315e.png

Yetkilendirmeniz istenirse devam etmek için "Yetkilendir"i tıklayın.

6356559df3eccdda.png

Açılan terminalde aşağıdaki komutları çalıştırın.

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

cd genai-for-developers

git checkout slack-agent-jira-lab

"Open Editor" (Düzenleyiciyi Aç) seçeneğini tıklayın.

63e838aebfdd2423.png

"File / Open Folder" menü öğesini kullanarak "genai-for-developers" seçeneğini açın.

e3b9bd9682acf539.png

Yeni bir terminal açın.

4d9c41ab01ff4e97.png

5. Hizmet hesabı oluşturma

Yeni bir hizmet hesabı oluşturun. Bu hizmet hesabını, Cloud Run uygulamasından Vertex AI Gemini API'ye API çağrıları yapmak için kullanacaksınız.

Qwiklabs proje ayrıntılarınızı kullanarak proje ayrıntılarını yapılandırın.

Örnek: qwiklabs-gcp-00-2c10937585bb

gcloud config set project YOUR_QWIKLABS_PROJECT_ID

Hizmet hesabı oluşturun.

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"

Rol atama

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'lerini ve Gemini ile etkileşimi kullanmak için gerekli hizmetleri etkinleştirin.

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'lerini ve Gemini ile etkileşimi kullanmak için gerekli hizmetleri etkinleştirin.

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

Kod açıklaması için Gemini Code Assist'i kullanma

"devai-api/app/routes.py" dosyasını açın, ardından dosyanın herhangi bir yerini sağ tıklayıp bağlam menüsünden "Gemini Code Assist > Explain this"" seçeneğini belirleyin.

427ed40dd44cab8a.png

Gemini'ın seçili dosyayla ilgili açıklamasını inceleyin.

a286d1e85bc42960.png

6. Devai-API'yi Cloud Run'a dağıtma

Doğru klasörde olduğunuzdan emin olun.

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

Bu laboratuvarda, en iyi uygulamaları takip ediyor ve Cloud Run'da erişim jetonu ile LangChain API anahtarı değerlerini depolayıp referans vermek için Secret Manager'ı kullanıyoruz.

Ortam değişkenlerini ayarlayın. Bu komutu herhangi bir değişiklik yapmadan olduğu gibi çalıştırın.

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'da birden fazla gizli anahtar oluşturup saklayın.

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=-

Uygulamayı Cloud Run'a dağıtın.

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

Artifact Registry Docker deposu oluşturmak için Y yanıtını verin.

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'dan komutu açıklamasını isteyin:

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

Aşağıdaki gcloud run deploy SERVICE_NAME --source=. akışını inceleyin. Daha fazla bilgi edinin.

5c122a89dd11822e.png

Bu komut, arka planda Google Cloud'un buildpacks ve Cloud Build hizmetlerini kullanarak makinenize Docker'ı yüklemenize veya buildpack'leri ya da Cloud Build'i ayarlamanıza gerek kalmadan kaynak kodunuzdan otomatik olarak kapsayıcı görüntüleri oluşturur. Yani yukarıda açıklanan tek komut, aksi takdirde gcloud builds submit ve gcloud run deploy komutlarının kullanılmasını gerektirecek işlemi yapar.

Dockerfile sağladıysanız(bu depoda yaptığımız gibi) Cloud Build, container görüntülerini otomatik olarak algılamak ve oluşturmak için buildpack'lere güvenmek yerine bunları kullanır. Buildpack'ler hakkında daha fazla bilgi edinmek için dokümanları inceleyin.

Console'da Cloud Build günlüklerini inceleyin.

Oluşturulan Docker görüntüsünü Artifact Registry'de inceleyin.

Cloud Console'da Cloud Run örneği ayrıntılarını inceleyin.

Curl komutunu çalıştırarak uç noktayı test edin.

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

Yanıt, Markdown biçiminde olur. Daha iyi okunabilirlik için önizleme modunda görüntüleme

bda86deaa1c449a8.png

7. Yapay Zeka Uygulamaları

Google Cloud Console arama çubuğuna "AI Applications" yazıp açın.

3f8540f5c946e199.png

Conversational Agent uygulaması oluşturun:

6f372cbe4935c507.png

"Build your own" simgesini seçin.

5305cb9a8320f468.png

Görünen ad için "Agent" yazın ve "Oluştur"u tıklayın.

e0056adc2f8af87.png

Başucu Kitabı Adını Ayarla:

Agent

Hedef Belirleme:

Help users with questions about JIRA project

Talimatları ayarlama:

- 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"yı tıklayın:

bb2569de77cd1f06.png

Sağ taraftaki simülatör sohbetini kullanarak temsilciyi test edin:

593dd4b8fc4c20d9.png

Aşağıda gösterildiği gibi benzer görüşmeleri takip edin:

66a7569835ebc7e7.png

Aracının Araçlar yapılandırması

Soldaki anahtar simgesinin üzerine gelin. Araçlar menüsünü açıp yeni bir araç oluşturun:

ff635e2d135ea6d8.png

Tür açılır listesinden OpenAPI simgesini seçin.

Aracın adını ayarlayın:

jira-project-status

Set Açıklaması:

Provides JIRA project status

Sekmeleri değiştirin ve Cloud Run hizmeti URL'si için konsol çıkışını kontrol edin. Hizmet URL'si değerini kopyalayın.

Şemayı ayarlayın (YAML) - YOUR CLOUD RUN URL'sini değiştirin.

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

Aracın yapılandırmasını kaydedin:

ae78c21f48754d7a.png

Sol menüden "Playbook'lar"ı seçerek Aracı yapılandırmasına dönün ve aracı kullanma talimatlarını güncelleyin:

Yeni aracı kullanmayla ilgili talimatlar ekleyin ve "Save"yı tıklayın:

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

16755dd3aaf3888.png

"Examples" sekmesine geçin ve yeni örnek ekleyin:

a74004679865ab6e.png

Görünen adı ayarlama:

jira-project-flow

Alttaki menüyü kullanarak kullanıcı ile temsilci arasındaki görüşmeyi modelleyin:

Örnek akış:

Temsilci yanıtı: Proje kimliği nedir?

Kullanıcı girişi: TEST-PROJECT-100

Araç kullanımı: jira-project-status

Temsilci yanıtı: Proje durumu ayrıntıları.

6d54f90f1dc630fc.png

Örneği oluşturmak için aşağıdaki referansı kullanın.

c80eef4210256e5a.png

5affaee4cd54616e.png

Save simgesini tıklayın. Temsilci simülatörüne dönün ve mevcut görüşmeleri sıfırlayın. Akışı test edin.

ac9db60831b0f684.png

a9fbafd45139d434.png

Tebrikler! Cloud Run'da dağıtılan uygulamaya(API) bağlı araçları entegre ederek Agent'ın işlemleri gerçekleştirmesini ve yeteneklerini genişletmesini başarıyla sağladınız.

e8b113e0cc1b8ad6.png

Sohbet Ajanları için En İyi Uygulamalar'ı inceleyin.

Mevcut Temsilci Ayarlarını İnceleme

  • Günlük kaydı ayarları - Cloud Logging'i etkinleştirme
  • Git entegrasyonu: Git entegrasyonu, aracılarınızı bir Git deposundan göndermenize ve çekmenize olanak tanır.
  • Üretken model seçimi
  • Jeton sınırları(giriş ve çıkış)

f914db1d8a5d5447.png

Temsilci simülatörü kontrollerini inceleyin:

d1c4712603d4a8a2.png

8. Slack Entegrasyonu

Entegrasyonlar menüsünü açın ve Slack kutusunda "Connect"yı tıklayın.

6fc0ad95c28cb6c8.png

e7ee0826668bfa2b.png

b29574fd2a0f9725.png

Bağlantıyı açın ve https://api.slack.com/apps adresinde yeni bir Slack uygulaması oluşturun.

cbf13edc1b284899.png

"Manifest" bölümünde aşağıdakiler arasından seçim yapın:

7721feb295693ea2.png

Uygulamanızı geliştirmek için bir çalışma alanı seçin

99a3d5b37cdf8f76.png

YAML'ye geçin ve şu manifesti yapıştırın:

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

"Oluştur"u tıklayın:

5f0b3d2c44022eb9.png

Çalışma alanına yükleme:

aa1c2ea1b700c838.png

"#general" kanalını seçip "İzin ver"i tıklayın.

18eba659946fc65f.png

"Temel Bilgiler / Uygulama Kimlik Bilgileri" bölümünde "İmzalama Gizli Anahtarı"nı kopyalayın ve bunu Agent'ın Slack entegrasyonunda "İmzalama Jetonu" alanının değeri olarak ayarlayın.

31d62babb57e523d.png

bd9f7e3be3b9ea4e.png

"OAuth & Permissions" (OAuth ve İzinler) bölümünü açın, "Bot User OAuth Token"ı (Bot Kullanıcısı OAuth Jetonu) kopyalayın ve "Access token " (Erişim jetonu) alanının değeri olarak Agent'ın Slack entegrasyonuna ayarlayın.

e74c7e003c31258.png

Gerekli alanları ayarlayın ve "Başlat"ı tıklayın.

Aracının "Access Token " değeri, Slack'ten alınan"Bot User OAUth Token" değeridir.

Temsilcinin "imzalama jetonu " değeri, Slack'teki "imzalama gizli anahtarı"dır.

8ea9f6856efa62cf.png

7e71e37750fd063a.png

"Webhook URL'sini" kopyalayın ve Slack uygulaması yapılandırmasına dönün.

"Etkinlik Abonelikleri" bölümünü açın ve URL'yi yapıştırın.

a1e7271934c714d9.png

Değişiklikleri kaydedin.

e6d9b43b3787b6e7.png

"Slack"i açın ve "@Agent" yazarak bir temsilci ekleyin.

Örneğin, "@CX" adlı bir uygulama ekleme.

72313066707f947b.png

63becbd80824f8d8.png

c98e193062b096f0.png

Aracıdan JIRA proje özeti isteyin.

6edfdb74760548ad.png

Tebrikler! Aracı, Slack çalışma alanına başarıyla entegre ettiniz.

703a3bf5754680fa.png

9. PDF dokümanlarında soru-cevap

Bu bölümde, PDF belgesi kullanarak nasıl veri deposu oluşturulacağı ve bu deponun, belgenin içeriğine dayalı soru-cevap işlevini etkinleştirmek için nasıl Ajan'a bağlanacağı açıklanmaktadır.

Cloud Storage paketi oluşturma

Cloud Shell'i açın: https://shell.cloud.google.com/

GCP projenizin son 5 hanesini kullanarak paket adını ayarlayın. Örnek: pdf-docs-3dw21

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

Paket oluşturun ve PDF dokümanı yükleyin.

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

Veri deposu yapılandırması

Aracı Konsolu'na dönüp "Agent"yı açın, aşağı kaydırıp "+ Data store"yı tıklayın.

9a5e4d6d1e040b86.png

Aşağıdaki değerleri kullanın:

Aracın adı: pdf-docs

Tür: Data store

Açıklama: pdf-docs

"Save"yı tıklayın.

60096b1c597347fa.png

Sayfanın alt kısmındaki "Add data stores"yı tıklayın. Ardından "Create new data store" simgesini tıklayın.

abb9e513ac905e75.png

Veri kaynağı olarak "Cloud Storage"yı seçin.

Seç: Unstructured documents

GCS paketinizi/klasörünüzü seçin.

42dec238c1d0ac2f.png

Veri deposu konumu için "us" seçeneğini belirleyin.

Veri deposu adı için şunu yazın: "pdf-docs"

Açılır listeden "Digital parser"yı seçin.

Gelişmiş parçalama özelliğini etkinleştirin.

Parçalarda üst öğe başlıklarını etkinleştirin.

"Create" öğesini tıklayın.

1a5222b86ee6c58e.png

3119b5fec43c9294.png

Veri deposunu tıklayın ve Dokümanlar, Etkinlik ve İşleme Yapılandırması'nı inceleyin.

872d9142615e90c9.png

İçe aktarma işleminin tamamlanması yaklaşık 5-10 dakika sürer.

d9739a4af2244e03.png

Ayrıştırma ve parçalama seçenekleri

İçerik ayrıştırmayı aşağıdaki şekillerde kontrol edebilirsiniz:

  • Dijital ayrıştırıcı. Farklı bir ayrıştırıcı türü belirtilmediği sürece, dijital ayrıştırıcı tüm dosya türleri için varsayılan olarak açıktır. Veri deposu için başka bir varsayılan ayrıştırıcı belirtilmemişse veya belirtilen ayrıştırıcı, alınan bir belgenin dosya türünü desteklemiyorsa alınan belgeler dijital ayrıştırıcı tarafından işlenir.
  • PDF'ler için OCR ayrıştırması. Herkese açık önizleme. Taranmış PDF'ler veya resimlerin içinde metin bulunan PDF'ler yüklemeyi planlıyorsanız PDF dizine ekleme işlemini iyileştirmek için OCR ayrıştırıcısını etkinleştirebilirsiniz. PDF'lerde OCR ayrıştırma hakkında başlıklı makaleyi inceleyin.
  • Düzen ayrıştırıcı. RAG için Vertex AI Arama'yı kullanmayı planlıyorsanız HTML, PDF veya DOCX dosyaları için düzen ayrıştırıcıyı etkinleştirin. Bu ayrıştırıcı ve nasıl etkinleştirileceği hakkında bilgi için RAG için belgeleri parçalama başlıklı makaleyi inceleyin.

Belgeleri ayrıştırma ve parçalama hakkında daha fazla bilgi edinin.

Araç yapılandırması

Aracı yapılandırma ekranına dönün ve kullanılabilir veri depolarını yenileyin.

Yeni oluşturduğunuz veri deposunu seçin ve "Confirm"yı tıklayın.

2922f7d9bdb7b2bc.png

Temellendirmeyi yapılandırın.

Şirket adı için "Google Cloud" yazın.

Yük ayarları: "Include snippets in Conversational Messenger response payload"" seçeneğini işaretleyin. Değeri 5 olarak ayarlayın.

"Kaydet"i tıklayın.

484e99caa7d1bc07.png

Aracının talimat yapılandırması

Temsilci yapılandırmasına dönün.

Yeni talimat ekleme:

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

f6d27e58b68f9f7.png

Yapılandırmayı kaydedin.

PDF-Docs aracı için örnek oluşturma

Örnekler sekmesine geçin. Yeni bir örnek oluşturun: Guide to generative AI

"+" işlemlerini kullanma:

ee4f85ba3f47fda0.png

"Kullanıcı girişi" ekleyin:

What are the main capabilities for generative AI?

"Araç kullanımı"nı ekleyin.

  • Araç ve işlem: "pdf-docs"

Giriş (requestBody)

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

Araç Çıkışı:

{
  "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"
    }
  ]
}

"Müşteri temsilcisi yanıtı"nı ekleyin

Detailed answer about main capabilities. 

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

Yapılandırılmış örnek:

d1da4c1d18709ea6.png

Araç çağırma yapılandırması:

a0d47a9dc04bb2f1.png

Yapılandırmayı test etmek için simülatöre geçin.

Soru:

What are the 10 steps in the exec guide?

e682480a959125bc.png

Invocations (Çağrılar) açılır listesinden "Agent" seçeneğini belirleyin ve "Save as example"yı tıklayın.

582759df60b9a342.png

"user-question-flow" adını girin.

Özeti ayarlayın: "Agent helped user answer question based on the pdf document" ve Kaydet'i tıklayın.

Aracın çıktı bölümünden PDF dokümanının bağlantısını ekleyerek aracı yanıtını biçimlendirin.

6ba5011ed26793f3.png

Örneği kaydedin.

Simülasyon aracına dönüp "Replay conversation"yı tıklayın. Güncellenen yanıt biçimini kontrol edin. Örneği kaydettikten sonra bir hata görürseniz tarayıcı pencerenizi yenilemeniz ve istemi tekrar göndererek görüşmeyi yeniden başlatmanız gerekebilir:

What are the 10 steps in the exec guide?

51698c5f1fbd2770.png

Başka bir soru sorun:

What are the main capabilities in the exec guide?

7b636f489c05a13.png

Kaynak PDF dokümanı.

5b3e6d2ceda99247.png

Soru:

What should I consider when evaluating projects?

1155edfbffcd14b2.png

Kaynak PDF dokümanı.

57a0d331aa91f04b.png

Soru:

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

92264121fc8f06e.png

Kaynak PDF dokümanı.

b4d07e6e7d9adc00.png

Tebrikler! Agent artık PDF belgelerine dayalı olarak temellendirilmiş yanıtlar verebiliyor.

e11d020a9cfa36d1.png

10. Önceden oluşturulmuş temsilciler

Ardından, soldaki menüden önceden oluşturulmuş Aracıları keşfedeceksiniz.

de49672bbb8112fd.png

Ajanlardan birini seçip dağıtın. Agent'ın kurulumunu, talimatlarını ve araçlarını keşfedin.

1e00ed8ef4887efb.png

11. Tebrikler!

Tebrikler, laboratuvarı tamamladınız.

İşlediğimiz konular:

  • Konuşma aracıları oluşturma ve dağıtma
  • Cloud Run uygulaması tarafından desteklenen araca nasıl araç eklenir?
  • Aracı Slack çalışma alanına entegre etme
  • PDF belgeleriyle ilgili soru-cevap için veri deposunu yapılandırma

Sıradaki adım:

Temizleme

Bu eğitimde kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini önlemek amacıyla kaynakları içeren projeyi silin veya projeyi koruyup tek tek kaynakları silin.

Projeyi silme

Faturalandırılmanın önüne geçmenin en kolay yolu, eğitim için oluşturduğunuz projeyi silmektir.

©2024 Google LLC. Tüm hakları saklıdır. Google ve Google logosu, Google LLC şirketinin ticari markalarıdır. Diğer tüm şirket ve ürün adları ilişkili oldukları şirketlerin ticari markaları olabilir.