Ekstensi Vertex AI Search

Dokumen ini menunjukkan cara mendaftar dan menggunakan ekstensi Vertex AI Search yang disediakan Google dari Konsol Google Cloud dan Vertex AI API. Ekstensi ini memungkinkan Anda mengakses dan menelusuri korpus situs dan data tidak terstruktur untuk memberikan respons yang relevan terhadap pertanyaan natural language, seperti:

  • "Bagaimana ancaman kompetitif bagi perusahaan berubah dari Q1 tahun lalu ke Q1 tahun ini?"
  • "Bagian mana dari perusahaan yang tumbuh paling cepat? Seberapa cepat?"

Ekstensi Vertex AI Search menggunakan Vertex AI Search untuk mengambil hasil yang bermakna dari penyimpanan data Anda. Ekstensi Vertex AI Search ditentukan dalam file vertex_ai_search.yaml Spesifikasi OpenAPI.

Untuk menggunakan ekstensi Vertex AI Search, Anda harus Membuat penyimpanan data di region global dengan cakupan penelusuran yang ditentukan. Untuk hasil penelusuran terbaik, aktifkan pengindeksan lanjutan untuk data situs dan edisi Enterprise untuk data tidak terstruktur. Lihat Tentang fitur lanjutan untuk mengetahui informasi selengkapnya.

openapi: "3.0.0"
info:
  title: Vertex AI Search
  version: v1alpha
  description: >
    Performs search on user ingested data including website and unstructured data type.

    This extension is used when user wants to search or retrieve meaningful results from their ingested data in the Vertex AI Search service.

    Supported AuthTypes:
    - GOOGLE_SERVICE_ACCOUNT_AUTH: (only supports using Vertex AI Extension Service Agent).
paths:
  /search:
    get:
      operationId: search
      description: Retrieves the results from user's query by searching in the data store.
      parameters:
      - name: query
        in: query
        schema:
          type: string
        description: User natural language instructions for search.
        required: true
      responses:
        default:
          description: Search execution result.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SearchResult"

components:
  schemas:
    SearchResult:
      description: Top results from search response.
      type: object
      properties:
        results:
          type: array
          items:
            type: object
            properties:
              title:
                type: string
                description: Retrieved document title.
              display_link:
                type: string
                description: Retrieved document link to display.
              link:
                type: string
                description: Retrieved document link.
              extractive_segments:
                type: array
                description: Extractive segments from the retrieved file.
                items:
                  type: string
              extractive_answers:
                type: array
                description: Extractive answers from the retrieved file. These are generated from the extractive segments.
                items:
                  type: string

    

Untuk mempelajari tentang ekstensi Google dengan tutorial end-to-end, lihat notebook Jupyter berikut:

  • Alur kerja analis bisnis dengan Ekstensi Vertex AI: Gunakan ekstensi Penerjemah Kode dan ekstensi Vertex AI Search untuk menyelesaikan laporan riset peluang investasi perumahan bagi pemangku kepentingan bisnis.
    Colab | GitHub | Vertex AI Workbench
  • Alur kerja analisis ulasan game dengan Ekstensi Vertex AI: Gunakan ekstensi Penerjemah Kode untuk menganalisis ulasan game dari Steam. Gunakan ekstensi Vertex AI Search untuk meringkas ulasan game dari situs. Gunakan ekstensi Penerjemah Kode untuk membuat laporan dengan semua aset yang dibuat.
    Colab | GitHub | Vertex AI Workbench

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Enable the Vertex AI API.

    Enable the API

  5. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  6. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  7. Enable the Vertex AI API.

    Enable the API

Mendaftarkan dan menjalankan ekstensi Vertex AI Search

Bagian berikut menunjukkan cara mendaftarkan ekstensi Vertex AI Search menggunakan Konsol Google Cloud dan Vertex AI API. Setelah mendaftarkan ekstensi, Anda dapat menjalankannya menggunakan Vertex AI API.

Konsol

Mendaftarkan ekstensi

