Model penanaman adalah neural networks berbasis transformer yang mengubah potongan-potongan dokumen (yaitu: bagian teks) menjadi representasi numerik atau vektor. Konten dengan makna atau semantik yang serupa akan dipetakan ke representasi serupa di ruang laten, seperti yang terlihat pada gambar di bawah ini.
Vektorisasi bahasa memungkinkan aplikasi yang didukung AI seperti 'mengobrol dengan dokumen' atau pencarian semantik, daripada pencarian kata kunci tradisional (leksikal).
Model menanamkan yang Anda pilih akan berdampak signifikan pada akurasi pengambilan, latensi, dan biaya komputasi sistem RAG Anda. Pilihan model menanamkan Anda sebagian besar akan dipengaruhi oleh ukurannya, yang tergantung pada dua karakteristik: dimensi menanamkan dan jumlah parameter model.
Model menanamkan yang lebih besar biasanya meningkatkan kinerja pengambilan tetapi dengan mengorbankan latensi, penyimpanan, dan biaya komputasi (finansial). Sebaliknya, model menanamkan yang lebih kecil biasanya menawarkan kinerja yang berkurang tetapi menempati lebih sedikit memori, membutuhkan daya komputasi yang lebih sedikit, dan lebih cepat pada waktu proses. Pilih model menanamkan yang menyeimbangkan persyaratan kinerja dengan sumber daya yang tersedia.
Model menanamkan tertentu bersifat spesifik bahasa (misalnya, model menanamkan Spanyol yang dibuat untuk klien Spanyol) dan khusus domain (misalnya, model yang dilatih pada terminologi onkologi untuk mengaktifkan RAG melalui file medis).
Anda disarankan untuk menggunakan model menanamkan yang diterapkan di watsonx: model batu tulis yang dikembangkan IBM® atau model pihak ketiga yang tercantum di bawah ini. Silakan baca dokumentasi ini untuk detail tentang setiap model. Untuk informasi selengkapnya mengenai kelas penagihan, lihat paket penagihan watsonx.
Model IBM Slate
| Nama model | API model_id | Kelas penagihan | Token input maksimum | Jumlah dimensi | Informasi lebih lanjut |
|---|---|---|---|---|---|
| slate-125m-english-rtrvr | ibm/slate-125m-english-rtrvr | Kelas C1 | 512 | 768 | Kartu model |
| slate-30m-english-rtrvr | ibm/slate-30m-english-rtrvr | Kelas C1 | 512 | 384 | Kartu model |
Model dasar slate-125m-english-rtrvr disediakan oleh IBM. Model dasar slate-125m-english-rtrvr menghasilkan menanamkan untuk berbagai input seperti kueri, bagian, atau dokumen. Tujuan pelatihan adalah untuk memaksimalkan kesamaan kosinus antara kueri dan bagian. Proses ini menghasilkan dua menanamkan kalimat, satu yang mewakili pertanyaan dan satu yang mewakili bagian teks, memungkinkan perbandingan keduanya melalui kesamaan kosinus.
Penggunaan: Dua hingga tiga kali lebih lambat tetapi berkinerja sedikit lebih baik daripada model slate-30m-englishrtrvr. Bahasa yang Didukung: Bahasa Inggris
Model dasar slate-30m-english-rtrvr adalah versi suling dari slate-125m-english-rtrvr, yang keduanya disediakan oleh IBM. Model menanamkan slate-30m-english-rtrvr dilatih untuk memaksimalkan kesamaan kosinus antara dua input teks sehingga menanamkan dapat dievaluasi berdasarkan kesamaan nanti.
Penggunaan: Dua hingga tiga kali lebih cepat dan memiliki skor kinerja yang sedikit lebih rendah daripada model slate-125m-englishrtrvr. Bahasa yang Didukung: Bahasa Inggris
Model menanamkan Pihak Ketiga tersedia dengan watsonx
| Nama model | API model_id | Penyedia | Kelas penagihan | Token input maksimum | Jumlah dimensi | Informasi lebih lanjut |
|---|---|---|---|---|---|---|
| all-minilm-l12-v2 | sentence-transformers/all-minilm-l12-v2 | Komunitas pemrosesan bahasa alami (NLP) dan visi komputer (CV) sumber terbuka | Kelas C1 | 256 | 384 | Kartu model |
| multilingual-e5-large | intfloat/multibahasa-e5-besar | Microsoft | Kelas C1 | 512 | 1024 | Kartu model, Makalah riset |
Model menanamkan all-minilm-l12-v2 dibangun oleh komunitas sumber terbuka pemrosesan bahasa alami (NLP) dan computer vision (CV) dan disediakan oleh HuggingFace.
Bahasa yang Didukung: Bahasa Inggris
Penggunaan: Untuk contoh penggunaan di mana Anda ingin menghasilkan penanaman teks untuk teks dalam bahasa selain bahasa Inggris.
Bahasa alami yang didukung: Hingga 100 bahasa. Lihat kartu model untuk detailnya.
Untuk informasi selengkapnya mengenai model penanaman yang didukung, lihat dokumentasi watsonx.
Instal pustaka Python ibm-watsonx-ai
pip install -U ibm-watsonx-ai
Gunakan API penanaman watsonx dan model menanamkan yang tersedia untuk menghasilkan menanamkan teks.
dari ibm_watsonx_ai.metanames impor embedtextParamsmetaNames sebagai embedParams
dari ibm_watsonx_ai.foundation_models.utils.enums impor embeddingTypes
dari ibm_watsonx_ai.foundation_models impor Embeddings
# Setel truncate_input_tokens ke nilai yang sama dengan atau kurang dari token maksimum yang diizinkan untuk model embedding yang Anda gunakan. Jika Anda tidak menentukan nilai ini dan input memiliki lebih banyak token daripada yang dapat diproses model, kesalahan dihasilkan.
embed_params = {
EmbedParams.TRUNCATE_INPUT_TOKENS: 128,
EmbedParams.RETURN_OPTIONS: {
'input_text': True
}
}
menanamkan = Embeddings(
model_id=EmbeddingTypes.IBM_SLATE_30M_ENG,
credentials=credentials,
params=embed_params,
project_id=project_id,
space_id=None,
verify=False
)
q = [
"Model dasar adalah model AI generatif skala besar yang dapat disesuaikan dengan berbagai tugas hilir.",
"AI generatif kelas algoritma AI yang dapat menghasilkan berbagai jenis konten termasuk teks, kode sumber, citra, audio, dan data sintetis."
]
embedding_vectors = embedding.embed_documents(teks = q)
print(embedding_vectors)
Gunakan Seri watsonx Granite Model dan penanaman, Chroma, dan LangChain untuk menjawab pertanyaan (RAG) dan LangChain
Diperbarui: 15 November 2024