Grounding dengan Vertex AI Search

Halaman ini menjelaskan cara Anda dapat meng-grounding respons dengan menggunakan data Anda dari Vertex AI Search.

Melakukan perujukan Gemini ke data Anda

Jika Anda ingin melakukan retrieval-augmented generation (RAG), hubungkan model Anda ke data situs atau kumpulan dokumen Anda, lalu gunakan Perujukan dengan Vertex AI Search.

Penggunaan data Anda sebagai rujukan mendukung maksimal 10 sumber data Vertex AI Search dan dapat digabungkan dengan Grounding dengan Google Penelusuran.

Model yang didukung

Bagian ini mencantumkan model yang mendukung perujukan dengan data Anda.

Prasyarat

Sebelum Anda dapat men-grounding output model ke data Anda, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman IAM, lalu telusuri izin discoveryengine.servingConfigs.search, yang diperlukan agar layanan perujukan dapat berfungsi.

    Buka IAM

  2. Aktifkan Aplikasi AI dan aktifkan API.

  3. Buat sumber data Aplikasi AI dan aplikasi.

Lihat Pengantar Vertex AI Search untuk mengetahui informasi selengkapnya.

Mengaktifkan Aplikasi AI

  1. Di konsol Google Cloud , buka halaman AI Applications.

    Aplikasi AI

  2. Baca dan setujui persyaratan layanan, lalu klik Continue and activate the API.

Aplikasi AI tersedia di lokasi global, atau multi-region eu dan us. Untuk mempelajari lebih lanjut, lihat Lokasi Aplikasi AI

Membuat penyimpanan data di Aplikasi AI

Untuk membuat penyimpanan data di Aplikasi AI, Anda dapat memilih untuk melakukan grounding dengan data atau dokumen situs.

Situs

  1. Buka halaman Create Data Store dari Google Cloud console.

  2. Di kotak Website Content, klik Pilih.
    Panel Specify the websites for your data store akan ditampilkan.

  3. Jika Pengindeksan situs lanjutan tidak dicentang, centang kotak Pengindeksan situs lanjutan untuk mengaktifkannya.
    Panel Konfigurasi penyimpanan data akan ditampilkan.

  4. Di bagian Tentukan pola URL yang akan diindeks, lakukan tindakan berikut:

    • Tambahkan URL untuk Situs yang akan disertakan.
    • Opsional: Tambahkan URL untuk Situs yang akan dikecualikan.
  5. Klik Lanjutkan.

  6. Di panel Configure your data store,

    1. Pilih nilai dari daftar Lokasi penyimpanan data Anda.
    2. Masukkan nama di kolom Nama penyimpanan data Anda. ID akan dibuat. Gunakan ID ini saat Anda membuat respons yang relevan dengan penyimpanan data Anda. Untuk mengetahui informasi selengkapnya, lihat Menghasilkan respons berbasis data dengan penyimpanan data Anda.
    3. Klik Buat.

Dokumen

  1. Buka halaman Create Data Store dari Google Cloud console.

  2. Di kotak Cloud Storage, klik Pilih.
    Panel Impor data dari Cloud Storage akan ditampilkan.

  3. Di bagian Unstructured documents (PDF, HTML, TXT and more), pilih Unstructured documents (PDF, HTML, TXT and more).

  4. Pilih opsi Frekuensi sinkronisasi.

  5. Pilih opsi Pilih folder atau file yang ingin Anda impor, lalu masukkan jalur di kolom.

  6. Klik Lanjutkan.
    Panel Konfigurasi penyimpanan data akan ditampilkan.

  7. Di panel Configure your data store,

    1. Pilih nilai dari daftar Lokasi penyimpanan data Anda.
    2. Masukkan nama di kolom Nama penyimpanan data Anda. ID akan dibuat.
    3. Untuk memilih opsi penguraian dan pengelompokan untuk dokumen Anda, luaskan bagian Opsi Pemrosesan Dokumen. Untuk mengetahui informasi selengkapnya tentang parser yang berbeda, lihat Mem-parsing dokumen.
    4. Klik Buat.
  8. Klik Buat.

Membuat respons yang relevan dengan penyimpanan data Anda

Gunakan petunjuk berikut untuk mendasari model dengan data Anda. Maksimum 10 penyimpanan data yang didukung.

Jika Anda tidak mengetahui ID penyimpanan data, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman AI Applications dan di menu navigasi, klik Data stores.

    Buka halaman Data stores

  2. Klik nama penyimpanan data Anda.

  3. Di halaman Data untuk penyimpanan data Anda, dapatkan ID penyimpanan data.

Konsol

