Setelah membuat instance Example Store, Anda dapat mulai menulis dan mengupload contoh ke instance tersebut. Tidak ada batasan jumlah contoh yang dapat Anda simpan dalam instance penyimpanan contoh. Contoh akan langsung tersedia setelah Anda menguploadnya ke instance Example Store.
Beberapa skenario saat Anda perlu mengupload contoh mencakup hal berikut:
Kueri tidak relevan dengan contoh yang ada.
Model mengalami kesulitan dengan beberapa penalaran.
Contoh yang tersedia tidak mencakup semua fungsi, hasil, atau pemikiran yang Anda harapkan.
Dengan menulis contoh yang relevan dalam format yang diharapkan, Anda dapat mencapai hal berikut:
Meningkatkan kemampuan LLM untuk memperhatikan contoh dan menggunakannya, sehingga menghindari perubahan yang tidak terduga pada pola respons yang dihasilkan dari perubahan kecil pada perintah.
Mengurangi potensi dampak negatif dari menambahkan contoh untuk kueri yang tidak relevan.
LLM berperforma seperti yang diharapkan untuk kueri serupa.
Jika LLM menunjukkan perilaku atau penalaran yang tidak terduga, Anda dapat mengupload respons yang dikoreksi untuk memandu model agar mengikuti pola atau penalaran yang diharapkan dalam permintaan berikutnya.
Contoh di halaman ini memungkinkan Anda menulis contoh berdasarkan output LLM. Membuat contoh berdasarkan output dari LLM memiliki keunggulan berikut dibandingkan membuat contoh secara manual:
Membuat contoh berdasarkan output LLM yang diharapkan memerlukan lebih sedikit upaya manual.
Dengan menulis contoh berdasarkan perilaku LLM yang tidak terduga, Anda dapat langsung memperbaiki kasus kegagalan.
Anda dapat menulis contoh berdasarkan respons dari model yang berperforma baik untuk meningkatkan perilaku model lain. Misalnya, jika Gemini 1.5 Pro memberikan respons yang lebih baik daripada Gemini 1.5 Flash, tetapi dengan latensi yang lebih tinggi, Anda dapat menulis contoh menggunakan respons tersebut untuk mencapai performa yang serupa dengan latensi yang lebih rendah menggunakan Gemini 1.5 Flash.
Menggunakan contoh untuk meningkatkan performa panggilan fungsi
Anda dapat menggunakan contoh few-shot untuk meningkatkan performa panggilan fungsi dengan menunjukkan hal berikut: * Saat fungsi tertentu dipanggil.
Cara mengekstrak argumen yang akan digunakan dalam panggilan fungsi Anda.
Cara model merespons berdasarkan respons yang ditampilkan oleh fungsi, atau beberapa fungsi jika ada penalaran multi-langkah.
Untuk mempelajari lebih lanjut pemanggilan fungsi, lihat Dokumentasi pemanggilan fungsi.
Prasyarat
Sebelum menggunakan contoh Python di halaman ini, Anda harus menginstal dan melakukan inisialisasi Vertex AI SDK untuk Python untuk Example Store di lingkungan Python lokal Anda.
Jalankan perintah berikut untuk menginstal Vertex AI SDK untuk Python untuk Example Store.
pip install --upgrade google-cloud-aiplatform>=1.87.0
Gunakan contoh kode berikut untuk mengimpor dan melakukan inisialisasi SDK untuk Example Store.
import vertexai from vertexai.preview import example_stores vertexai.init( project="PROJECT_ID", location="LOCATION" )
Ganti kode berikut:
PROJECT_ID: Project ID Anda.
LOCATION: Region Anda. Hanya
us-central1
yang didukung.
Contoh upload
Gunakan contoh berikut untuk mengupload contoh ke instance Example Store. Anda dapat mengupload maksimal lima contoh per permintaan.
Python
Contoh berikut memungkinkan Anda meningkatkan perilaku LLM dan performa panggilan fungsi dengan membuat dan mengupload contoh ke instance Contoh Store, menggunakan respons yang diterima dari LLM. Sebelum menggunakan contoh berikut, pastikan Anda telah melakukan hal berikut:Ikuti petunjuk penyiapan Python di panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI Python API.
Lakukan autentikasi ke Vertex AI dengan menyiapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Upload contoh berdasarkan respons yang diharapkan
Gunakan contoh berikut untuk menulis dan mengupload contoh dalam skenario saat respons dari LLM dalam format yang diharapkan. Contoh ini memungkinkan Anda mengirim permintaan, membuat contoh berdasarkan respons, lalu mengupload contoh ke instance Example Store.
from vertexai.preview.example_stores import ContentsExample, StoredContentsExample
client = genai.Client(
http_options=genai_types.HttpOptions(api_version="v1"),
vertexai=True,
project="PROJECT_ID",,
location="LOCATION")
user_content = Content(
role="user",
parts=[Part(text="EXAMPLE_QUERY")],
)
response = client.models.generate_content(
model="MODEL_NAME",
user_content,
config=genai_types.GenerateContentConfig(
tools=[FUNCTION_OR_FUNCTION_DECLARATION]
)
)
# Upload example.
example = {
"contents_example": {
"contents": [user_content.to_json_dict()],
"expected_contents": [
{"content": response.candidates[0].content.to_json_dict()},
{"content": EXPECTED_FUNCTION_RESPONSE.to_json_dict()},
{"content": EXPECTED_FINAL_MODEL_RESPONSE.to_json_dict()},
],
},
"search_key": user_content.parts[0].text,
}
example_store.upsert_examples(examples=[example])
Ganti kode berikut:
PROJECT_ID: Project ID Anda.
LOCATION: Region Anda. Hanya
us-central1
yang didukung.EXAMPLE_QUERY: Permintaan atau kueri pengguna ke LLM atau agen.
MODEL_NAME: Nama model. Contoh,
gemini-2.0-flash
.FUNCTION_OR_FUNCTION_DECLARATION: Fungsi atau deklarasi fungsi yang akan digunakan dalam permintaan. Lihat dokumentasi GenAI SDK untuk Pemanggilan Fungsi guna mendapatkan bantuan dalam menentukan fungsi sebagai alat.
EXPECTED_FUNCTION_RESPONSE: Respons fungsi yang diharapkan (objek
FunctionResponse
) untuk panggilan fungsi yang diharapkan. Lihat dokumentasi GenAI SDK untuk Pemanggilan Fungsi guna mendapatkan bantuan dalam menentukan respons fungsi.EXPECTED_FINAL_MODEL_RESPONSE: Respons model akhir yang diharapkan (objek
Content
) untuk panggilan dan respons fungsi yang diharapkan.
Upload contoh untuk memperbaiki respons yang tidak terduga
Jika LLM tidak menghasilkan respons seperti yang diharapkan, Anda dapat membuat contoh berdasarkan respons yang dikoreksi. Hal ini membantu LLM mengikuti alasan yang diharapkan untuk permintaan berikutnya.
Gunakan contoh berikut untuk mengupload contoh dengan respons yang dikoreksi ke instance Contoh Toko.
user_content = Content(
role="user",
parts=[Part(text="EXAMPLE_QUERY")],
)
example = {
"contents_example": {
"contents": [user_content.to_json_dict()],
"expected_contents": [
{"content": EXPECTED_FUNCTION_CALL.to_json_dict()},
{"content": EXPECTED_FUNCTION_RESPONSE.to_json_dict()},
{"content": EXPECTED_FINAL_MODEL_RESPONSE.to_json_dict()},
],
},
"search_key": user_content.parts[0].text,
}
example_store.upsert_examples(examples=[example])
Ganti kode berikut:
EXAMPLE_QUERY: Permintaan atau kueri pengguna ke LLM atau agen.
EXPECTED_FUNCTION_CALL: Panggilan fungsi yang diharapkan (objek
FunctionCall
) untuk kueri pengguna yang diberikan. Lihat dokumentasi GenAI SDK untuk Pemanggilan Fungsi guna mendapatkan bantuan dalam menentukan panggilan fungsi.EXPECTED_FUNCTION_RESPONSE: Respons fungsi yang diharapkan (objek
FunctionResponse
) untuk panggilan fungsi yang diharapkan. Lihat dokumentasi GenAI SDK untuk Pemanggilan Fungsi guna mendapatkan bantuan dalam menentukan respons fungsi.EXPECTED_FINAL_MODEL_RESPONSE: Respons model akhir yang diharapkan (objek
Content
) untuk panggilan dan respons fungsi yang diharapkan.
REST
Untuk mengupload sampel ke instance Example Store, kirim permintaan POST
menggunakan metode exampleStores.upsertExamples
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region tempat Anda ingin membuat contoh
toko. Satu-satunya wilayah yang didukung adalah
us-central1
. - EXAMPLE_STORE_ID: ID instance Contoh Toko tempat Anda ingin mengupload contoh.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/exampleStores/EXAMPLE_STORE_ID:upsertExamples
Isi JSON permintaan:
{ "examples": [ { "stored_contents_example": { "contents_example": { "contents": [ { "role": "user", "parts": [ { "text": "Is there a store in Mountain View, CA that I can visit to try the new Pixel 8 Pro?" } ] } ], "expected_contents": [ { "content": { "role": "model", "parts": [ { "text": ""Yes, there is a store located at 2000 N Shoreline Blvd, Mountain View, CA 94043, US." } ] } } ] }, "search_key_generation_method": { "last_entry": {} } } } ] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/exampleStores/EXAMPLE_STORE_ID:upsertExamples"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/exampleStores/EXAMPLE_STORE_ID:upsertExamples" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan berikut ini, dengan EXAMPLE_ID mewakili ID numerik yang dihasilkan untuk contoh.
Langkah berikutnya
- Pelajari cara mengambil contoh.