Claude Platform Docs
MessagesKemampuan model

Embeddings

Text embeddings adalah representasi numerik dari teks yang memungkinkan pengukuran kemiripan semantik. Panduan ini memperkenalkan embeddings, penerapannya, dan cara menggunakan model embedding untuk tugas-tugas seperti pencarian, rekomendasi, dan deteksi anomali.

Sebelum mengimplementasikan embeddings

Saat memilih penyedia embeddings, ada beberapa faktor yang dapat Anda pertimbangkan tergantung pada kebutuhan dan preferensi Anda:

  • Ukuran dataset & kekhususan domain: ukuran dataset pelatihan model dan relevansinya terhadap domain yang ingin Anda embed. Data yang lebih besar atau lebih spesifik terhadap domain umumnya menghasilkan embeddings dalam-domain yang lebih baik
  • Performa inferensi: kecepatan pencarian embedding dan "latency" (latensi) end-to-end. Ini merupakan pertimbangan yang sangat penting untuk deployment produksi berskala besar
  • Kustomisasi: opsi untuk pelatihan lanjutan pada data privat, atau spesialisasi model untuk domain yang sangat spesifik. Ini dapat meningkatkan performa pada kosakata yang unik

Cara mendapatkan embeddings dengan Anthropic

Anthropic tidak menawarkan model embedding sendiri. Salah satu penyedia embeddings yang memiliki beragam opsi dan kemampuan yang mencakup semua pertimbangan di atas adalah Voyage AI.

Voyage AI membuat model embedding mutakhir dan menawarkan model yang dikustomisasi untuk domain industri tertentu seperti keuangan dan kesehatan, atau model "fine-tuned" (disetel halus) yang dibuat khusus untuk pelanggan individual.

Sisa panduan ini ditujukan untuk Voyage AI, tetapi Anda sebaiknya menilai berbagai vendor embeddings untuk menemukan yang paling sesuai dengan kasus penggunaan spesifik Anda.

Model yang tersedia

Voyage merekomendasikan penggunaan model text embedding berikut:

Voyage 4 (generasi terbaru)

ModelPanjang konteksDimensi embeddingDeskripsi
voyage-4-large32.0001024 (default), 256, 512, 2048Kualitas retrieval serbaguna dan multibahasa terbaik. Lihat postingan blog Voyage 4 untuk detailnya.
voyage-432.0001024 (default), 256, 512, 2048Dioptimalkan untuk kualitas retrieval serbaguna dan multibahasa. Menyeimbangkan kualitas dan efisiensi. Lihat postingan blog Voyage 4 untuk detailnya.
voyage-4-lite32.0001024 (default), 256, 512, 2048Dioptimalkan untuk latensi dan biaya. Lihat postingan blog Voyage 4 untuk detailnya.
voyage-4-nano32.0001024 (default), 256, 512, 2048Model open-weight (lisensi Apache 2.0) yang tersedia di Hugging Face. Lihat postingan blog Voyage 4 untuk detailnya.

Generasi sebelumnya

ModelPanjang konteksDimensi embeddingDeskripsi
voyage-3-large32.0001024 (default), 256, 512, 2048Kualitas retrieval serbaguna dan multibahasa terbaik. Lihat postingan blog voyage-3-large untuk detailnya.
voyage-3.532.0001024 (default), 256, 512, 2048Dioptimalkan untuk kualitas retrieval serbaguna dan multibahasa. Lihat postingan blog voyage-3.5 untuk detailnya.
voyage-3.5-lite32.0001024 (default), 256, 512, 2048Dioptimalkan untuk latensi dan biaya. Lihat postingan blog voyage-3.5 untuk detailnya.
voyage-code-332.0001024 (default), 256, 512, 2048Dioptimalkan untuk retrieval kode. Lihat postingan blog voyage-code-3 untuk detailnya.
voyage-finance-232.0001024Dioptimalkan untuk retrieval dan RAG keuangan. Lihat postingan blog voyage-finance-2 untuk detailnya.
voyage-law-216.0001024Dioptimalkan untuk retrieval dan RAG hukum dan konteks panjang. Juga meningkatkan performa di semua domain. Lihat postingan blog voyage-law-2 untuk detailnya.

Selain itu, Voyage merekomendasikan model embedding multimodal berikut:

