Ketika 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 pilihan dan kemampuan yang mencakup semua pertimbangan di atas adalah Voyage AI.
Voyage AI membuat model embedding canggih dan menawarkan model yang disesuaikan untuk domain industri tertentu seperti keuangan dan kesehatan, atau model yang disesuaikan khusus untuk pelanggan individu.
Sisa panduan ini untuk Voyage AI, tetapi kami mendorong Anda untuk menilai berbagai vendor embeddings untuk menemukan yang paling sesuai untuk kasus penggunaan spesifik Anda.
Voyage merekomendasikan menggunakan model embedding teks berikut:
| Model | Panjang Konteks | Dimensi Embedding | Deskripsi |
|---|---|---|---|
voyage-3-large | 32,000 | 1024 (default), 256, 512, 2048 | Kualitas retrieval tujuan umum dan multibahasa terbaik. Lihat blog post untuk detail. |
voyage-3.5 | 32,000 | 1024 (default), 256, 512, 2048 | Dioptimalkan untuk kualitas retrieval tujuan umum dan multibahasa. Lihat blog post untuk detail. |
voyage-3.5-lite | 32,000 | 1024 (default), 256, 512, 2048 | Dioptimalkan untuk latensi dan biaya. Lihat blog post untuk detail. |
voyage-code-3 | 32,000 | 1024 (default), 256, 512, 2048 | Dioptimalkan untuk retrieval kode. Lihat blog post untuk detail. |
voyage-finance-2 | 32,000 | 1024 | Dioptimalkan untuk retrieval dan RAG keuangan. Lihat untuk detail. |
Selain itu, model embedding multimodal berikut direkomendasikan:
| Model | Panjang Konteks | Dimensi Embedding | Deskripsi |
|---|---|---|---|
voyage-multimodal-3 | 32000 | 1024 | Model embedding multimodal yang kaya yang dapat memvektorisasi teks yang diselingi dan gambar yang kaya konten, seperti screenshot PDF, slide, tabel, figur, dan lainnya. Lihat blog post untuk detail. |
Butuh bantuan memutuskan model embedding teks mana yang akan digunakan? Lihat FAQ.
Untuk mengakses embeddings Voyage:
export VOYAGE_API_KEY="<your secret key>"Anda dapat memperoleh embeddings dengan menggunakan paket Python resmi voyageai atau permintaan HTTP, seperti yang dijelaskan di bawah ini.
Paket voyageai dapat diinstal menggunakan perintah berikut:
pip install -U voyageaiKemudian, Anda dapat membuat objek klien 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="<your secret key>")
texts = ["Sample text 1", "Sample text 2"]
result = vo.embed(texts, model="voyage-3.5", input_type="document")
print(result.embeddings[0])
print(result.embeddings[1])result.embeddings akan menjadi 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 untuk "Sample text 1"
[-0.0069352793507277966, 0.020878976210951805, ...] # embedding untuk "Sample text 2"Ketika membuat embeddings, Anda dapat menentukan beberapa argumen lain untuk fungsi embed().
Untuk informasi lebih lanjut tentang paket python Voyage, lihat dokumentasi Voyage.
Anda juga dapat mendapatkan embeddings dengan meminta HTTP API 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-3.5"
}'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-3.5",
"usage": {
"total_tokens": 10
}
}
Untuk informasi lebih lanjut tentang HTTP API Voyage, lihat dokumentasi Voyage.
Embeddings Voyage tersedia di AWS Marketplace. Instruksi untuk mengakses Voyage di AWS tersedia di sini.
Sekarang kita tahu cara mendapatkan embeddings, mari kita lihat contoh singkat.
Misalkan kita memiliki korpus kecil dari enam dokumen untuk diambil dari
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."
]
Kita akan terlebih dahulu menggunakan Voyage untuk mengonversi masing-masing menjadi vektor embedding
import voyageai
vo = voyageai.Client()
# Embed dokumen
doc_embds = vo.embed(
documents, model="voyage-3.5", input_type="document"
).embeddingsEmbeddings akan memungkinkan kita melakukan pencarian semantik / retrieval di ruang vektor. Diberikan contoh query,
query = "When is Apple's conference call scheduled?"kita mengonversinya menjadi embedding, dan melakukan pencarian tetangga terdekat untuk menemukan dokumen yang paling relevan berdasarkan jarak di ruang embedding.
import numpy as np
# Embed query
query_embd = vo.embed(
[query], model="voyage-3.5", input_type="query"
).embeddings[0]
# Hitung kesamaan
# Embeddings Voyage dinormalisasi ke panjang 1, oleh karena itu dot-product
# dan kesamaan cosinus adalah sama.
similarities = np.dot(doc_embds, query_embd)
retrieved_id = np.argmax(similarities)
print(documents[retrieved_id])Perhatikan bahwa kita menggunakan input_type="document" dan input_type="query" untuk meng-embed dokumen dan query, masing-masing. Spesifikasi lebih lanjut dapat ditemukan di sini.
Output akan menjadi 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 set cookbook terperinci tentang cara melakukan RAG dengan embeddings, termasuk database vektor, lihat cookbook RAG kami.
Kunjungi halaman harga Voyage untuk detail harga terbaru.
voyage-law-2 | 16,000 | 1024 | Dioptimalkan untuk retrieval dan RAG hukum dan konteks panjang. Juga meningkatkan performa di semua domain. Lihat blog post untuk detail. |