Text embeddings API mengonversi data tekstual menjadi vektor numerik. Representasi vektor ini dirancang untuk menangkap makna semantik dan konteks kata-kata yang direpresentasikannya.
Model yang Didukung:
Model bahasa Inggris | Model multibahasa |
---|---|
textembedding-gecko@001 |
textembedding-gecko-multilingual@001 |
textembedding-gecko@003 |
text-multilingual-embedding-002 |
text-embedding-004 |
|
text-embedding-preview-0815 |
Sintaks
curl
PROJECT_ID = PROJECT_ID REGION = us-central1 MODEL_ID = MODEL_ID curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/publishers/google/models/${MODEL_ID}:predict -d \ '{ "instances": [ ... ], "parameters": { ... } }'
Python
PROJECT_ID = PROJECT_ID REGION = us-central1 MODEL_ID = MODEL_ID import vertexai from vertexai.language_models import TextEmbeddingModel vertexai.init(project=PROJECT_ID, location=REGION) model = TextEmbeddingModel.from_pretrained(MODEL_ID) embeddings = model.get_embeddings(...)
Daftar parameter
Parameter | |
---|---|
|
Setiap instance mewakili satu bagian teks yang akan disematkan. |
|
Teks yang ingin Anda buatkan embedding-nya. |
|
Opsional: Jika disetel ke benar (true), teks input akan dipotong. Jika disetel ke salah (false), error akan ditampilkan jika teks input lebih panjang dari panjang maksimum yang didukung model. Nilai defaultnya adalah true (benar). |
|
Opsional: Digunakan untuk menentukan ukuran embedding output. Jika disetel, embedding output akan dipotong sesuai ukuran yang ditentukan. |
Isi permintaan
{
"instances": [
{
"task_type": "RETRIEVAL_DOCUMENT",
"title": "document title",
"content": "I would like embeddings for this text!"
},
]
}
Parameter | |
---|---|
|
Teks yang ingin Anda buatkan embedding-nya. |
|
Opsional: Digunakan untuk menyampaikan aplikasi downstream yang dimaksudkan untuk membantu model menghasilkan embedding yang lebih baik. Jika dibiarkan kosong, default yang digunakan adalah
Parameter Untuk informasi selengkapnya tentang jenis tugas, lihat Memilih jenis tugas penyematan. |
|
Opsional: Digunakan untuk membantu model menghasilkan embedding yang lebih baik.
Hanya berlaku dengan |
taskType
Tabel berikut menjelaskan parameter value task_type
dan penggunaannya
kasus:
task_type |
Deskripsi |
---|---|
RETRIEVAL_QUERY |
Menentukan teks yang diberikan adalah kueri dalam setelan penelusuran atau pengambilan. |
RETRIEVAL_DOCUMENT |
Menentukan teks yang diberikan adalah dokumen dalam setelan penelusuran atau pengambilan. |
SEMANTIC_SIMILARITY |
Menentukan bahwa teks yang diberikan digunakan untuk Kemiripan Tekstual Semantik (STS). |
CLASSIFICATION |
Menentukan bahwa embedding tersebut digunakan untuk klasifikasi. |
CLUSTERING |
Menentukan bahwa embedding tersebut digunakan untuk pengelompokan. |
QUESTION_ANSWERING |
Menentukan bahwa penyematan kueri digunakan untuk menjawab pertanyaan. Gunakan RETRIEVAL_DOCUMENT untuk sisi dokumen. |
FACT_VERIFICATION |
Menentukan bahwa penyematan kueri digunakan untuk verifikasi fakta. |
CODE_RETRIEVAL_QUERY |
Menentukan bahwa penyematan kueri digunakan untuk pengambilan kode untuk Java dan Python. |
Tugas Pengambilan:
Kueri: Gunakan task_type=RETRIEVAL_QUERY
untuk menunjukkan bahwa teks input adalah kueri penelusuran.
Corpus: Gunakan task_type=RETRIEVAL_DOCUMENT
untuk menunjukkan bahwa teks input adalah bagian
dari koleksi dokumen yang ditelusuri.
Tugas Kesamaan:
Kemiripan semantik: Gunakan task_type= SEMANTIC_SIMILARITY
untuk kedua teks input yang akan dinilai
kesamaan maknanya secara keseluruhan.
Isi respons
{
"predictions": [
{
"embeddings": {
"statistics": {
"truncated": boolean,
"token_count": integer
},
"values": [ number ]
}
}
]
}
Elemen respons | Deskripsi |
---|---|
embeddings |
Hasil yang dihasilkan dari teks input. |
statistics |
Statistik yang dihitung dari teks input. |
truncated |
Menunjukkan apakah teks input melebihi token maksimum yang diizinkan dan terpotong. |
tokenCount |
Jumlah token teks input. |
values |
Kolom values berisi vektor embedding yang sesuai dengan kata-kata dalam teks input. |
Contoh respons
{
"predictions": [
{
"embeddings": {
"values": [
0.0058424929156899452,
0.011848051100969315,
0.032247550785541534,
-0.031829461455345154,
-0.055369812995195389,
...
],
"statistics": {
"token_count": 4,
"truncated": false
}
}
}
]
}
Contoh
Menyematkan string teks
Kasus penggunaan dasar
Contoh berikut menunjukkan cara mendapatkan penyematan string teks.
REST
Setelah Anda menyiapkan lingkungan Anda, Anda dapat menggunakan REST untuk menguji prompt teks. Contoh berikut mengirim permintaan ke penayang endpoint model Google Cloud.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- TEXT: Teks yang ingin Anda buatkan embedding-nya. Batas: lima teks hingga 2.048 token per teks untuk semua model kecuali
textembedding-gecko@001
. Panjang token input maksimum untuktextembedding-gecko@001
adalah 3072. - AUTO_TRUNCATE: Jika ditetapkan ke
false
, teks yang melebihi batas token akan menyebabkan permintaan gagal. Default nilainya adalahtrue
.
Metode HTTP dan URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-embedding-004:predict
Isi JSON permintaan:
{ "instances": [ { "content": "TEXT"} ], "parameters": { "autoTruncate": AUTO_TRUNCATE } }
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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-embedding-004:predict"
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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-embedding-004:predict" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini: Perhatikan bahwa values
telah dipotong untuk menghemat ruang penyimpanan.
- Gunakan
generateContent
untuk meminta agar respons ditampilkan setelah dibuat sepenuhnya. Untuk mengurangi persepsi latensi kepada audiens manusia, streaming respons secara langsung yang dibuat dengan menggunakanstreamGenerateContent
. - ID model multimodal terletak di akhir URL sebelum metode (misalnya,
gemini-1.5-flash
ataugemini-1.0-pro-vision
). Contoh ini juga dapat mendukung model lainnya.
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.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Go Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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.
Node.js
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Kasus Penggunaan Lanjutan
Contoh berikut menunjukkan beberapa fitur lanjutan
- Gunakan
task_type
dantitle
untuk meningkatkan kualitas penyematan. - Gunakan parameter untuk mengontrol perilaku API.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- TEXT: Teks yang ingin Anda hasilkan embeddings untuk mereka. Batas: lima teks hingga 3.072 token per teks.
- TASK_TYPE: Digunakan untuk menyampaikan downstream yang dimaksudkan aplikasi untuk membantu model menghasilkan embedding yang lebih baik.
- TITLE: Digunakan untuk membantu model menghasilkan embedding yang lebih baik.
- AUTO_TRUNCATE: Jika ditetapkan ke
false
, teks yang melebihi batas token akan menyebabkan permintaan gagal. Default nilainya adalahtrue
. - OUTPUT_DIMENSIONALITY: Digunakan untuk menentukan ukuran embedding output. Jika disetel, embedding output akan dipotong sesuai ukuran yang ditentukan.
Metode HTTP dan URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/textembedding-gecko@003:predict
Isi JSON permintaan:
{ "instances": [ { "content": "TEXT", "task_type": "TASK_TYPE", "title": "TITLE" }, ], "parameters": { "autoTruncate": AUTO_TRUNCATE, "outputDimensionality": OUTPUT_DIMENSIONALITY } }
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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/textembedding-gecko@003:predict"
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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/textembedding-gecko@003:predict" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini: Perhatikan bahwa values
telah dipotong untuk menghemat ruang penyimpanan.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk informasi selengkapnya, lihat Dokumentasi referensi Python API.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Go Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Bahasa teks yang didukung
Semua model penyematan teks mendukung dan telah dievaluasi untuk bahasa Inggris
teks. textembedding-gecko-multilingual@001
dan
model text-multilingual-embedding-002
juga mendukung dan telah
dievaluasi pada bahasa berikut:
- Bahasa yang dievaluasi:
Arabic (ar)
,Bengali (bn)
,English (en)
,Spanish (es)
,German (de)
,Persian (fa)
,Finnish (fi)
,French (fr)
,Hindi (hi)
,Indonesian (id)
,Japanese (ja)
,Korean (ko)
,Russian (ru)
,Swahili (sw)
,Telugu (te)
,Thai (th)
,Yoruba (yo)
,Chinese (zh)
- Bahasa yang didukung:
Afrikaans
,Albanian
,Amharic
,Arabic
,Armenian
,Azerbaijani
,Basque
,Belarusiasn
,Bengali
,Bulgarian
,Burmese
,Catalan
,Cebuano
,Chichewa
,Chinese
,Corsican
,Czech
,Danish
,Dutch
,English
,Esperanto
,Estonian
,Filipino
,Finnish
,French
,Galician
,Georgian
,German
,Greek
,Gujarati
,Haitian Creole
,Hausa
,Hawaiian
,Hebrew
,Hindi
,Hmong
,Hungarian
,Icelandic
,Igbo
,Indonesian
,Irish
,Italian
,Japanese
,Javanese
,Kannada
,Kazakh
,Khmer
,Korean
,Kurdish
,Kyrgyz
,Lao
,Latin
,Latvian
,Lithuanian
,Luxembourgish
,Macedonian
,Malagasy
,Malay
,Malayalam
,Maltese
,Maori
,Marathi
,Mongolian
,Nepali
,Norwegian
,Pashto
,Persian
,Polish
,Portuguese
,Punjabi
,Romanian
,Russian
,Samoan
,Scottish Gaelic
,Serbian
,Shona
,Sindhi
,Sinhala
,Slovak
,Slovenian
,Somali
,Sotho
,Spanish
,Sundanese
,Swahili
,Swedish
,Tajik
,Tamil
,Telugu
,Thai
,Turkish
,Ukrainian
,Urdu
,Uzbek
,Vietnamese
,Welsh
,West Frisian
,Xhosa
,Yiddish
,Yoruba
,Zulu
.
Versi model
Untuk menggunakan versi model stabil,
tentukan nomor versi model, misalnya text-embedding-004
.
Setiap versi stabil tersedia selama enam bulan setelah tanggal rilis
versi stabil berikutnya.
Tabel berikut berisi versi model stabil yang tersedia:
Nama model | Tanggal rilis | Tanggal penghentian |
---|---|---|
penyematan-teks-004 | 14 Mei 2024 | Akan ditentukan. |
text-multilingual-embedding-002 | 14 Mei 2024 | Akan ditentukan. |
{i>textembedding-gecko@003<i} | 12 Desember 2023 | 14 Mei 2025 |
teksembedding-gecko-multilingual@001 | 2 November 2023 | 14 Mei 2025 |
textembedding-gecko@002 (diundurkan, tetapi masih didukung) |
2 November 2023 | 12 Desember 2024 |
textembedding-gecko@001 (diundurkan, tetapi masih didukung) |
7 Juni 2023 | 2 November 2024 |
multimodalembedding@001 | 12 Februari 2024 | Belum ditentukan. |
Untuk mengetahui informasi selengkapnya, baca Versi dan siklus proses model.
Langkah selanjutnya
Untuk dokumentasi mendetail, lihat yang berikut: