Grounding dengan Agent Search

Halaman ini menjelaskan cara Anda dapat mendasari respons dengan menggunakan data Anda dari Penelusuran Agen.

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 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 perujukan dengan data Anda.

Klik untuk meluaskan model yang didukung

Prasyarat

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

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

    Buka IAM

    Untuk mendapatkan izin yang diperlukan untuk 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 aktifkan API.

  3. Buat sumber data Aplikasi AI dan aplikasi.

    Untuk mengetahui informasi selengkapnya, lihat Pengantar Penelusuran Agen.

Mengaktifkan Aplikasi AI

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

  1. Di konsol Cloud de Confiance , buka halaman AI Applications.

    Buka Aplikasi AI

  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 Cloud de Confiance .

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

  3. Jika Advanced website indexing tidak dicentang, centang kotak 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 berbasis data dengan penyimpanan data Anda.
    3. Klik Create.

Dokumen

  1. Buka halaman Create Data Store dari konsol Cloud de Confiance .

  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, lalu 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 dokumen, luaskan bagian Document Processing Options. Untuk mengetahui informasi selengkapnya tentang parser yang berbeda, lihat Mem-parsing dokumen.
    4. Klik Create.
  8. Klik Create.

Membuat respons yang di-grounding 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 Cloud de Confiance , 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 konsolCloud de Confiance , ikuti langkah-langkah berikut:

  1. Di konsol Cloud de Confiance , 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 perujukan Deskripsi Input
        Mesin RAG Melakukan grounding menggunakan data Anda dan komponen lakukan sendiri (DIY). Jika belum memiliki korpus, Anda harus membuatnya. Jika tidak, masukkan korpus Anda.
        Agent Search Melakukan grounding menggunakan data Anda dengan mesin telusur yang dikelola S3NS. Masukkan jalur Anda ke kolom jalur datastore Gemini Enterprise Agent Platform.
        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 konfigurasi 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, respons 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:

  • Peran: Menunjukkan pengirim jawaban berbasis informasi. Karena responsnya selalu berisi teks yang di-grounding, perannya selalu model.
  • Text: Jawaban yang di-grounding dan dihasilkan oleh LLM.
  • Metadata perujukan: Informasi tentang sumber perujukan, 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 kumpulan segmen perujukan yang diberikan. Tidak tersedia untuk Gemini 2.5 dan yang lebih baru.

Langkah berikutnya

  • Untuk mempelajari cara mengirim permintaan perintah chat, lihat Chat multiturn.
  • Untuk mempelajari praktik terbaik AI yang bertanggung jawab dan filter keamanan Platform Agen, lihat Praktik terbaik keamanan.