Peringkatan ulang untuk Mesin RAG di Platform Agen Gemini Enterprise

Halaman ini menjelaskan tentang pengurutan ulang dan jenis pengurut. Halaman ini juga menunjukkan cara menggunakan Gemini Enterprise Agent Platform ranking API untuk mengurutkan ulang respons yang diambil.

Pengurut yang tersedia

Opsi pengurut Deskripsi Latensi Akurasi Harga
Agent Platform ranking API

Agent Platform ranking API adalah pengurut semantik mandiri yang dirancang untuk penilaian relevansi yang sangat presisi dan latensi rendah.

Untuk mengetahui informasi selengkapnya tentang Agent Platform ranking API, lihat Meningkatkan kualitas penelusuran dan RAG kualitas dengan ranking API.

Sangat rendah (kurang dari 100 milidetik) Performa yang canggih Per permintaan Mesin RAG
Pengurut LLM Pengurut LLM menggunakan panggilan terpisah ke Gemini untuk menilai relevansi potongan dengan kueri. Tinggi (1 hingga 2 detik) Bergantung pada model Harga token LLM

Menggunakan Agent Platform ranking API

Untuk menggunakan Agent Platform ranking API, Anda harus mengaktifkan Discovery Engine API. Semua model yang didukung dapat di temukan di Meningkatkan kualitas penelusuran dan RAG dengan ranking API.

Contoh kode ini menunjukkan cara mengaktifkan pengurutan ulang dengan Agent Platform ranking API dalam konfigurasi alat.

Python

Untuk mempelajari cara menginstal atau mengupdate Agent Platform SDK untuk Python, lihat Menginstal Agent Platform SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Python API.

Ganti variabel berikut yang digunakan dalam kode contoh:

  • PROJECT_ID: ID project Anda Cloud de Confiance by S3NS .
  • LOCATION: Region untuk memproses permintaan.
  • MODEL_NAME: Model LLM untuk pembuatan konten. Misalnya, gemini-3.8-flash.
  • INPUT_PROMPT: Teks yang dikirim ke LLM untuk pembuatan konten
  • RAG_CORPUS_RESOURCE: Nama resource korpus RAG.
    Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}.
  • SIMILARITY_TOP_K: Opsional: Jumlah konteks teratas yang akan diambil.
  • RANKER_MODEL_NAME: Nama model yang digunakan untuk pengurutan ulang. Misalnya, semantic-ranker-default@latest.
from vertexai import rag
from vertexai.generative_models import GenerativeModel, Tool
import vertexai

PROJECT_ID = "PROJECT_ID"
CORPUS_NAME = "projects/{PROJECT_ID}/locations/LOCATION/ragCorpora/RAG_CORPUS_RESOURCE"

# Initialize Agent Platform API once per session
vertexai.init(project=PROJECT_ID, location="LOCATION")

config = rag.RagRetrievalConfig(
    top_k=10,
    ranking=rag.Ranking(
        rank_service=rag.RankService(
            model_name=RANKER_MODEL_NAME
        )
    )
)

rag_retrieval_tool = Tool.from_retrieval(
    retrieval=rag.Retrieval(
        source=rag.VertexRagStore(
            rag_resources=[
                rag.RagResource(
                    rag_corpus=CORPUS_NAME,
                )
            ],
            rag_retrieval_config=config
        ),
    )
)

rag_model = GenerativeModel(
    model_name="MODEL_NAME", tools=[rag_retrieval_tool]
)
response = rag_model.generate_content("INPUT_PROMPT")
print(response.text)
# Example response:
#   The sky appears blue due to a phenomenon called Rayleigh scattering.
#   Sunlight, which contains all colors of the rainbow, is scattered
#   by the tiny particles in the Earth's atmosphere....
#   ...

REST

Untuk membuat konten menggunakan model Gemini, lakukan panggilan ke Agent Platform GenerateContent API. Dengan menentukan RAG_CORPUS_RESOURCE saat Anda membuat permintaan, model akan otomatis mengambil data dari Mesin RAG.

