Saat memilih penyedia embeddings, ada beberapa faktor yang dapat Anda pertimbangkan tergantung pada kebutuhan dan preferensi Anda:
Anthropic tidak menawarkan model embedding miliknya 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 dengan baik untuk pelanggan individual.
Sisa panduan ini adalah untuk Voyage AI, tetapi kami mendorong Anda untuk mengevaluasi berbagai vendor embeddings untuk menemukan yang paling sesuai dengan kasus penggunaan spesifik Anda.
Voyage merekomendasikan penggunaan model embedding teks berikut:
| Model | Panjang Konteks | Dimensi Embedding | Deskripsi |
|---|---|---|---|
voyage-3-large | 32.000 | 1024 (default), 256, 512, 2048 | Kualitas pengambilan tujuan umum dan multibahasa terbaik. Lihat blog post untuk detail. |
voyage-3.5 | 32.000 | 1024 (default), 256, 512, 2048 | Dioptimalkan untuk kualitas pengambilan 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 pengambilan kode. Lihat blog post untuk detail. |
voyage-finance-2 | 32.000 | 1024 | Dioptimalkan untuk pengambilan dan RAG keuangan. Lihat blog post untuk detail. |
voyage-law-2 | 16.000 | 1024 | Dioptimalkan untuk pengambilan dan RAG hukum dan konteks panjang. Juga meningkatkan kinerja di semua domain. Lihat blog post untuk detail. |
Selain itu, model embedding multimodal berikut direkomendasikan:
| Model | Panjang Konteks | Dimensi Embedding | Deskripsi |
|---|---|---|---|
voyage-multimodal-3 | 32000 | 1024 | Model embedding multimodal kaya yang dapat memvektorisasi teks yang disisipi dan gambar yang kaya konten, seperti tangkapan layar PDF, slide, tabel, gambar, 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 voyageai resmi atau permintaan HTTP, seperti yang dijelaskan di bawah.
Paket voyageai dapat diinstal menggunakan perintah berikut:
pip install -U voyageaiKemudian, Anda dapat membuat objek klien dan mulai menggunakannya untuk embed teks Anda:
import voyageai
vo = voyageai.Client()
# This will automatically use the environment variable VOYAGE_API_KEY.
# Alternatively, you can use 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, dua 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 Voyage.
Anda juga dapat memperoleh embeddings dengan meminta 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-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 API HTTP 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 corpus kecil 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."
]
Kami akan terlebih dahulu menggunakan Voyage untuk mengonversi masing-masing menjadi vektor embedding
import voyageai
vo = voyageai.Client()
# Embed the documents
doc_embds = vo.embed(
documents, model="voyage-3.5", input_type="document"
).embeddingsEmbeddings akan memungkinkan kami melakukan pencarian semantik / pengambilan dalam ruang vektor. Diberikan contoh kueri,
query = "When is Apple's conference call scheduled?"kami mengonversinya menjadi embedding, dan melakukan pencarian tetangga terdekat untuk menemukan dokumen paling relevan berdasarkan jarak dalam ruang embedding.
import numpy as np
# Embed the query
query_embd = vo.embed(
[query], model="voyage-3.5", input_type="query"
).embeddings[0]
# Compute the similarity
# Voyage embeddings are normalized to length 1, therefore dot-product
# and cosine similarity are the same.
similarities = np.dot(doc_embds, query_embd)
retrieved_id = np.argmax(similarities)
print(documents[retrieved_id])Perhatikan bahwa kami menggunakan input_type="document" dan input_type="query" untuk embedding dokumen dan kueri, masing-masing. Spesifikasi lebih lanjut dapat ditemukan di sini.
Hasilnya akan menjadi 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 serangkaian cookbook terperinci tentang cara melakukan RAG dengan embeddings, termasuk database vektor, lihat cookbook RAG kami.
Kunjungi halaman harga Voyage untuk detail harga paling terkini.
Was this page helpful?