Saat memilih penyedia embeddings, ada beberapa faktor yang dapat Anda pertimbangkan tergantung pada kebutuhan dan preferensi Anda:
Anthropic tidak menawarkan model embedding sendiri. Salah satu penyedia embeddings yang memiliki berbagai macam opsi dan kemampuan yang mencakup semua pertimbangan di atas adalah Voyage AI.
Voyage AI membuat model embedding mutakhir dan menawarkan model yang disesuaikan untuk domain industri tertentu seperti keuangan dan kesehatan, atau model yang di-fine-tune secara khusus untuk pelanggan individual.
Sisa panduan ini ditujukan untuk Voyage AI, tetapi Anda sebaiknya mengevaluasi berbagai vendor embeddings untuk menemukan yang paling sesuai dengan kasus penggunaan spesifik Anda.
Voyage merekomendasikan penggunaan model text embedding berikut:
Voyage 4 (generasi terbaru)
| Model | Panjang Konteks | Dimensi Embedding | Deskripsi |
|---|---|---|---|
voyage-4-large | 32.000 | 1024 (default), 256, 512, 2048 | Kualitas retrieval serbaguna dan multibahasa terbaik. Lihat postingan blog untuk detailnya. |
voyage-4 | 32.000 | 1024 (default), 256, 512, 2048 | Dioptimalkan untuk kualitas retrieval serbaguna dan multibahasa. Menyeimbangkan kualitas dan efisiensi. Lihat postingan blog untuk detailnya. |
voyage-4-lite | 32.000 | 1024 (default), 256, 512, 2048 | Dioptimalkan untuk latensi dan biaya. Lihat postingan blog untuk detailnya. |
voyage-4-nano | 32.000 | 1024 (default), 256, 512, 2048 | Model open-weight (lisensi Apache 2.0) tersedia di Hugging Face. Lihat postingan blog untuk detailnya. |
Generasi sebelumnya
| Model | Panjang Konteks | Dimensi Embedding | Deskripsi |
|---|---|---|---|
voyage-3-large | 32.000 | 1024 (default), 256, 512, 2048 | Kualitas retrieval serbaguna dan multibahasa terbaik. Lihat postingan blog untuk detailnya. |
voyage-3.5 | 32.000 | 1024 (default), 256, 512, 2048 | Dioptimalkan untuk kualitas retrieval serbaguna dan multibahasa. Lihat postingan blog untuk detailnya. |
voyage-3.5-lite | 32.000 | 1024 (default), 256, 512, 2048 | Dioptimalkan untuk latensi dan biaya. Lihat postingan blog untuk detailnya. |
voyage-code-3 | 32.000 | 1024 (default), 256, 512, 2048 | Dioptimalkan untuk retrieval kode. Lihat postingan blog untuk detailnya. |
voyage-finance-2 | 32.000 | 1024 | Dioptimalkan untuk retrieval dan RAG keuangan. Lihat postingan blog untuk detailnya. |
voyage-law-2 | 16.000 | 1024 | Dioptimalkan untuk retrieval dan RAG hukum dan konteks panjang. Juga meningkatkan performa di semua domain. Lihat postingan blog untuk detailnya. |
Selain itu, model embedding multimodal berikut direkomendasikan:
| Model | Panjang Konteks | Dimensi Embedding | Deskripsi |
|---|---|---|---|
voyage-multimodal-3.5 | 32.000 | 1024 (default), 256, 512, 2048 | Model embedding multimodal yang kaya yang dapat memvektorisasi teks, gambar, dan video yang disisipkan. Mencakup dukungan video sebagai model embedding video tingkat produksi pertama. Lihat postingan blog untuk detailnya. |
voyage-multimodal-3 | 32.000 | 1024 | Model embedding multimodal yang kaya yang dapat memvektorisasi teks dan gambar kaya konten yang disisipkan, seperti tangkapan layar PDF, slide, tabel, gambar, dan lainnya. Lihat postingan blog untuk detailnya. |
Butuh bantuan memutuskan model text embedding mana yang akan digunakan? Lihat FAQ.
Untuk mengakses embeddings Voyage:
export VOYAGE_API_KEY="<your secret key>"Anda dapat memperoleh embeddings dengan menggunakan package Python voyageai resmi atau permintaan HTTP, seperti yang dijelaskan di bawah ini.
Package voyageai dapat diinstal menggunakan perintah berikut:
pip install -U voyageaiKemudian, Anda dapat membuat objek client dan mulai menggunakannya untuk meng-embed teks Anda:
import voyageai
vo = voyageai.Client()
# Ini akan secara otomatis menggunakan variabel lingkungan VOYAGE_API_KEY.
# Alternatifnya, Anda dapat menggunakan vo = voyageai.Client(api_key="<kunci rahasia Anda>")
texts = ["Sample text 1", "Sample text 2"]
result = vo.embed(texts, model="voyage-4", input_type="document")
print(result.embeddings[0])
print(result.embeddings[1])result.embeddings akan berupa daftar dua vektor embedding, masing-masing berisi 1024 angka floating-point. Setelah menjalankan kode di atas, kedua embeddings akan dicetak di layar:
[-0.013131560757756233, 0.019828535616397858, ...] # embedding for "Sample text 1"
[-0.0069352793507277966, 0.020878976210951805, ...] # embedding for "Sample text 2"Saat membuat embeddings, Anda dapat menentukan beberapa argumen lain ke fungsi embed().
Untuk informasi lebih lanjut tentang package Python Voyage, lihat dokumentasi Voyage.
Anda juga dapat memperoleh embeddings dengan mengirim permintaan ke Voyage HTTP API. Misalnya, Anda dapat mengirim permintaan HTTP melalui perintah curl di terminal:
curl https://api.voyageai.com/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $VOYAGE_API_KEY" \
-d '{
"input": ["Sample text 1", "Sample text 2"],
"model": "voyage-4"
}'Respons yang akan Anda dapatkan adalah objek JSON yang berisi embeddings dan penggunaan token:
{
"object": "list",
"data": [
{
"embedding": [-0.013131560757756233, 0.019828535616397858 /* ... */],
"index": 0
},
{
"embedding": [-0.0069352793507277966, 0.020878976210951805 /* ... */],
"index": 1
}
],
"model": "voyage-4",
"usage": {
"total_tokens": 10
}
}Untuk informasi lebih lanjut tentang Voyage HTTP API, lihat dokumentasi Voyage.
Embeddings Voyage tersedia di AWS Marketplace. Instruksi untuk mengakses Voyage di AWS tersedia di dokumentasi Voyage AWS Marketplace.
Contoh singkat berikut menunjukkan cara menggunakan embeddings.
Misalkan Anda memiliki korpus kecil berisi enam dokumen untuk diambil
documents = [
"The Mediterranean diet emphasizes fish, olive oil, and vegetables, believed to reduce chronic diseases.",
"Photosynthesis in plants converts light energy into glucose and produces essential oxygen.",
"20th-century innovations, from radios to smartphones, centered on electronic advancements.",
"Rivers provide water, irrigation, and habitat for aquatic species, vital for ecosystems.",
"Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.",
"Shakespeare's works, like 'Hamlet' and 'A Midsummer Night's Dream,' endure in literature.",
]Pertama, gunakan Voyage untuk mengonversi setiap dokumen menjadi vektor embedding
import voyageai
vo = voyageai.Client()
# Lakukan embedding pada dokumen
doc_embds = vo.embed(documents, model="voyage-4", input_type="document").embeddingsEmbeddings memungkinkan Anda melakukan pencarian / retrieval semantik di ruang vektor. Diberikan contoh kueri,
query = "When is Apple's conference call scheduled?"Selanjutnya, konversikan menjadi embedding dan lakukan pencarian nearest neighbor untuk menemukan dokumen yang paling relevan berdasarkan jarak di ruang embedding.
import numpy as np
# Lakukan embedding pada kueri
query_embd = vo.embed([query], model="voyage-4", input_type="query").embeddings[0]
# Hitung kemiripannya
# Embedding Voyage dinormalisasi ke panjang 1, sehingga dot-product
# dan cosine similarity bernilai sama.
similarities = np.dot(doc_embds, query_embd)
retrieved_id = np.argmax(similarities)
print(documents[retrieved_id])Perhatikan bahwa input_type="document" dan input_type="query" digunakan untuk meng-embed dokumen dan kueri, secara berurutan. Spesifikasi lebih lanjut dapat ditemukan di Library Python Voyage.
Output-nya akan berupa dokumen ke-5, yang memang paling relevan dengan kueri:
Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.Jika Anda mencari kumpulan cookbook terperinci tentang cara melakukan RAG dengan embeddings, termasuk database vektor, lihat cookbook RAG.
Kunjungi halaman harga Voyage untuk detail harga terbaru.
Was this page helpful?