Lakukan langkah-langkah berikut untuk mendaftarkan ekstensi Vertex AI Search menggunakan Konsol Google Cloud.

  1. Di konsol Google Cloud, buka halaman Extensions Vertex AI.

    Buka Ekstensi Vertex AI

  2. Klik Buat Ekstensi.

  3. Dalam dialog Buat ekstensi baru, isi kolom berikut:

    • Nama ekstensi: Masukkan nama untuk ekstensi Anda, seperti "vertex_search_extension".
    • Deskripsi: (Opsional) Masukkan deskripsi ekstensi, seperti "A Vertex AI search extension".
    • Jenis ekstensi: Pilih Vertex AI search.
  4. Di bagian OpenAPI Spec file yang sekarang muncul, pastikan kolom berikut telah disetel dengan benar:

    • Nama API: vertex_ai_search.
    • Deskripsi API: Performs search on user ingested data including website and unstructured data type...
    • Sumber: Cloud Storage.
    • Spesifikasi OpenAPI: vertex-extension-public/vertex_ai_search.yaml.
    • Autentikasi: Google service account.
  5. Di bagian Konfigurasi runtime, berikan nama konfigurasi penayangan. Nama konfigurasi penayangan ditentukan di vertexAiSearchRuntimeConfig. Formulir ini diformat dan dilengkapi sebagai berikut: projects/PROJECT_ID/locations/global/collections/COLLECTION_NAME/engines/ENGINE/servingConfigs/SERVING_CONFIG

    • Tetapkan COLLECTION_NAME ke default_collection.
    • Tetapkan ENGINE ke ID aplikasi yang Anda terima saat membuat aplikasi penelusuran. Untuk mempelajari lebih lanjut, lihat Membuat aplikasi penelusuran untuk data situs.
    • Tetapkan SERVING_CONFIG ke default_search.
  6. Klik Buat Ekstensi.

REST

Mendaftarkan ekstensi

Kirimkan permintaan extensions.import Vertex AI API untuk mendaftarkan ekstensi Vertex AI Search.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: ID project Google Cloud Anda.
  • REGION: Region Compute Engine.
  • DISPLAY_NAME: Ekstensi nama yang ditampilkan kepada pengguna, seperti "my_search_extension".
  • DESCRIPTION: (Opsional) Deskripsi ekstensi yang ditampilkan kepada pengguna, seperti "Ekstensi penelusuran".
  • SERVICE_ACCOUNT: (Opsional) Ekstensi Vertex AI Search menggunakan GOOGLE_SERVICE_ACCOUNT_AUTH seperti yang ditunjukkan dalam contoh isi permintaan. Jika akun layanan tidak ditentukan, ekstensi akan menggunakan akun layanan Agen Layanan Ekstensi Vertex AI default. Jika Anda menentukan akun layanan lain, berikan izin iam.serviceAccounts.getAccessToken ke akun layanan Agen Layanan Ekstensi Vertex AI pada akun layanan yang ditentukan.
  • SERVING_CONFIG_NAME: Nama konfigurasi penayangan ditentukan di vertexAiSearchRuntimeConfig. Formatnya dan lengkap sebagai berikut: projects/PROJECT_ID/locations/global/collections/COLLECTION_NAME/engines/ENGINE/servingConfigs/SERVING_CONFIG.
    • PROJECT_ID: ID project Google Cloud Anda.
    • Tetapkan COLLECTION_NAME ke default_collection.
    • ENGINE: ID aplikasi yang Anda terima saat membuat aplikasi penelusuran. Untuk mempelajari lebih lanjut, lihat Membuat aplikasi penelusuran untuk data situs.
    • Tetapkan SERVING_CONFIG ke default_search.
    Bucket Cloud Storage yang akan digunakan ekstensi untuk membaca file input, termasuk awalan gs://, misalnya, gs://sample-bucket-name. Jika ditentukan, Anda harus menetapkan peran roles/storage.objectViewer di bucket ini ke Agen Layanan Kode Kustom Ekstensi Vertex.

Metode HTTP dan URL:

POST https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/extensions:import

Isi JSON permintaan:

{
  "displayName":"DISPLAY_NAME",
  "description":"DESCRIPTION",
  "manifest":{
    "name":"code_interpreter_tool",
    "description":"A Google Code Interpreter tool",
    "apiSpec":{
      "openApiGcsUri":"gs://vertex-extension-public/code_interpreter.yaml"
    },
    "authConfig":{
      "authType":"GOOGLE_SERVICE_ACCOUNT_AUTH",
      "googleServiceAccountConfig":{
        "serviceAccount":"SERVICE_ACCOUNT"
      }
    }
  }
  "runtimeConfig": {
     "vertexAiSearchRuntimeConfig": {
        "servingConfigName": "SERVING_CONFIG_NAME",
     }
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/extensions:import"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/extensions:import" | Select-Object -Expand Content

Menjalankan ekstensi

Anda dapat mengirimkan operasi execute ke Vertex AI API untuk mendapatkan hasil yang bermakna dari penyimpanan data Anda.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: ID project Google Cloud Anda.
  • REGION: Region Compute Engine.
  • EXTENSION_ID: ID ekstensi Vertex AI Search Anda yang tercantum di Detail ekstensi di Konsol Google Cloud.

Metode HTTP dan URL:

POST https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/extensions/EXTENSION_ID:execute

Isi JSON permintaan:

{
  "operation_id":"search",
  "operation_params":{
    "query":"Housing affordability since 2010",
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/extensions/EXTENSION_ID:execute"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/extensions/EXTENSION_ID:execute" | Select-Object -Expand Content