Halaman ini menjelaskan pengurutan ulang dan jenis pengurutan. Halaman ini juga menunjukkan cara menggunakan Vertex AI ranking API untuk mengurutkan ulang respons yang diambil.
Pengubah peringkat yang tersedia
Opsi penentu peringkat | Deskripsi | Latensi | Akurasi | Harga |
---|---|---|---|---|
Vertex AI ranking API | Vertex AI Ranking API adalah pemeringkat ulang semantik mandiri yang dirancang untuk pemberian skor relevansi yang sangat presisi dan latensi rendah. Untuk mengetahui informasi selengkapnya tentang Vertex AI Ranking API, lihat Meningkatkan kualitas penelusuran dan RAG dengan Ranking API. |
Sangat rendah (kurang dari 100 milidetik) | Performa yang canggih | Per permintaan Vertex AI RAG Engine |
Pengubah peringkat LLM | Pengubah peringkat LLM menggunakan panggilan terpisah ke Gemini untuk menilai relevansi potongan dengan kueri. | Tinggi (1 hingga 2 detik) | Bergantung pada model | Harga token LLM |
Menggunakan Vertex AI ranking API
Untuk menggunakan Vertex AI ranking API, Anda harus mengaktifkan Discovery Engine API. Semua model yang didukung dapat ditemukan di Meningkatkan kualitas penelusuran dan RAG dengan API peringkat.
Contoh kode ini menunjukkan cara mengaktifkan pengurutan ulang dengan Vertex AI ranking API dalam konfigurasi alat.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Python API.
Ganti variabel berikut yang digunakan dalam kode contoh:
- PROJECT_ID: ID project Google Cloud Anda.
- LOCATION: Region untuk memproses permintaan.
- MODEL_NAME: Model LLM untuk pembuatan konten. Contohnya,
gemini-2.0-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
penyusunan ulang peringkat. 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 Vertex AI 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
Vertex AI GenerateContent
API. Dengan menentukan
RAG_CORPUS_RESOURCE
saat Anda membuat permintaan, model akan otomatis mengambil data
dari Vertex AI RAG Engine.
Ganti variabel berikut yang digunakan dalam kode contoh:
- PROJECT_ID: ID project Google Cloud Anda.
- LOCATION: Region untuk memproses permintaan.
- MODEL_NAME: Model LLM untuk pembuatan konten. Contohnya,
gemini-2.0-flash
. - GENERATION_METHOD: Metode LLM untuk pembuatan konten.
Opsinya meliputi
generateContent
danstreamGenerateContent
. - 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
penyusunan ulang peringkat. 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 pengurutan ulang LLM di Vertex AI RAG Engine
Bagian ini menyajikan prasyarat dan contoh kode untuk menggunakan LLM pengubah peringkat.
Pengurut ulang LLM hanya mendukung model Gemini, yang dapat diakses saat Vertex AI RAG Engine API diaktifkan. Untuk melihat daftar model yang didukung, lihat Model Gemini.
Untuk mengambil konteks yang relevan menggunakan Vertex AI RAG Engine API, lakukan hal berikut:
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Python API.
Ganti variabel berikut yang digunakan dalam contoh kode:
- PROJECT_ID: ID project Google Cloud Anda.
- 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 menyusun ulang peringkat.
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 Vertex AI 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 Google Cloud Anda.
- 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 menyusun ulang peringkat.
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
- Untuk mempelajari lebih lanjut respons dari RAG, lihat Output pengambilan dan pembuatan Vertex AI RAG Engine.
- Mengelola pusat informasi (korpus) RAG Anda