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 yang canggih dan menawarkan model yang dikustomisasi untuk domain industri tertentu seperti keuangan dan kesehatan, atau model yang di-fine-tune secara khusus untuk pelanggan individual.
Sisa panduan ini adalah untuk Voyage AI, tetapi Anda sebaiknya menilai 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 di bidang keuangan. Lihat postingan blog untuk detailnya. |
voyage-law-2 | 16,000 | 1024 | Dioptimalkan untuk retrieval dan RAG di bidang hukum dan konteks panjang. Juga meningkatkan kinerja di semua domain. Lihat postingan blog untuk detailnya. |
Selain itu, model multimodal embedding berikut direkomendasikan:
| Model | Panjang konteks | Dimensi embedding | Deskripsi |
|---|---|---|---|
voyage-multimodal-3.5 | 32,000 | 1024 (default), 256, 512, 2048 | Model multimodal embedding yang kaya yang dapat memvektorisasi teks, gambar, dan video yang saling bersisipan. Termasuk dukungan video sebagai model video embedding kelas produksi pertama. Lihat postingan blog untuk detailnya. |
voyage-multimodal-3 | 32,000 | 1024 | Model multimodal embedding yang kaya yang dapat memvektorisasi teks yang saling bersisipan dan gambar yang kaya konten, seperti tangkapan layar PDF, slide, tabel, gambar, dan lainnya. Lihat postingan blog untuk detailnya. |
Model contextualized chunk embedding berikut menghasilkan vektor tingkat chunk yang menangkap konteks dokumen penuh tanpa augmentasi metadata manual. Panggil model ini dengan contextualized_embed() alih-alih embed():
| Model | Panjang konteks | Dimensi embedding | Deskripsi |
|---|---|---|---|
voyage-context-4 | 120,000 | 1024 (default), 256, 512, 2048 | Contextualized chunk embeddings yang dioptimalkan untuk kualitas retrieval serbaguna dan multibahasa. Lihat postingan blog untuk detailnya. |
voyage-context-3 | 120,000 | 1024 (default), 256, 512, 2048 | Contextualized chunk embeddings yang dioptimalkan untuk kualitas retrieval serbaguna dan multibahasa. Lihat postingan blog untuk detailnya. |
Voyage AI juga menawarkan rerankers, yang menerima sebuah query dan daftar dokumen lalu mengembalikannya dalam urutan peringkat berdasarkan relevansi terhadap query tersebut. Panggil model ini dengan rerank():
| Model | Panjang konteks | Deskripsi |
|---|---|---|
rerank-2.5 | 32,000 | Akurasi tertinggi. Direkomendasikan untuk sebagian besar aplikasi. Lihat postingan blog untuk detailnya. |
rerank-2.5-lite | 32,000 | Dioptimalkan untuk latensi dan biaya. Lihat postingan blog untuk detailnya. |
Butuh bantuan memutuskan model text embedding mana yang akan digunakan? Lihat FAQ.
Untuk mengakses Voyage embeddings:
export VOYAGE_API_KEY="<your secret key>"Anda dapat memperoleh embeddings dengan menggunakan paket Python voyageai resmi atau permintaan HTTP, seperti yang dijelaskan di bawah ini.
Paket 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.
# Sebagai alternatif, Anda dapat menggunakan vo = voyageai.Client(api_key="<your secret key>")
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 menjadi daftar dua vektor embedding, masing-masing berisi 1024 bilangan 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 paket Python Voyage, lihat dokumentasi paket Python Voyage.
Anda juga dapat memperoleh embeddings dengan mengirim permintaan ke API HTTP Voyage. 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 API HTTP Voyage, lihat dokumentasi API HTTP Voyage.
Voyage embeddings tersedia di AWS Marketplace. Petunjuk untuk mengakses Voyage di AWS tersedia di dokumentasi Voyage AWS Marketplace.
Contoh singkat berikut menunjukkan cara menggunakan embeddings.
Misalkan Anda memiliki corpus 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()
# Sematkan dokumen-dokumen
doc_embds = vo.embed(documents, model="voyage-4", input_type="document").embeddingsEmbeddings memungkinkan Anda melakukan pencarian / retrieval semantik di ruang vektor. Diberikan contoh query,
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
# Buat embedding untuk 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 menghasilkan nilai yang 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 query, masing-masing. Spesifikasi lebih lanjut dapat ditemukan di pustaka Python Voyage.
Outputnya adalah dokumen ke-5, yang memang paling relevan dengan query:
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 basis data vektor, lihat cookbook RAG.
Kunjungi halaman harga Voyage untuk detail harga terbaru.
Was this page helpful?