Ekstensi Vertex AI Search

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

  • "Bagaimana ancaman kompetitif bagi perusahaan berubah dari K1 terakhir tahun ini hingga 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 berarti dari penyimpanan data Anda. Tujuan Ekstensi Vertex AI Search didefinisikan dalam Spesifikasi OpenAPI File vertex_ai_search.yaml.

Untuk menggunakan ekstensi Vertex AI Search, Anda harus Membuat penyimpanan data di pasar global wilayah dengan cakupan penelusuran yang ditentukan. Untuk hasil penelusuran terbaik, mengaktifkan pengindeksan lanjutan untuk data situs dan edisi Enterprise untuk data tidak terstruktur. Lihat Tentang fitur lanjutan untuk 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 ekstensi Google dengan tutorial menyeluruh, lihat referensi berikut {i>Jupyter notebooks<i} (Buku Catatan Jupyter):

  • Alur kerja analis bisnis dengan Ekstensi Vertex AI: Gunakan ekstensi Code Interpreter 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 Code Interpreter untuk menganalisis ulasan game dari Steam. Menggunakan ekstensi Vertex AI Search untuk merangkum ulasan game dari situs. Gunakan ekstensi Penerjemah Kode untuk membuat laporan dengan semua aset yang dihasilkan.
    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. Aktifkan API Vertex AI.

    Mengaktifkan 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. Aktifkan API Vertex AI.

    Mengaktifkan 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 Vertex AI Search ekstensi data menggunakan Konsol Google Cloud.

  1. Di Konsol Google Cloud, buka Vertex AI Ekstensi.

    Buka Ekstensi Vertex AI

  2. Klik Create Extension.

  3. Dalam dialog Create a new extension, isi kolom berikut:

    • Nama ekstensi: Masukkan nama untuk ekstensi Anda, seperti "vertex_search_extension".
    • Deskripsi: (Opsional) Masukkan deskripsi ekstensi, seperti "Ekstensi penelusuran Vertex AI".
    • Jenis ekstensi: Pilih Vertex AI search.
  4. Di bagian OpenAPI Spec file yang muncul, konfirmasi bahwa kolom berikut 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 konfigurasi penayangan nama. Nama konfigurasi penayangan ditentukan dalam vertexAiSearchRuntimeConfig. Format dan penyelesaiannya adalah sebagai berikut: projects/PROJECT_ID/locations/global/collections/COLLECTION_NAME/engines/ENGINE/servingConfigs/SERVING_CONFIG

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

REST

Mendaftarkan ekstensi

Mengirim Vertex AI API extensions.import 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: Name ekstensi 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 Anda tidak menentukan akun layanan, ekstensi akan menggunakan Agen Layanan Ekstensi Vertex AI akun layanan Anda. Jika Anda menentukan akun layanan yang berbeda, berikan izin iam.serviceAccounts.getAccessToken izin ke akun layanan Agen Layanan Ekstensi Vertex AI pada akun layanan yang ditentukan.
  • SERVING_CONFIG_NAME: Nama konfigurasi penayangan ditentukan dalam vertexAiSearchRuntimeConfig. Format dan penyelesaiannya adalah 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.
    Tujuan Bucket Cloud Storage yang akan digunakan ekstensi untuk membaca file input, termasuk awalan gs://, misalnya, gs://sample-bucket-name. Jika ditentukan, Anda harus menetapkan roles/storage.objectViewer pada bucket ini ke Vertex Extension Custom Code Service Agent.

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 berarti 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 dalam 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