Model penyematan Vertex AI dapat menghasilkan penyematan yang dioptimalkan untuk berbagai jenis tugas, seperti pengambilan dokumen, pertanyaan dan jawaban, serta verifikasi fakta. Jenis tugas adalah label yang mengoptimalkan penyematan yang dihasilkan model berdasarkan kasus penggunaan yang Anda inginkan. Dokumen ini menjelaskan cara memilih jenis tugas yang optimal untuk penyematan Anda.
Model yang didukung
Jenis tugas didukung oleh model berikut:
textembedding-gecko@003
text-embedding-004
text-embedding-005
text-multilingual-embedding-002
Manfaat jenis tugas
Jenis tugas dapat meningkatkan kualitas penyematan yang dihasilkan oleh model penyematan.

Misalnya, saat membuat sistem Retrieval Augmented Generation (RAG), desain umum adalah menggunakan penyematan teks dan Vector Search untuk melakukan penelusuran kemiripan. Dalam beberapa kasus, hal ini dapat menyebabkan penurunan kualitas penelusuran, karena pertanyaan dan jawabannya tidak mirip secara semantik. Misalnya, pertanyaan seperti "Kenapa langit berwarna biru?" dan jawabannya "Hamburan sinar matahari menyebabkan warna biru", memiliki arti yang sangat berbeda sebagai pernyataan, yang berarti bahwa sistem RAG tidak akan otomatis mengenali hubungannya, seperti yang ditunjukkan pada gambar 1. Tanpa jenis tugas, developer RAG harus melatih model mereka untuk mempelajari hubungan antara kueri dan jawaban yang memerlukan keterampilan dan pengalaman data science lanjutan, atau menggunakan ekspansi kueri berbasis LLM atau HyDE yang dapat menyebabkan latensi dan biaya tinggi.

