Grounding dengan Vertex AI Search

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

Menyematkan 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

Untuk menggunakan Vertex AI Search dalam melakukan grounding respons, Anda harus mengaktifkan layanan Vertex AI Search dengan mengikuti langkah-langkah berikut:

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

    Buka Aplikasi AI

  2. Opsional: Tinjau persyaratan penggunaan data.

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 menggunakan data atau dokumen situs sebagai dasar.

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 langkah 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 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.

    Buka Vertex AI Studio

  2. Untuk mengaktifkan perujukan, ikuti langkah-langkah berikut:
    1. Klik + Baru dan Chat dari menu navigasi.
    2. Luaskan panel Setelan model, lalu pilih model Anda.
    3. Opsional: Jika tombol Output terstruktur atau Perujukan: Google aktif, nonaktifkan opsi tersebut.
    4. Klik tombol Perujukan: Data Anda. Panel Sesuaikan Perujukan akan muncul.
      1. Pilih opsi sumber perujukan dari tabel berikut:
      2. Opsi perujukan Deskripsi Input
        Mesin RAG Vertex AI Dasar menggunakan data Anda dan komponen buatan sendiri. Jika Anda tidak memiliki korpus, Anda harus membuatnya. Jika tidak, masukkan korpus Anda.
        Vertex AI Search Menyertakan data Anda dengan mesin telusur yang dikelola Google. Masukkan jalur Anda ke kolom Vertex AI datastore path.
        Elasticsearch Grounds menggunakan Elasticsearch. Masukkan informasi berikut:
        1. Masukkan nilai ke kolom Endpoint Elasticsearch.
        2. Masukkan nilai ke kolom Elasticsearch API Key.
        3. Masukkan nilai ke kolom Indeks Elasticsearch.
        4. Masukkan nilai ke kolom Template penelusuran Elasticsearch.
      3. Klik Simpan.
  3. Masukkan perintah Anda di kotak teks, lalu klik Kirim. Respons perintah Anda didasarkan pada Aplikasi AI.

Python

Instal

pip install --upgrade google-genai

Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.

Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True

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

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

# Replace with your Vertex AI Search data store details
DATASTORE_PATH = "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATASTORE_ID"

tool = Tool(
    retrieval=Retrieval(
        vertex_ai_search=VertexAISearch(
            datastore=DATASTORE_PATH
        )
    )
)

response = client.models.generate_content(
    model="gemini-2.5-flash",  # Or another supported model
    contents="What information can you find about topic X in the provided documents?", # Your query
    config=GenerateContentConfig(
        tools=[tool],
    ),
)

print(response.text)

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. Untuk menggunakan endpoint global, kecualikan lokasi dari nama endpoint, dan konfigurasi lokasi resource ke global.
  • PROJECT_ID: Project ID Anda.
  • MODEL_ID: ID model multimodal.
  • PROMPT: Perintah yang akan dikirim ke model.

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": "PROMPT"
    }]
  }],
  "tools": [{
    "retrieval": {
      "vertexAiSearch": {
        "datastore": projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATASTORE_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 memiliki rujukan, peran ini 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.
    • Perujukan mendukung: 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 potongan perujukan yang diberikan. Tidak tersedia untuk Gemini 2.5 dan yang lebih baru.

Langkah berikutnya