Ganti variabel berikut yang digunakan dalam kode contoh:

  • PROJECT_ID: ID project Anda Cloud de Confiance by S3NS .
  • LOCATION: Region untuk memproses permintaan.
  • MODEL_NAME: Model LLM untuk pembuatan konten. Misalnya, gemini-3.8-flash.
  • GENERATION_METHOD: Metode LLM untuk pembuatan konten. Opsi mencakup generateContent dan streamGenerateContent.
  • INPUT_PROMPT: Teks yang dikirim ke LLM untuk pembuatan konten
  • RAG_CORPUS_RESOURCE: Nama resource korpus RAG.
    Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}.
  • SIMILARITY_TOP_K: Opsional: Jumlah konteks teratas yang akan diambil.
  • RANKER_MODEL_NAME: Nama model yang digunakan untuk pengurutan ulang. Misalnya, semantic-ranker-default@latest.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_NAME:GENERATION_METHOD" \
-d '{
  "contents": {
    "role": "user",
    "parts": {
      "text": "INPUT_PROMPT"
    }
  },
  "tools": {
    "retrieval": {
      "disable_attribution": false,
      "vertex_rag_store": {
        "rag_resources": {
            "rag_corpus": "RAG_CORPUS_RESOURCE"
          },
        "rag_retrieval_config": {
          "top_k": SIMILARITY_TOP_K,
          "ranking": {
            "rank_service": {
              "model_name": "RANKER_MODEL_NAME"
            }
          }
        }
      }
    }
  }
}'

Menggunakan pengurut LLM di Mesin RAG

Bagian ini menyajikan prasyarat dan contoh kode untuk menggunakan pengurut LLM.

Pengurut LLM hanya mendukung model Gemini, yang dapat diakses saat Mesin RAG di Gemini Enterprise Agent Platform API diaktifkan. Untuk melihat daftar model yang didukung, lihat Model Gemini.

Untuk mengambil konteks yang relevan menggunakan RAG Engine API, lakukan hal berikut:

Python

Untuk mempelajari cara menginstal atau mengupdate Agent Platform SDK untuk Python, lihat Menginstal Agent Platform SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Python API.

Ganti variabel berikut yang digunakan dalam contoh kode:

  • PROJECT_ID: ID project Anda Cloud de Confiance by S3NS .
  • LOCATION: Region untuk memproses permintaan.
  • RAG_CORPUS_RESOURCE: Nama resource korpus RAG. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}.
  • TEXT: Teks kueri untuk mendapatkan konteks yang relevan.
  • MODEL_NAME: Nama model yang digunakan untuk pengurutan ulang.
from vertexai import rag
import vertexai

PROJECT_ID = "PROJECT_ID"
CORPUS_NAME = "projects/[PROJECT_ID]/locations/LOCATION/ragCorpora/RAG_CORPUS_RESOURCE"
MODEL_NAME= "MODEL_NAME"

# Initialize Agent Platform API once per session
vertexai.init(project=PROJECT_ID, location="LOCATION")

rag_retrieval_config = rag.RagRetrievalConfig(
    top_k=10,
    ranking=rag.Ranking(
        llm_ranker=rag.LlmRanker(
            model_name=MODEL_NAME
        )
    )
)

response = rag.retrieval_query(
    rag_resources=[
        rag.RagResource(
            rag_corpus=CORPUS_NAME,
        )
    ],
    text="TEXT",
    rag_retrieval_config=rag_retrieval_config,
)
print(response)
# Example response:
# contexts {
#   contexts {
#     source_uri: "gs://your-bucket-name/file.txt"
#     text: "....
#   ....

REST

Ganti variabel berikut yang digunakan dalam contoh kode:

  • PROJECT_ID: ID project Anda Cloud de Confiance by S3NS .
  • LOCATION: Region untuk memproses permintaan.
  • RAG_CORPUS_RESOURCE: Nama resource korpus RAG. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}.
  • TEXT: Teks kueri untuk mendapatkan konteks yang relevan.
  • MODEL_NAME: Nama model yang digunakan untuk pengurutan ulang.
curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts" \
  -d '{
    "vertex_rag_store": {
      "rag_resources": {
          "rag_corpus": "RAG_CORPUS_RESOURCE"
        }
    },
    "query": {
      "text": "TEXT",
      "rag_retrieval_config": {
        "top_k": 10,
        "ranking": {
          "llm_ranker": {
            "model_name": "MODEL_NAME"
          }
        }
      }
    }
  }'

Langkah berikutnya