Dokumen ini menjelaskan cara membuat embedding teks menggunakan Vertex AI Text embeddings API.
Vertex AI text embeddings API menggunakan representasi vektor padat: gemini-embedding-001, misalnya, menggunakan vektor 3072 dimensi. Model penyematan vektor padat menggunakan metode deep learning yang serupa dengan yang digunakan oleh model bahasa besar. Tidak seperti vektor renggang, yang cenderung memetakan kata secara langsung ke angka, vektor padat dirancang untuk merepresentasikan makna sebuah teks dengan lebih baik. Manfaat menggunakan embedding vektor padat dalam AI generatif adalah bahwa alih-alih menelusuri kecocokan kata atau sintaksis langsung, Anda dapat menelusuri bagian yang sesuai dengan arti kueri dengan lebih baik, meskipun bagian tersebut tidak menggunakan bahasa yang sama.
Vektor dinormalisasi, sehingga Anda dapat menggunakan kesamaan kosinus, perkalian titik, atau jarak Euclidean untuk memberikan peringkat kesamaan yang sama.
- Untuk mempelajari embedding lebih lanjut, lihat ringkasan API embedding.
- Untuk mempelajari model embedding teks, lihat Embedding teks.
- Untuk mengetahui informasi tentang bahasa yang didukung setiap model embedding, lihat Bahasa teks yang didukung.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Pilih jenis tugas untuk tugas penyematan Anda.
- Untuk mempelajari lebih lanjut pembatasan kapasitas, lihat Pembatasan kapasitas AI Generatif di Vertex AI.
- Untuk mendapatkan prediksi batch untuk embedding, lihat Mendapatkan prediksi embedding teks batch
- Untuk mempelajari embedding multimodal lebih lanjut, lihat Mendapatkan embedding multimodal
- Untuk menyesuaikan embedding, lihat Menyesuaikan embedding teks
- Untuk mempelajari lebih lanjut riset di balik
text-embedding-005
dantext-multilingual-embedding-002
, lihat makalah riset Gecko: Versatile Text Embeddings Distilled from Large Language Models.
Model yang didukung
Model Google
Anda bisa mendapatkan embedding teks dengan menggunakan model berikut:
Nama model | Deskripsi | Dimensi Output | Panjang urutan maksimum | Bahasa teks yang didukung |
---|---|---|---|---|
gemini-embedding-001 |
Performa canggih untuk tugas bahasa Inggris, multibahasa, dan kode. Model ini menyatukan model khusus yang sebelumnya seperti text-embedding-005 dan text-multilingual-embedding-002 serta mencapai performa yang lebih baik di masing-masing domainnya. Baca Laporan Teknologi kami untuk mengetahui detail selengkapnya. |
hingga 3072 | 2048 token | Bahasa teks yang didukung |
text-embedding-005 |
Khusus dalam tugas bahasa Inggris dan kode. | hingga 768 | 2048 token | Inggris |
text-multilingual-embedding-002 |
Terspesialisasi dalam tugas multibahasa. | hingga 768 | 2048 token | Bahasa teks yang didukung |
Untuk kualitas embedding yang lebih baik, gemini-embedding-001
adalah model besar kami yang dirancang untuk memberikan performa tertinggi.
Model open source
Anda bisa mendapatkan embedding teks dengan menggunakan model berikut:
Nama model | Deskripsi | Dimensi output | Panjang urutan maksimum | Bahasa teks yang didukung |
---|---|---|---|---|
multilingual-e5-small |
Bagian dari rangkaian model embedding teks E5. Varian kecil berisi 12 lapisan. | Hingga 384 | 512 token | Bahasa yang didukung |
multilingual-e5-large |
Bagian dari rangkaian model embedding teks E5. Varian Large berisi 24 lapisan. | Hingga 1.024 | 512 token | Bahasa yang didukung |
Untuk memulai, lihat kartu model keluarga E5. Untuk mengetahui informasi selengkapnya tentang model terbuka, lihat Model terbuka untuk MaaS
Mendapatkan embedding teks untuk cuplikan teks
Anda bisa mendapatkan embedding teks untuk cuplikan teks dengan menggunakan Vertex AI API atau Vertex AI SDK untuk Python.
Batas API
Untuk setiap permintaan, Anda dibatasi hingga 250 teks input. API memiliki batas token input maksimum 20.000. Input yang melebihi batas ini akan menghasilkan error 400. Setiap
teks input individu dibatasi lebih lanjut hingga 2.048 token; kelebihannya akan
dipangkas tanpa pemberitahuan. Anda juga dapat menonaktifkan pemotongan senyap dengan menyetel autoTruncate
ke
false
.
Untuk mengetahui informasi selengkapnya, lihat Batas embedding teks.
Pilih dimensi penyematan
Semua model menghasilkan vektor embedding panjang penuh secara default. Untuk
gemini-embedding-001
, vektor ini memiliki 3.072 dimensi, dan model
lainnya menghasilkan vektor 768 dimensi. Namun, dengan menggunakan parameter
output_dimensionality
, pengguna dapat mengontrol ukuran vektor sematan
output. Memilih dimensi output yang lebih kecil dapat menghemat ruang penyimpanan dan meningkatkan efisiensi komputasi untuk aplikasi hilir, sekaligus tidak banyak mengorbankan kualitas.
Contoh berikut menggunakan model gemini-embedding-001
.
Python
Instal
pip install --upgrade google-genai
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Go
Pelajari cara menginstal atau mengupdate Go.
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Menambahkan embedding ke database vektor
Setelah membuat embedding, Anda dapat menambahkan embedding ke database vektor, seperti Vector Search. Hal ini memungkinkan pengambilan dengan latensi rendah, dan sangat penting seiring bertambahnya ukuran data Anda.
Untuk mempelajari Vector Search lebih lanjut, lihat Ringkasan Vector Search.