Panduan ini menunjukkan cara menyesuaikan model embedding teks untuk meningkatkan performa tugas spesifik Anda. Panduan ini mencakup topik berikut: Model embedding dasar dilatih sebelumnya dengan set data teks yang besar, yang memberikan dasar yang kuat untuk banyak tugas. Untuk skenario yang memerlukan pengetahuan khusus atau performa yang sangat disesuaikan, Anda dapat menggunakan penyesuaian model untuk meningkatkan kualitas representasi model dengan data Anda sendiri. Penyesuaian didukung untuk versi stabil dari model Model embedding teks mendukung penyesuaian yang diawasi. Penyesuaian yang diawasi menggunakan contoh berlabel yang menunjukkan jenis output yang Anda inginkan dari model penyematan teks selama inferensi. Untuk mempelajari penyesuaian model lebih lanjut, lihat Cara kerja penyesuaian model. Vertex AI menggunakan metode penyesuaian yang hemat parameter untuk penyesuaian. Metode ini menunjukkan peningkatan kualitas yang signifikan hingga 41% (rata-rata 12%) pada eksperimen yang dilakukan pada set data tolok ukur pengambilan publik. Menyesuaikan model embedding teks membantu mengadaptasi model ke domain atau tugas tertentu. Hal ini berguna saat model terlatih tidak sesuai dengan kebutuhan Anda. Misalnya, menyesuaikan model embedding pada tiket dukungan pelanggan perusahaan Anda dapat membantu chatbot lebih memahami masalah umum dan menjawab pertanyaan secara lebih efektif. Tanpa penyesuaian, model tidak memiliki pengetahuan spesifik tentang tiket dukungan dan solusi produk Anda. Alur kerja penyesuaian model di Vertex AI untuk Setelah tugas penyesuaian selesai, model yang disesuaikan akan ditambahkan ke Model Registry. Tidak seperti tugas penyesuaian model lainnya, tugas penyesuaian embedding teks tidak otomatis men-deploy model ke endpoint. Anda harus men-deploy model yang telah disesuaikan secara manual. Set data yang Anda gunakan untuk menyesuaikan model embedding menyertakan data yang selaras dengan tugas yang Anda inginkan untuk dilakukan oleh model. Set data pelatihan terdiri dari file berikut, yang harus berada di Cloud Storage. Anda menentukan jalur untuk setiap file dengan parameter saat meluncurkan pipeline penyesuaian. File korpus: Jalur ditentukan oleh parameter File kueri: Jalur ditentukan oleh parameter Label pelatihan: Jalur ditentukan oleh parameter Berikut adalah contoh file Label pengujian (Opsional): Label pengujian memiliki format yang sama dengan label pelatihan. Anda menentukannya dengan parameter Label validasi (Opsional): Label validasi memiliki format yang sama dengan label pelatihan. Anda menentukannya dengan parameter File set data yang diberikan harus memenuhi batasan berikut: Anda menjalankan tugas penyetelan di project menggunakan platform Vertex AI Pipelines. Mengonfigurasi izin Pipeline menjalankan kode pelatihan di bawah dua agen layanan. Anda harus memberikan peran tertentu kepada agen layanan ini untuk menjalankan pelatihan menggunakan project dan set data Anda. Akun layanan default Compute Engine
Sebagai pengganti akun layanan default Compute Engine, Anda dapat menentukan akun layanan kustom. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi akun layanan dengan izin terperinci. Agen Layanan Penyesuaian Vertex AI
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi izin set data Cloud Storage, lihat Mengonfigurasi bucket Cloud Storage untuk artefak pipeline. Penyesuaian memerlukan akselerator GPU. Anda dapat menggunakan salah satu akselerator berikut untuk pipeline penyesuaian embedding teks: Untuk meluncurkan tugas penyesuaian, Anda memerlukan kuota Tidak semua akselerator tersedia di semua wilayah. Untuk mengetahui informasi selengkapnya, lihat Menggunakan akselerator di Vertex AI. Anda dapat membuat tugas penyesuaian model sematan menggunakan konsol Google Cloud , REST API, atau library klien. Untuk membuat tugas penyesuaian model embedding, gunakan
metode
Sebelum menggunakan salah satu data permintaan,
lakukan penggantian berikut:
Metode HTTP dan URL:
Meminta isi JSON:
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut: Anda akan menerima respons JSON yang mirip dengan yang berikut ini: Setelah meluncurkan pipeline, ikuti progres tugas penyesuaian Anda melalui konsolGoogle Cloud .
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 Python.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di
Panduan memulai Vertex AI menggunakan
library klien.
Untuk mengetahui informasi selengkapnya, lihat
Dokumentasi referensi API Java Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi.
Untuk mengetahui informasi selengkapnya, lihat
Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di
Panduan memulai Vertex AI menggunakan
library klien.
Untuk mengetahui informasi selengkapnya, lihat
Dokumentasi referensi API Node.js Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi.
Untuk mengetahui informasi selengkapnya, lihat
Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Untuk menyesuaikan model embedding teks menggunakan konsol Google Cloud , Anda dapat meluncurkan pipeline penyesuaian menggunakan langkah-langkah berikut: Penyesuaian embedding teks mendukung Kontrol Layanan VPC. Untuk menjalankan tugas penyetelan dalam Virtual Private Cloud (VPC), teruskan parameter Untuk menggunakan CMEK (kunci enkripsi yang dikelola pelanggan), teruskan kunci ke parameter pipeline Saat tugas penyesuaian selesai, model yang disesuaikan tidak otomatis di-deploy ke endpoint. Anda dapat menemukan model yang disesuaikan sebagai resource Model di Model Registry. Anda dapat melihat daftar model dalam project saat ini, termasuk model yang disesuaikan, menggunakan konsol Google Cloud . Untuk melihat model yang disesuaikan di konsol Google Cloud , buka halaman
Vertex AI Model Registry.
Setelah menyesuaikan model embedding, Anda harus men-deploy resource Model. Untuk men-deploy model embedding yang disesuaikan, lihat Men-deploy model ke endpoint. Tidak seperti model dasar, Anda mengelola model embedding teks yang disesuaikan. Hal ini termasuk mengelola resource aktif, seperti jenis mesin dan akselerator. Untuk mencegah error kehabisan memori selama prediksi, sebaiknya deploy menggunakan jenis GPU Mirip dengan model dasar Setelah model yang di-tune di-deploy, Anda dapat menggunakan salah satu perintah berikut untuk mengirim permintaan ke endpoint model yang di-tune. Contoh perintah curl untuk model Untuk mendapatkan prediksi dari versi Contoh perintah curl untuk model lain Versi yang di-tune dari model lain (misalnya, Contoh output Output ini berlaku untuk model
textembedding-gecko
dan textembedding-gecko-multilingual
.Peningkatan kualitas yang diharapkan
Kasus penggunaan untuk menyesuaikan model embedding
Alur kerja penyesuaian
textembedding-gecko
dan textembedding-gecko-multilingual
mencakup langkah-langkah berikut:
Menyiapkan set data embedding
Format set data untuk menyesuaikan model embedding
corpus_path
. Ini adalah file JSONL yang setiap barisnya memiliki kolom _id
, title
, dan text
dengan nilai string. _id
dan text
wajib ada, sedangkan title
bersifat opsional. Berikut adalah contoh file corpus.jsonl
:{"_id": "doc1", "title": "Get an introduction to generative AI on Vertex AI", "text": "Vertex AI Studio offers a Google Cloud console tool for rapidly prototyping and testing generative AI models. Learn how you can use Vertex AI Studio to test models using prompt samples, design and save prompts, tune a foundation model, and convert between speech and text."}
{"_id": "doc2", "title": "Use gen AI for summarization, classification, and extraction", "text": "Learn how to create text prompts for handling any number of tasks with Vertex AI's generative AI support. Some of the most common tasks are classification, summarization, and extraction. Vertex AI's PaLM API for text lets you design prompts with flexibility in terms of their structure and format."}
{"_id": "doc3", "title": "Custom ML training overview and documentation", "text": "Get an overview of the custom training workflow in Vertex AI, the benefits of custom training, and the various training options that are available. This page also details every step involved in the ML training workflow from preparing data to predictions."}
{"_id": "doc4", "text": "Text embeddings are useful for clustering, information retrieval, retrieval-augmented generation (RAG), and more."}
{"_id": "doc5", "title": "Text embedding tuning", "text": "Google's text embedding models can be tuned on Vertex AI."}
queries_path
. File kueri berisi contoh kueri Anda, menggunakan format JSONL, dan memiliki kolom yang sama dengan file korpus. Berikut adalah contoh file queries.jsonl
:{"_id": "query1", "text": "Does Vertex support generative AI?"}
{"_id": "query2", "text": "What can I do with Vertex GenAI offerings?"}
{"_id": "query3", "text": "How do I train my models using Vertex?"}
{"_id": "query4", "text": "What is a text embedding?"}
{"_id": "query5", "text": "Can text embedding models be tuned on Vertex?"}
{"_id": "query6", "text": "embeddings"}
{"_id": "query7", "text": "embeddings for rag"}
{"_id": "query8", "text": "custom model training"}
{"_id": "query9", "text": "Google Cloud PaLM API"}
train_label_path
, yang merupakan Cloud Storage URI ke data label pelatihan. Label harus berada dalam file TSV dengan header. File label pelatihan Anda harus menyertakan subset kueri dan korpus. File harus memiliki kolom query-id
, corpus-id
, dan score
.
query-id
: String yang cocok dengan kunci _id
dari file kueri.corpus-id
: String yang cocok dengan kunci _id
di file korpus.score
: Bilangan bulat non-negatif. Skor yang lebih besar dari 0 menunjukkan bahwa dokumen tersebut terkait dengan kueri. Skor yang lebih tinggi menunjukkan relevansi yang lebih besar. Jika skor tidak ada, nilai defaultnya adalah 1. Jika pasangan kueri dan dokumen tidak terkait, Anda dapat menghapusnya dari file label atau menyertakannya dengan skor 0.train_labels.tsv
:query-id corpus-id score
query1 doc1 1
query2 doc2 1
query3 doc3 2
query3 doc5 1
query4 doc4 1
query4 doc5 1
query5 doc5 2
query6 doc4 1
query6 doc5 1
query7 doc4 1
query8 doc3 1
query9 doc2 1
test_label_path
. Jika Anda tidak memberikan test_label_path
, label pengujian akan otomatis dipisahkan dari label pelatihan.validation_label_path
. Jika Anda tidak memberikan validation_label_path
, label validasi akan otomatis dipisahkan dari label pelatihan.Persyaratan ukuran set data
Mengonfigurasi project Anda untuk Vertex AI Pipelines
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Akun layanan ini memerlukan izin berikut:
Storage Object Viewer
akses ke setiap file set data yang Anda buat di Cloud Storage.Storage Object User
ke direktori Cloud Storage output pipeline Anda, PIPELINE_OUTPUT_DIRECTORY.Vertex AI User
akses ke project Anda.service-PROJECT_NUMBER@gcp-sa-aiplatform-ft.iam.gserviceaccount.com
Akun layanan ini memerlukan izin berikut:
Storage Object Viewer
akses ke setiap file set data yang Anda buat di Cloud Storage.Storage Object User
ke direktori Cloud Storage output pipeline Anda, PIPELINE_OUTPUT_DIRECTORY.Menggunakan akselerator
NVIDIA_L4
NVIDIA_TESLA_A100
NVIDIA_TESLA_T4
NVIDIA_TESLA_V100
NVIDIA_TESLA_P100
Restricted image training GPUs
yang memadai untuk jenis akselerator dan region yang telah Anda pilih, misalnya Restricted image training Nvidia V100 GPUs per region
. Untuk meningkatkan kuota project Anda, lihat Meminta kuota tambahan.Membuat tugas penyesuaian model embedding
REST
projects.locations.pipelineJobs.create
.
PROJECT_ID
: ID project Google Cloud Anda.PIPELINE_OUTPUT_DIRECTORY
: Jalur untuk artefak output pipeline, dimulai dengan "gs://".POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/pipelineJobs
{
"displayName": "tune_text_embeddings_model_sample",
"runtimeConfig": {
"gcsOutputDirectory": "PIPELINE_OUTPUT_DIRECTORY",
"parameterValues": {
"corpus_path": "gs://cloud-samples-data/ai-platform/embedding/goog-10k-2024/r11/corpus.jsonl",
"queries_path": "gs://cloud-samples-data/ai-platform/embedding/goog-10k-2024/r11/queries.jsonl",
"train_label_path": "gs://cloud-samples-data/ai-platform/embedding/goog-10k-2024/r11/train.tsv",
"test_label_path": "gs://cloud-samples-data/ai-platform/embedding/goog-10k-2024/r11/test.tsv",
"base_model_version_id":"text-embedding-004",
"task_type": "DEFAULT",
"batch_size": "128",
"train_steps": "1000",
"output_dimensionality": "768",
"learning_rate_multiplier": "1.0"
}
},
"templateUri": "https://us-kfp.pkg.dev/ml-pipeline/llm-text-embedding/tune-text-embedding-model/v1.1.3"
}
Python
Java
Node.js
Konsol
corpus_path
, queries_path
, dan train_label_path
, dengan format yang dijelaskan dalam Menyiapkan set data embedding. Untuk informasi yang lebih mendetail tentang setiap parameter, lihat tab REST di bagian ini.Fitur lainnya yang didukung
network
saat Anda membuat PipelineJob
.parameterValues.encryption_spec_key_name
dan parameter encryptionSpec.kmsKeyName
saat Anda membuat PipelineJob
.Menggunakan model yang disesuaikan
Melihat model yang disesuaikan di Model Registry
Deploy model Anda
NVIDIA_TESLA_A100
, yang dapat mendukung ukuran batch hingga 5 untuk panjang input apa pun.textembedding-gecko
, model yang disesuaikan mendukung hingga 3.072 token dan dapat memotong input yang lebih panjang.Mendapatkan prediksi pada model yang di-deploy
textembedding-gecko@001
yang telah disesuaikantextembedding-gecko@001
yang di-tuning, gunakan perintah curl berikut.PROJECT_ID=PROJECT_ID
LOCATION=LOCATION
ENDPOINT_URI=https://${LOCATION}-aiplatform.googleapis.com
MODEL_ENDPOINT=TUNED_MODEL_ENDPOINT_ID
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
${ENDPOINT_URI}/v1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/${MODEL_ENDPOINT}:predict \
-d '{
"instances": [
{
"content": "Dining in New York City"
},
{
"content": "Best resorts on the east coast"
}
]
}'
textembedding-gecko@003
dan textembedding-gecko-multilingual@001
) memerlukan dua input tambahan: task_type
dan title
. Untuk mengetahui informasi selengkapnya tentang parameter ini, lihat perintah curl.PROJECT_ID=PROJECT_ID
LOCATION=LOCATION
ENDPOINT_URI=https://${LOCATION}-aiplatform.googleapis.com
MODEL_ENDPOINT=TUNED_MODEL_ENDPOINT_ID
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
${ENDPOINT_URI}/v1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/${MODEL_ENDPOINT}:predict \
-d '{
"instances": [
{
"content": "Dining in New York City",
"task_type": "DEFAULT",
"title": ""
},
{
"content": "There are many resorts to choose from on the East coast...",
"task_type": "RETRIEVAL_DOCUMENT",
"title": "East Coast Resorts"
}
]
}'
textembedding-gecko
dan textembedding-gecko-multilingual
, terlepas dari versinya.{
"predictions": [
[ ... ],
[ ... ],
...
],
"deployedModelId": "...",
"model": "projects/.../locations/.../models/...",
"modelDisplayName": "tuned-text-embedding-model",
"modelVersionId": "1"
}
Langkah berikutnya
Menyesuaikan embedding teks
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-19 UTC.