Halaman ini menunjukkan cara menyesuaikan model penyematan teks,
textembedding-gecko
, dan textembedding-gecko-multilingual
. Model dasar ini telah dilatih dengan sekumpulan besar data teks publik. Jika Anda memiliki kasus
penggunaan unik yang memerlukan data pelatihan spesifik Anda sendiri, Anda dapat menggunakan penyesuaian model.
Setelah Anda menyesuaikan model embedding dasar, model tersebut harus siap untuk kasus penggunaan Anda.
Penyesuaian didukung untuk
model embedding teks
versi stabil.
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. Model penyematan teks tidak mendukung penyesuaian menggunakan Reinforcement learning from human feedback (RLHF).
Untuk mempelajari penyesuaian model lebih lanjut, lihat Cara kerja penyesuaian model.
Peningkatan kualitas yang diharapkan
Vertex AI menggunakan metode penyesuaian parameter yang efisien untuk penyesuaian. Metodologi ini menunjukkan peningkatan kualitas yang signifikan hingga 41% (rata-rata 12%) pada eksperimen yang dilakukan pada set data tolok ukur pengambilan publik.
Kasus penggunaan untuk menyesuaikan model embedding
Dengan menyesuaikan model embedding teks, model Anda dapat beradaptasi dengan embedding ke domain atau tugas tertentu. Hal ini dapat berguna jika model embedding terlatih tidak sesuai dengan kebutuhan spesifik Anda. Misalnya, Anda dapat menyesuaikan model embedding pada set data tertentu tiket dukungan pelanggan untuk perusahaan Anda. Hal ini dapat membantu chatbot memahami berbagai jenis masalah dukungan pelanggan yang biasanya dialami pelanggan Anda, dan dapat menjawab pertanyaan mereka dengan lebih efektif. Tanpa penyesuaian, model tidak akan mengetahui spesifikasi tiket dukungan pelanggan atau solusi untuk masalah spesifik untuk produk Anda.
Alur kerja penyesuaian
Alur kerja penyesuaian model di Vertex AI untuk textembedding-gecko
dan
textembedding-gecko-multilingual
adalah sebagai berikut:
- Siapkan set data penyesuaian model Anda.
- Upload set data penyesuaian model ke bucket Cloud Storage.
- Mengonfigurasi project Anda untuk Vertex AI Pipelines.
- Buat tugas penyesuaian model.
- Deploy model yang disesuaikan ke endpoint Vertex AI dengan nama yang sama. Tidak seperti tugas penyesuaian model teks atau Codey, tugas penyesuaian embedding teks tidak men-deploy model yang disesuaikan ke endpoint Vertex AI.
Menyiapkan set data embedding
Set data yang digunakan untuk menyesuaikan model embedding menyertakan data yang selaras dengan tugas yang Anda inginkan untuk dilakukan oleh model.
Format set data untuk menyesuaikan model embedding
Set data pelatihan terdiri dari file berikut, yang harus berada di Cloud Storage. Jalur file ditentukan oleh parameter saat meluncurkan pipeline penyesuaian. Tiga jenis file tersebut adalah file korpus, file kueri, dan label. Hanya melatih label yang diperlukan, tetapi Anda juga dapat memberikan label validasi dan pengujian untuk kontrol yang lebih besar.
File korpus: Jalur ditentukan oleh parameter
corpus_path
. Ini adalah file JSONL yang setiap barisnya memiliki kolom_id
,title
, dantext
dengan nilai string._id
dantext
wajib ada, sedangkantitle
bersifat opsional. Berikut adalah contoh filecorpus.jsonl
:{"_id": "doc1", "title": "Get an introduction to generative AI on Vertex AI", "text": "Vertex AI's Generative AI Studio offers a Google Cloud console tool for rapidly prototyping and testing generative AI models. Learn how you can use Generative 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."}
File kueri: File kueri berisi contoh kueri Anda. Jalur ditentukan oleh parameter
queries_path
. File kueri menggunakan format JSONL dan memiliki kolom yang sama dengan file korpus. Berikut adalah contoh filequeries.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"}
Label pelatihan: Jalur ditentukan oleh parameter
train_label_path
. Train_label_path adalah Cloud Storage URI ke lokasi data label pelatihan dan ditentukan saat Anda membuat tugas penyesuaian. Label harus berupa file TSV dengan header. Subset kueri dan korpus perlu disertakan dalam file label pelatihan Anda. File tersebut harus memiliki kolomquery-id
,corpus-id
, danscore
.query-id
adalah string yang cocok dengan kunci_id
dari file kueri,corpus-id
adalah string yang cocok dengan_id
di file korpus.Score
adalah nilai bilangan bulat non-negatif. Setiap skor yang lebih besar dari nol menunjukkan bahwa dokumen tersebut terkait dengan kueri. Angka yang lebih besar menunjukkan tingkat relevansi yang lebih besar. Jika skor dihilangkan, nilai defaultnya adalah 1. Berikut adalah contoh filetrain_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
Label pengujian: Opsional. Label pengujian memiliki format yang sama dengan label pelatihan dan ditentukan oleh parameter
test_label_path
. Jikatest_label_path
tidak diberikan, label pengujian akan dipisahkan secara otomatis dari label pelatihan.Label validasi: Opsional. Label validasi memiliki format yang sama dengan label pelatihan dan ditentukan oleh parameter
validation_label_path
. Jikavalidation_label_path
tidak disediakan, label validasi akan dipisahkan secara otomatis dari label pelatihan.
Persyaratan ukuran set data
File set data yang disediakan harus memenuhi batasan berikut:
Jumlah kueri harus antara 9 dan 40.000.
Jumlah dokumen dalam korpus harus antara 9 dan 500.000.
Setiap file label set data harus menyertakan minimal 3 ID kueri, dan di semua bagian set data, setidaknya harus ada 9 ID kueri.
Jumlah total label harus kurang dari 500.000.
Mengonfigurasi project Anda untuk Vertex AI Pipelines
Penyesuaian dijalankan dalam project Anda menggunakan platform Vertex AI Pipelines.
Mengonfigurasi izin
Pipeline mengeksekusi kode pelatihan dalam dua akun layanan yang dikelola Google. Akun ini harus dikonfigurasi dengan izin tertentu.
Akun layanan default Compute Engine
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Akun layanan ini memerlukan:
Akses
Storage Object Viewer
ke setiap file set data yang Anda buat di Cloud Storage.Akses
Storage Object User
ke direktori Cloud Storage output dari pipeline Anda, PIPELINE_OUTPUT_DIRECTORY.Akses
Vertex AI User
ke project Anda.
Anda dapat menentukan akun layanan kustom, bukan akun layanan default Compute Engine. Untuk informasi selengkapnya, lihat Mengonfigurasi akun layanan dengan izin terperinci.
Agen Layanan Vertex AI
service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
Akun layanan ini memerlukan:
Akses
Storage Object Viewer
ke setiap file set data yang Anda buat di Cloud Storage.Akses
Storage Object User
ke direktori Cloud Storage output dari pipeline Anda, PIPELINE_OUTPUT_DIRECTORY.
Untuk informasi selengkapnya tentang mengonfigurasi izin set data Cloud Storage, lihat Mengonfigurasi bucket Cloud Storage untuk artefak pipeline.
Menggunakan Akselerator
Salah satu akselerator berikut dapat digunakan untuk tuning:
NVIDIA_L4
NVIDIA_TESLA_A100
NVIDIA_TESLA_T4
NVIDIA_TESLA_V100
NVIDIA_TESLA_P100
Meluncurkan tugas tuning memerlukan kuota Restricted image training GPUs
yang memadai untuk jenis akselerator dan region yang Anda pilih, misalnya Restricted image training Nvidia V100 GPUs per region
. Untuk menambah kuota project Anda, lihat meminta kuota tambahan.
Tidak semua akselerator tersedia di semua wilayah. Lihat Menggunakan akselerator di Vertex AI untuk mengetahui informasi selengkapnya.
Membuat tugas penyesuaian model embedding
Anda dapat membuat tugas penyesuaian model embedding menggunakan Konsol Google Cloud atau REST API.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
DISPLAY_NAME
: Nama tampilan untuk pipelineJob.PIPELINE_OUTPUT_DIRECTORY
: Jalur untuk artefak output pipeline, dimulai dengan "gs://".PROJECT_ID
: ID project Google Cloud Anda.LOCATION
: Region project Google Cloud untuk menjalankan pipeline. Penyesuaian didukung di region mana pun tempat project Anda memiliki kuota GPU yang memadai. Lihat Menggunakan akselerator untuk informasi selengkapnya. Karena penayangan resource mungkin dibatasi di wilayah lain, sebaiknya gunakanus-central1
.QUERIES_PATH
: URI bucket Cloud Storage yang menyimpan data kueri, dimulai dengan "gs://".CORPUS_PATH
: URI Cloud Storage untuk data korpus, dimulai dengan "gs://".TRAIN_LABEL_PATH
: URI Cloud Storage lokasi data label kereta, dimulai dengan "gs://".TEST_LABEL_PATH
: Opsional. URI Cloud Storage lokasi data label pengujian, dimulai dengan "gs://". Meneruskan string kosong akan mengarahkan pipeline untuk otomatis membagi set data pengujian dari set data pelatihan.VALIDATION_LABEL_PATH
: Opsional. URI Cloud Storage lokasi data label validasi, dimulai dengan "gs://". Meneruskan string kosong akan mengarahkan pipeline untuk otomatis membagi set data validasi dari set data pelatihan.ACCELERATOR_TYPE
: Opsional. Jenis akselerator yang akan digunakan untuk pelatihan. Nilai defaultnya adalahNVIDIA_TESLA_V100
. Untuk mengetahui nilai yang memungkinkan, lihat Menggunakan akselerator.ACCELERATOR_COUNT
: Opsional. Jumlah akselerator yang digunakan saat pelatihan. Penggunaan akselerator dalam jumlah yang lebih besar dapat mempercepat pelatihan, tetapi tidak memengaruhi kualitas. Default-nya adalah 4.MACHINE_TYPE
: Opsional. Jenis mesin yang akan digunakan untuk pelatihan. Nilai defaultnya adalahn1-standard-16
. Untuk mengetahui informasi tentang pemilihan jenis mesin yang sesuai dengan jenis dan jumlah akselerator yang Anda pilih, lihat Platform GPU.BASE_MODEL_VERSION_ID
: Opsional. Gunakan ini untuk menentukan model embedding teks yang akan disesuaikan. Nilai defaultnya adalahtextembedding-gecko@001
. Untuk mengetahui kemungkinan nilai, lihat versi stabil.MODEL_DISPLAY_NAME
: Opsional. Nama tampilan untuk model yang di-tuning saat muncul di Model Registry. Default-nya adalah "tuned-text-embedding-model".TASK_TYPE
: Opsional. Menyetel parameter ini akan mengoptimalkan model yang telah disesuaikan untuk tugas downstream tertentu. Nilai defaultnya adalahDEFAULT
. Untuk mengetahui informasi selengkapnya, baca artikel Mendapatkan embedding teks.BATCH_SIZE
: Opsional. Ukuran batch pelatihan. Default-nya adalah 128.ITERATIONS
: Opsional. Jumlah langkah untuk melakukan penyesuaian model. Defaultnya adalah 1000, dan harus lebih besar dari 30.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs
Meminta isi JSON:
{ "displayName": "DISPLAY_NAME", "runtimeConfig": { "gcsOutputDirectory": "PIPELINE_OUTPUT_DIRECTORY", "parameterValues": { "project": "PROJECT_ID", "location": "LOCATION", "queries_path": "QUERIES_PATH", "corpus_path": "CORPUS_PATH", "train_label_path": "TRAIN_LABEL_PATH", "test_label_path": "TEST_LABEL_PATH", "validation_label_path": "VALIDATION_LABEL_PATH", "accelerator_type": "ACCELERATOR_TYPE", "accelerator_count": "ACCELERATOR_COUNT", "machine_type": "MACHINE_TYPE", "base_model_version_id": "BASE_MODEL_VERSION_ID", "model_display_name": "MODEL_DISPLAY_NAME", "task_type": "TASK_TYPE", "batch_size": "BATCH_SIZE", "iterations": "ITERATIONS" } }, "templateUri": "https://us-kfp.pkg.dev/ml-pipeline/llm-text-embedding/tune-text-embedding-model/v1.1.2" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
Setelah meluncurkan pipeline, ikuti progres tugas penyesuaian Anda melalui konsol Google Cloud.
Java
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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
package aiplatform; // [START aiplatform_sdk_embedding_tuning] import com.google.cloud.aiplatform.v1beta1.CreatePipelineJobRequest; import com.google.cloud.aiplatform.v1beta1.LocationName; import com.google.cloud.aiplatform.v1beta1.PipelineJob; import com.google.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig; import com.google.cloud.aiplatform.v1beta1.PipelineServiceClient; import com.google.cloud.aiplatform.v1beta1.PipelineServiceSettings; import com.google.protobuf.Value; import java.io.IOException; import java.util.HashMap; import java.util.Map; public class CreatePipelineJobEmbeddingModelTuningSample { public static void main(String[] args) throws IOException { // TODO(developer): Replace these variables before running the sample. String project = "PROJECT"; String baseModelVersionId = "BASE_MODEL_VERSION_ID"; String taskType = "TASK_TYPE"; String location = "us-central1"; String pipelineJobDisplayName = "PIPELINE_JOB_DISPLAY_NAME"; String modelDisplayName = "MODEL_DISPLAY_NAME"; String outputDir = "OUTPUT_DIR"; String queriesPath = "DATASET_URI"; String corpusPath = "DATASET_URI"; String trainLabelPath = "DATASET_URI"; String testLabelPath = "DATASET_URI"; int batchSize = 50; int iterations = 300; createPipelineJobEmbeddingModelTuningSample( project, baseModelVersionId, taskType, location, pipelineJobDisplayName, modelDisplayName, outputDir, queriesPath, corpusPath, trainLabelPath, testLabelPath, batchSize, iterations); } // Create a model tuning job public static void createPipelineJobEmbeddingModelTuningSample( String project, String baseModelVersionId, String taskType, String location, String pipelineJobDisplayName, String modelDisplayName, String outputDir, String queriesPath, String corpusPath, String trainLabelPath, String testLabelPath, int batchSize, int iterations) throws IOException { final String endpoint = String.format("%s-aiplatform.googleapis.com:443", location); PipelineServiceSettings pipelineServiceSettings = PipelineServiceSettings.newBuilder().setEndpoint(endpoint).build(); // Initialize client that will be used to send requests. This client only needs to be created // once, and can be reused for multiple requests. try (PipelineServiceClient client = PipelineServiceClient.create(pipelineServiceSettings)) { Map<String, Value> parameterValues = new HashMap<>(); parameterValues.put("project", stringToValue(project)); parameterValues.put("base_model_version_id", stringToValue(baseModelVersionId)); parameterValues.put("task_type", stringToValue(taskType)); parameterValues.put( "location", stringToValue( "us-central1")); // Deployment is only supported in us-central1. parameterValues.put("queries_path", stringToValue(queriesPath)); parameterValues.put("corpus_path", stringToValue(corpusPath)); parameterValues.put("train_label_path", stringToValue(trainLabelPath)); parameterValues.put("test_label_path", stringToValue(testLabelPath)); parameterValues.put("batch_size", numberToValue(batchSize)); parameterValues.put("iterations", numberToValue(iterations)); RuntimeConfig runtimeConfig = RuntimeConfig.newBuilder() .setGcsOutputDirectory(outputDir) .putAllParameterValues(parameterValues) .build(); PipelineJob pipelineJob = PipelineJob.newBuilder() .setTemplateUri( "https://us-kfp.pkg.dev/ml-pipeline/llm-text-embedding/tune-text-embedding-model/v1.1.2") .setDisplayName(pipelineJobDisplayName) .setRuntimeConfig(runtimeConfig) .build(); LocationName parent = LocationName.of(project, location); CreatePipelineJobRequest request = CreatePipelineJobRequest.newBuilder() .setParent(parent.toString()) .setPipelineJob(pipelineJob) .build(); PipelineJob response = client.createPipelineJob(request); System.out.format("response: %s\n", response); System.out.format("Name: %s\n", response.getName()); } } static Value stringToValue(String str) { return Value.newBuilder().setStringValue(str).build(); } static Value numberToValue(int n) { return Value.newBuilder().setNumberValue(n).build(); } } // [END aiplatform_sdk_embedding_tuning]
Konsol
Untuk menyesuaikan model penyematan teks menggunakan Konsol Google Cloud, Anda dapat meluncurkan pipeline penyesuaian menggunakan langkah-langkah berikut:
- Di bagian Vertex AI pada Konsol Google Cloud, buka halaman Vertex AI Pipelines.
- Klik Create run untuk membuka panel Create pipeline run.
- Klik Select from existing pipelines lalu masukkan detail berikut:
- Pilih "ml-pipeline" dari menu drop-down pilih resource.
- Pilih "llm-text-embedding" dari drop-down Repository.
- Pilih "tune-text-embedding-model" dari drop-down Pipeline atau komponen.
- Pilih versi berlabel "v1.1.2" dari drop-down Versi.
- Tentukan Run name untuk mengidentifikasi operasi pipeline secara unik.
- Di menu drop-down Region, pilih region untuk membuat proses pipeline. Saat ini, hanya us-central1 yang didukung.
- Klik Lanjutkan. Panel Konfigurasi runtime akan muncul.
- Di bagian Cloud storage location, klik Browse untuk memilih bucket Cloud Storage guna menyimpan artefak output pipeline, lalu klik Select.
- Di bagian Parameter pipeline, tentukan parameter untuk pipeline penyesuaian. Lihat dokumentasi REST untuk mengetahui arti parameter.
- Klik Submit untuk membuat operasi pipeline.
Contoh perintah curl
PROJECT_ID=PROJECT_ID
LOCATION=LOCATION
BASE_MODEL_VERSION_ID=BASE_MODEL_VERSION_ID
PIPELINE_OUTPUT_DIRECTORY=PIPELINE_OUTPUT_DIRECTORY
QUERIES_PATH=QUERIES_PATH
CORPUS_PATH=CORPUS_PATH
TRAIN_LABEL_PATH=TRAIN_LABEL_PATH
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/pipelineJobs?pipelineJobId=tune-text-embedding-$(date +%Y%m%d%H%M%S)" \
-d '{
"displayName": "tune-text-embedding-model",
"runtimeConfig": {
"gcsOutputDirectory": "'${PIPELINE_OUTPUT_DIRECTORY}'",
"parameterValues": {
"project": "'${PROJECT_ID}'",
"base_model_version_id": "'${BASE_MODEL_VERSION_ID}'",
"location": "'${LOCATION}'",
"queries_path": "'${QUERIES_PATH}'",
"corpus_path": "'${CORPUS_PATH}'",
"train_label_path": "'${TRAIN_LABEL_PATH}'"
}
},
"templateUri": "https://us-kfp.pkg.dev/ml-pipeline/llm-text-embedding/tune-text-embedding-model/v1.1.2"
}'
Menggunakan model yang telah disesuaikan
Melihat model yang disesuaikan di Model Registry
Setelah tugas penyesuaian selesai, model yang telah disesuaikan tidak otomatis di-deploy ke endpoint. Ini akan tersedia sebagai resource Model di Registry Model. 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.
Deploy model Anda
Setelah menyesuaikan model embedding, Anda perlu men-deploy resource Model. Untuk men-deploy model embedding yang disesuaikan, lihat Men-deploy model ke endpoint.
Tidak seperti model dasar, model embedding teks yang disesuaikan dikelola oleh pengguna.
Hal ini termasuk mengelola resource aktif, seperti jenis mesin dan akselerator.
Untuk mencegah error kehabisan memori selama prediksi, sebaiknya deploy
menggunakan jenis GPU NVIDIA_TESLA_A100
, yang dapat mendukung ukuran batch hingga 5
untuk panjang input apa pun.
Mirip dengan model dasar textembedding-gecko
, model yang disesuaikan mendukung
hingga 3.072 token dan dapat memotong input yang lebih panjang.
Mendapatkan prediksi tentang model yang di-deploy
Setelah model yang telah disesuaikan di-deploy, Anda dapat menggunakan salah satu perintah berikut untuk mengeluarkan permintaan ke endpoint model yang telah disesuaikan.
Contoh perintah curl untuk model textembedding-gecko@001
yang disesuaikan
Untuk mendapatkan prediksi dari versi textembedding-gecko@001
yang telah disesuaikan, gunakan contoh perintah curl di bawah.
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"
}
]
}'
Contoh perintah curl untuk model non textembedding-gecko@001
Versi model lain yang telah disesuaikan (misalnya, textembedding-gecko@003
dan textembedding-gecko-multilingual@001
) memerlukan 2 input tambahan: task_type
dan title
.
Dokumentasi selengkapnya untuk parameter ini dapat ditemukan di 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"
}
]
}'
Contoh output
Output ini berlaku untuk model textembedding-gecko
dan textembedding-gecko-multilingual
, apa pun versinya.
{
"predictions": [
[ ... ],
[ ... ],
...
],
"deployedModelId": "...",
"model": "projects/.../locations/.../models/...",
"modelDisplayName": "tuned-text-embedding-model",
"modelVersionId": "1"
}
Langkah selanjutnya
- Pelajari cara menyesuaikan model dasar.
- Pelajari praktik terbaik responsible AI dan filter keamanan Vertex AI.