ModelPanjang konteksDimensi embeddingDeskripsi
voyage-multimodal-3.532.0001024 (default), 256, 512, 2048Model embedding multimodal yang kaya yang dapat memvektorisasi teks, gambar, dan video yang saling berselang-seling. Menyertakan dukungan video sebagai model embedding video tingkat produksi pertama. Lihat postingan blog voyage-multimodal-3.5 untuk detailnya.
voyage-multimodal-332.0001024Model embedding multimodal yang kaya yang dapat memvektorisasi teks yang berselang-seling dengan gambar yang kaya konten, seperti tangkapan layar PDF, slide, tabel, gambar, dan lainnya. Lihat postingan blog voyage-multimodal-3 untuk detailnya.

Model contextualized chunk embedding berikut menghasilkan vektor tingkat chunk yang menangkap konteks dokumen secara penuh tanpa augmentasi metadata manual. Panggil model-model ini dengan contextualized_embed() alih-alih embed():

ModelPanjang konteksDimensi embeddingDeskripsi
voyage-context-4120.0001024 (default), 256, 512, 2048Contextualized chunk embeddings yang dioptimalkan untuk kualitas retrieval serbaguna dan multibahasa. Lihat postingan blog voyage-context-4 untuk detailnya.
voyage-context-3120.0001024 (default), 256, 512, 2048Contextualized chunk embeddings yang dioptimalkan untuk kualitas retrieval serbaguna dan multibahasa. Lihat postingan blog voyage-context-3 untuk detailnya.

Voyage AI juga menawarkan reranker, yang menerima sebuah query dan daftar dokumen lalu mengembalikannya dalam urutan berdasarkan relevansi terhadap query tersebut. Panggil model-model ini dengan rerank():

ModelPanjang konteksDeskripsi
rerank-2.532.000Akurasi tertinggi. Direkomendasikan untuk sebagian besar aplikasi. Lihat postingan blog rerank-2.5 untuk detailnya.
rerank-2.5-lite32.000Dioptimalkan untuk latensi dan biaya. Lihat postingan blog rerank-2.5 untuk detailnya.

Butuh bantuan untuk memutuskan model text embedding mana yang akan digunakan? Lihat FAQ Voyage AI.

Memulai dengan Voyage AI

Untuk mengakses embeddings Voyage:

  1. Daftar di situs web Voyage AI.
  2. Dapatkan "API key" (kunci API).
  3. Atur kunci API sebagai variabel lingkungan untuk kemudahan:
export VOYAGE_API_KEY="<your secret key>"

Anda dapat memperoleh embeddings dengan menggunakan paket Python voyageai resmi atau permintaan HTTP, seperti yang dijelaskan di bagian-bagian berikut.

Library Python Voyage

Instal paket voyageai menggunakan perintah berikut:

pip install -U voyageai

Kemudian, 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="<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 adalah daftar berisi dua vektor embedding, masing-masing berisi 1024 bilangan floating-point. Setelah menjalankan kode di atas, kedua embeddings tersebut 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 pada fungsi embed().

Untuk informasi lebih lanjut tentang paket Python Voyage, lihat dokumentasi paket Python Voyage.

HTTP API Voyage

Anda juga dapat memperoleh embeddings dengan mengirim permintaan ke HTTP API Voyage. Misalnya, Anda dapat mengirim permintaan HTTP melalui perintah curl di terminal:

cURL
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 HTTP API Voyage, lihat dokumentasi HTTP API Voyage.

AWS Marketplace

Embeddings Voyage tersedia di AWS Marketplace. Petunjuk untuk mengakses Voyage di AWS tersedia di dokumentasi AWS Marketplace Voyage.

Contoh quickstart

Contoh singkat berikut menunjukkan cara menggunakan embeddings.

Misalkan Anda memiliki korpus kecil berisi enam dokumen untuk di-retrieve

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()

# Buat embedding untuk dokumen
doc_embds = vo.embed(documents, model="voyage-4", input_type="document").embeddings

Embeddings memungkinkan Anda melakukan pencarian semantik / retrieval di ruang vektor. Diberikan sebuah contoh query,

query = "When is Apple's conference call scheduled?"

Selanjutnya, konversikan query tersebut 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 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 query, secara berurutan. Spesifikasi lebih lanjut dapat ditemukan di library Python Voyage.

Outputnya adalah dokumen kelima, yang memang paling relevan dengan query tersebut:

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 resep terperinci tentang cara melakukan RAG dengan embeddings, termasuk database vektor, lihat resep RAG.

FAQ

Harga

Kunjungi halaman harga Voyage untuk detail harga terbaru.

Was this page helpful?