Untuk mendasarkan output model Anda pada Aplikasi AI menggunakan Vertex AI Studio di Google Cloud konsol, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Vertex AI Studio Freeform.

    Buka Format bebas

  2. Untuk mengaktifkan perujukan, klik tombol Perujukan: data Anda.
  3. Klik Customize.
    1. Pilih Vertex AI Search sebagai sumber Anda.
    2. Dengan format jalur ini, ganti Project ID penyimpanan data Anda dan ID penyimpanan data:

      projects/project_id/locations/global/collections/default_collection/dataStores/data_store_id.

  4. Klik Simpan.
  5. Masukkan perintah Anda di kotak teks, lalu klik Kirim.

Respons perintah Anda didasarkan pada Aplikasi AI.

Python

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Python Vertex AI.

Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

from google import genai
from google.genai.types import (
    GenerateContentConfig,
    HttpOptions,
    Retrieval,
    Tool,
    VertexAISearch,
)

client = genai.Client(http_options=HttpOptions(api_version="v1"))

# Load Data Store ID from Vertex AI Search
# datastore = "projects/111111111111/locations/global/collections/default_collection/dataStores/data-store-id"

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="How do I make an appointment to renew my driver's license?",
    config=GenerateContentConfig(
        tools=[
            # Use Vertex AI Search Tool
            Tool(
                retrieval=Retrieval(
                    vertex_ai_search=VertexAISearch(
                        datastore=datastore,
                    )
                )
            )
        ],
    ),
)

print(response.text)
# Example response:
# 'The process for making an appointment to renew your driver's license varies depending on your location. To provide you with the most accurate instructions...'

REST

Untuk menguji prompt teks menggunakan Vertex AI API, kirim permintaan POST ke endpoint model penayang.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION: Region untuk memproses permintaan.
  • PROJECT_ID: Project ID Anda.
  • MODEL_ID: ID model multimodal.
  • TEXT: Petunjuk teks yang akan disertakan dalam perintah.

Metode HTTP dan URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent

Meminta isi JSON:

{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "TEXT"
    }]
  }],
  "tools": [{
    "retrieval": {
      "vertexAiSearch": {
        "datastore": projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID
      }
    }
  }],
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID"
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "You can make an appointment on the website https://dmv.gov/"
          }
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": [
        "..."
      ],
      "groundingMetadata": {
        "retrievalQueries": [
          "How to make appointment to renew driving license?"
        ],
        "groundingChunks": [
          {
            "retrievedContext": {
              "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AXiHM.....QTN92V5ePQ==",
              "title": "dmv"
            }
          }
        ],
        "groundingSupport": [
          {
            "segment": {
              "startIndex": 25,
              "endIndex": 147
            },
            "segment_text": "ipsum lorem ...",
            "supportChunkIndices": [1, 2],
            "confidenceScore": [0.9541752, 0.97726375]
          },
          {
            "segment": {
              "startIndex": 294,
              "endIndex": 439
            },
            "segment_text": "ipsum lorem ...",
            "supportChunkIndices": [1],
            "confidenceScore": [0.9541752, 0.9325467]
          }
        ]
      }
    }
  ],
  "usageMetadata": {
    "..."
  }
}

Memahami respons Anda

Respons dari kedua API tersebut mencakup teks yang dihasilkan LLM, yang disebut kandidat. Jika perintah model Anda berhasil mendasarkan pada sumber data Anda, maka respons akan menyertakan metadata perujukan, yang mengidentifikasi bagian respons yang berasal dari data Anda. Namun, ada beberapa alasan metadata ini mungkin tidak diberikan, dan respons perintah tidak akan memiliki rujukan. Alasan ini mencakup relevansi sumber yang rendah atau informasi yang tidak lengkap dalam respons model.

Berikut adalah perincian data output:

  • Peran: Menunjukkan pengirim jawaban berbasis informasi. Karena respons selalu berisi teks yang dirujuk, peran selalu model.
  • Teks: Jawaban yang dirujuk yang dihasilkan oleh LLM.
  • Metadata perujukan: Informasi tentang sumber perujukan, yang berisi elemen berikut:
    • Bagian perujukan: Daftar hasil dari indeks Anda yang mendukung jawaban.
    • Dukungan perujukan: Informasi tentang klaim tertentu dalam jawaban yang dapat digunakan untuk menampilkan kutipan:
    • Segmen: Bagian jawaban model yang didukung oleh potongan perujukan.
    • Indeks potongan perujukan: Indeks potongan perujukan dalam daftar potongan perujukan yang sesuai dengan klaim ini.
    • Skor keyakinan: Angka dari 0 hingga 1 yang menunjukkan seberapa kuat klaim tersebut didasarkan pada kumpulan perujukan yang disediakan. Tidak tersedia untuk Gemini 2.5 dan yang lebih baru.

Langkah berikutnya