Grounding dengan Agent Search

Halaman ini menjelaskan cara melakukan grounding respons menggunakan data Anda dari Agent Search.

Melakukan grounding Gemini ke data Anda

Jika Anda ingin melakukan retrieval-augmented generation (RAG), hubungkan model Anda ke data situs atau set dokumen Anda, lalu gunakan Grounding dengan Agent Search.

Grounding ke data Anda mendukung maksimum 10 sumber data Agent Search dan dapat digabungkan dengan Grounding dengan Google Penelusuran.

Model yang didukung

Bagian ini mencantumkan model yang mendukung grounding dengan data Anda.

Klik untuk meluaskan model yang didukung

Prasyarat

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

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

    Buka IAM

    Untuk mendapatkan izin yang diperlukan agar dapat menggunakan grounding dengan Agent Search, minta administrator untuk memberi Anda peran IAM berikut:

    • Untuk membaca semua resource Discovery Engine: Discovery Engine Viewer (roles/discoveryengine.viewer).

    • Untuk membaca dan menulis semua resource Discovery Engine serta membuat instance Agent Search: Discovery Engine Editor (roles/discoveryengine.editor).

    Untuk mengetahui informasi selengkapnya tentang IAM, lihat Peran dan izin IAM.

  2. Aktifkan AI Applications dan API-nya.

  3. Buat sumber data Aplikasi AI dan aplikasi.

    Untuk mengetahui informasi selengkapnya, lihat Pengantar Penelusuran Agen.

Mengaktifkan Aplikasi AI

Untuk menggunakan Agent Search guna melakukan grounding pada respons, Anda harus mengaktifkan layanan Agent Search dengan mengikuti langkah-langkah berikut:

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

    Buka AI Applications

  2. Opsional: Tinjau persyaratan penggunaan data.

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

Membuat penyimpanan data di AI Applications

Untuk membuat penyimpanan data di AI Applications, Anda dapat memilih untuk menggunakan data situs atau dokumen sebagai dasar.

Situs

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

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

  3. Jika Advanced website indexing tidak dicentang, pilih kotak centang Advanced website indexing untuk mengaktifkannya.
    Panel Configure your data store akan ditampilkan.

  4. Di bagian Specify URL patterns to index, 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 Your data store name. ID akan dibuat. Gunakan ID ini saat Anda membuat respons yang di-grounding dengan penyimpanan data Anda. Untuk mengetahui informasi selengkapnya, lihat Membuat respons yang di-grounding dengan penyimpanan data Anda.
    3. Klik Create.

Dokumen

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

  2. Di kotak Cloud Storage, klik Select.
    Panel Import data from 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 Synchronization frequency.

  5. Pilih opsi Select a folder or a file you want to import, dan masukkan jalur di kolom.

  6. Klik Continue.
    Panel Configure your data store akan ditampilkan.

  7. Di panel Configure your data store,

    1. Pilih nilai dari daftar Lokasi penyimpanan data Anda.
    2. Masukkan nama di kolom Your data store name. ID akan dibuat.
    3. Untuk memilih opsi penguraian dan pengelompokan untuk dokumen Anda, luaskan bagian Document Processing Options. Untuk mengetahui informasi selengkapnya tentang berbagai parser, lihat Mengurai dokumen.
    4. Klik Create.
  8. Klik Create.

Membuat respons yang di-grounding dengan penyimpanan data Anda

Gunakan petunjuk berikut untuk melakukan grounding 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 Penyimpanan data.

    Buka halaman Data stores

  2. Klik nama penyimpanan data Anda.

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

Konsol

Untuk melakukan grounding output model ke Aplikasi AI menggunakan Agent Studio di konsolGoogle Cloud , ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Agent Studio.

    Buka Agent Studio

  2. Untuk mengaktifkan grounding, ikuti langkah-langkah berikut:
    1. Di panel samping, di bagian Model settings, pilih model Anda.
    2. Buka bagian Grounding, lalu aktifkan tombol Data Anda. Panel konfigurasi akan muncul.
      1. Pilih opsi sumber grounding dari tabel berikut:
      2. Opsi grounding Deskripsi Input
        Mesin RAG Melakukan grounding menggunakan data Anda dan komponen DIY. Jika Anda tidak memiliki korpus, Anda harus membuatnya. Jika tidak, masukkan korpus Anda.
        Agent Search Melakukan grounding menggunakan data Anda dengan mesin telusur yang dikelola Google. Masukkan jalur Anda ke kolom Gemini Enterprise Agent Platform datastore path.
        Elasticsearch Melakukan grounding menggunakan Elasticsearch. Masukkan informasi berikut:
        1. Masukkan nilai ke kolom Elasticsearch endpoint.
        2. Masukkan nilai ke kolom Elasticsearch API Key.
        3. Masukkan nilai ke kolom Elasticsearch index.
        4. Masukkan nilai ke kolom Elasticsearch search template.
      3. Klik Simpan.
  3. Masukkan perintah Anda di kotak teks, lalu klik Submit. 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 Google 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_ENTERPRISE=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 Agent 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 perintah teks menggunakan Agent Platform 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 konfigurasikan lokasi resource ke global.
  • PROJECT_ID: Project ID Anda. .
  • MODEL_ID: ID model dari 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 di-grounding ke sumber data, responsnya akan menyertakan metadata grounding, yang mengidentifikasi bagian respons yang berasal dari data Anda. Namun, ada beberapa alasan mengapa metadata ini mungkin tidak diberikan, dan respons perintah tidak akan di-grounding. Alasan ini mencakup relevansi sumber yang rendah atau informasi yang tidak lengkap dalam respons model.

Berikut adalah perincian data output:

  • Role: Menunjukkan pengirim jawaban yang di-grounding. Karena responsnya selalu berisi teks yang di-grounding, perannya selalu model.
  • Text: Jawaban yang di-grounding dan dihasilkan oleh LLM.
  • Metadata grounding: Informasi tentang sumber grounding, yang berisi elemen berikut:
    • Grounding chunk: Daftar hasil dari indeks Anda yang mendukung jawaban.
    • Dukungan grounding: Informasi tentang klaim tertentu dalam jawaban yang dapat digunakan untuk menampilkan kutipan:
    • Segmen: Bagian dari jawaban model yang didukung oleh grup grounding.
    • Indeks potongan grounding: Indeks potongan grounding dalam daftar potongan grounding yang sesuai dengan klaim ini.
    • Skor keyakinan: Angka dari 0 hingga 1 yang menunjukkan seberapa kuat klaim tersebut didasarkan pada set potongan rujukan yang disediakan. Tidak tersedia untuk Gemini 2.5 dan yang lebih baru.

Langkah berikutnya