Jenis tugas memungkinkan Anda membuat penyematan yang dioptimalkan untuk tugas tertentu, sehingga menghemat waktu dan biaya yang diperlukan untuk mengembangkan penyematan khusus tugas Anda sendiri. Penyematan yang dihasilkan untuk kueri "Mengapa langit berwarna biru?" dan jawabannya "Hamburan sinar matahari menyebabkan warna biru" akan berada di ruang penyematan bersama yang mewakili hubungan di antara keduanya, seperti yang ditunjukkan pada gambar 2. Dalam contoh RAG ini, penyematan yang dioptimalkan akan menghasilkan penelusuran kemiripan yang lebih baik.
Selain kasus penggunaan kueri dan jawaban, jenis tugas juga menyediakan ruang penyematan yang dioptimalkan untuk tugas seperti klasifikasi, pengelompokan, dan verifikasi fakta.
Jenis tugas yang didukung
Model penyematan yang menggunakan jenis tugas mendukung jenis tugas berikut:
Jenis tugas | Deskripsi |
---|---|
SEMANTIC_SIMILARITY |
Digunakan untuk membuat embedding yang dioptimalkan untuk menilai kesamaan teks |
CLASSIFICATION |
Digunakan untuk membuat embedding yang dioptimalkan untuk mengklasifikasikan teks sesuai dengan label preset |
CLUSTERING |
Digunakan untuk membuat embedding yang dioptimalkan untuk mengelompokkan teks berdasarkan kemiripan |
RETRIEVAL_DOCUMENT , RETRIEVAL_QUERY , QUESTION_ANSWERING , dan FACT_VERIFICATION |
Digunakan untuk membuat penyematan yang dioptimalkan untuk penelusuran dokumen atau pengambilan informasi |
CODE_RETRIEVAL_QUERY |
Digunakan untuk mengambil blok kode berdasarkan kueri natural language, seperti mengurutkan array atau membalikan linked list. Penyematan blok kode dihitung menggunakan RETRIEVAL_DOCUMENT . |
Jenis tugas terbaik untuk tugas penyematan Anda bergantung pada kasus penggunaan yang Anda miliki untuk penyematan. Sebelum memilih jenis tugas, tentukan kasus penggunaan penyematan Anda.
Menentukan kasus penggunaan penyematan Anda
Kasus penggunaan penyematan biasanya termasuk dalam salah satu dari empat kategori: menilai
kemiripan teks, mengklasifikasikan teks, mengelompokkan teks, atau mengambil informasi
dari teks. Jika kasus penggunaan Anda tidak termasuk dalam salah satu kategori sebelumnya,
gunakan jenis tugas RETRIEVAL_QUERY
secara default.
Menilai kemiripan teks
Jika Anda ingin menggunakan penyematan untuk menilai kesamaan teks, gunakan
jenis tugas SEMANTIC_SIMILARITY
. Jenis tugas ini menghasilkan penyematan yang
dioptimalkan untuk menghasilkan skor kesamaan.
Misalnya, Anda ingin membuat penyematan untuk digunakan guna membandingkan kemiripan teks berikut:
- Kucing sedang tidur
- Kucing sedang tidur
Saat penyematan digunakan untuk membuat skor kesamaan, skor kesamaan akan tinggi, karena kedua teks memiliki makna yang hampir sama.
Pertimbangkan skenario dunia nyata berikut yang menilai kemiripan input akan berguna:
- Untuk sistem rekomendasi, Anda ingin mengidentifikasi item (misalnya, produk, artikel, film) yang secara semantik mirip dengan item pilihan pengguna, memberikan rekomendasi yang dipersonalisasi, dan meningkatkan kepuasan pengguna.
Mengklasifikasikan teks
Jika Anda ingin menggunakan penyematan untuk mengklasifikasikan teks sesuai dengan label preset, gunakan
jenis tugas CLASSIFICATION
. Jenis tugas ini menghasilkan penyematan di
ruang penyematan yang dioptimalkan untuk klasifikasi.
Misalnya, Anda ingin membuat penyematan untuk postingan media sosial yang kemudian dapat Anda gunakan untuk mengklasifikasikan sentimennya sebagai positif, negatif, atau netral. Saat penyematan untuk postingan media sosial yang bertuliskan "Saya tidak suka bepergian dengan pesawat" diklasifikasikan, sentimennya akan diklasifikasikan sebagai negatif.
Teks cluster
Jika Anda ingin menggunakan penyematan untuk mengelompokkan teks berdasarkan kesamaannya, gunakan
jenis tugas CLUSTERING
. Jenis tugas ini menghasilkan penyematan yang
dioptimalkan untuk dikelompokkan berdasarkan kesamaannya.
Misalnya, Anda ingin membuat penyematan untuk artikel berita sehingga Anda dapat menampilkan artikel kepada pengguna yang terkait secara topik dengan artikel yang telah mereka baca sebelumnya. Setelah penyematan dibuat dan dikelompokkan, Anda dapat menyarankan artikel terkait olahraga tambahan kepada pengguna yang banyak membaca artikel tentang olahraga.
Kasus penggunaan tambahan untuk pengelompokan mencakup hal berikut:
- Segmentasi pelanggan: mengelompokkan pelanggan dengan penyematan serupa yang dihasilkan dari profil atau aktivitas mereka untuk pemasaran yang ditargetkan dan pengalaman yang dipersonalisasi.
- Segmentasi produk: pengelompokan penyematan produk berdasarkan judul dan deskripsi produk, gambar produk, atau ulasan pelanggan dapat membantu bisnis melakukan analisis segmen pada produk mereka.
- Riset pasar: pengelompokan respons survei konsumen atau penyematan data media sosial dapat mengungkapkan pola dan tren tersembunyi dalam pendapat, preferensi, dan perilaku konsumen, sehingga membantu upaya riset pasar dan menginformasikan strategi pengembangan produk.
- Layanan kesehatan: pengelompokan penyematan pasien yang berasal dari data medis dapat membantu mengidentifikasi kelompok dengan kondisi atau respons pengobatan yang serupa, sehingga mengarah ke rencana perawatan kesehatan yang lebih dipersonalisasi dan terapi yang ditargetkan.
- Tren masukan pelanggan: mengelompokkan masukan pelanggan dari berbagai saluran (survei, media sosial, tiket dukungan) ke dalam grup dapat membantu mengidentifikasi poin masalah umum, permintaan fitur, dan area untuk peningkatan produk.
Mengambil informasi dari teks
Jika ingin menggunakan penyematan untuk penelusuran dokumen atau pengambilan informasi dan kasus penggunaan Tanya Jawab seperti penelusuran, chatbot, atau RAG seperti yang dibahas dalam pengantar, Anda perlu menjalankan dua tugas penyematan dengan jenis tugas yang berbeda:
- Gunakan jenis tugas
RETRIEVAL_DOCUMENT
untuk membuat penyematan yang dioptimalkan untuk dokumen Anda (juga disebut korpus). - Gunakan salah satu jenis tugas berikut untuk membuat penyematan yang dioptimalkan untuk
kueri Anda, bergantung pada sifat kueri:
RETRIEVAL_QUERY
: Gunakan sebagai jenis tugas default untuk kueri, seperti "restoran terbaik di Vancouver", "sayuran hijau", atau "Apa resep kue terbaik?".QUESTION_ANSWERING
: Gunakan jika semua kueri diformat sebagai pertanyaan yang tepat, seperti "Kenapa langit berwarna biru?" atau "Bagaimana cara mengikat tali sepatu?".FACT_VERIFICATION
: Gunakan jika Anda ingin mengambil dokumen dari korpus yang membuktikan atau menyangkal pernyataan. Misalnya, kueri "apel tumbuh di bawah tanah" mungkin mengambil artikel tentang apel yang pada akhirnya akan menyangkal pernyataan tersebut.
Pertimbangkan skenario dunia nyata berikut yang akan berguna untuk kueri pengambilan:
- Untuk platform e-commerce, sebaiknya gunakan penyematan agar pengguna dapat menelusuri produk menggunakan kueri teks dan gambar, sehingga memberikan pengalaman belanja yang lebih intuitif dan menarik.
- Untuk platform pendidikan, Anda ingin membuat sistem menjawab pertanyaan yang dapat menjawab pertanyaan siswa berdasarkan konten buku teks atau resource pendidikan, memberikan pengalaman belajar yang dipersonalisasi, dan membantu siswa memahami konsep yang kompleks.
Pengambilan Kode
text-embedding-005
mendukung jenis tugas baru CODE_RETRIEVAL_QUERY
,
yang dapat digunakan untuk mengambil blok kode yang relevan menggunakan kueri teks biasa. Untuk menggunakan fitur ini, blok kode harus disematkan menggunakan jenis tugas RETRIEVAL_DOCUMENT
, sedangkan kueri teks disematkan menggunakan CODE_RETRIEVAL_QUERY
.
Untuk mempelajari semua jenis tugas, lihat referensi model.
Berikut ini contohnya:
REST
PROJECT_ID=PROJECT_ID
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-embedding-005:predict -d \
$'{
"instances": [
{
"task_type": "CODE_RETRIEVAL_QUERY",
"content": "Function to add two numbers"
}
],
}'
Vertex AI SDK untuk 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 API Vertex AI SDK untuk Python.
Batasan berikut berlaku saat menggunakan model ini:
- Jangan gunakan model pratinjau ini di sistem produksi atau yang sangat penting.
- Model ini hanya tersedia di
us-central1
. - Prediksi batch tidak didukung.
- Penyesuaian tidak didukung.
Langkah berikutnya
- Pelajari cara mendapatkan penyematan teks.