Sentence Transformers: all-MiniLM-L12-v2
Sentence Transformers all-MiniLM-L12-v2 mengodekan kalimat dan paragraf pendek menjadi vektor 384 dimensi untuk pencarian, kemiripan, dan pengelompokan. Resep rujukannya menggunakan mean pooling dan normalisasi, dengan pemotongan bawaan pada 256 unit word piece.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
all-MiniLM-L12-v2 adalah encoder Sentence Transformers untuk kalimat dan paragraf pendek. Model menghasilkan satu vektor dense 384 dimensi per teks untuk pencarian semantik, temu kembali informasi, pengelompokan, dan kemiripan kalimat. Model menggunakan backbone MiniLM-L12-H384-uncased dan di-fine-tune melalui pembelajaran kontrastif pada koleksi satu miliar pasangan kalimat.
Kodekan unit yang ingin ditemukan
Gunakan kalimat atau paragraf pendek yang menyatakan satu gagasan berguna. Untuk koleksi deskripsi produk, pertahankan fitur dan kondisi yang membedakan barang: “The adapter connects a wired headset to a USB-C port” lebih informatif daripada “Audio accessory.” Simpan pengenal rekaman dan deskripsi asli di samping vektornya.
Kueri pencarian kemudian dapat dibandingkan dengan deskripsi yang dikodekan. Periksa kandidat hasil untuk persyaratan tepat seperti jenis konektor atau kompatibilitas perangkat sebelum menyajikan pilihan akhir. Vektor merepresentasikan makna teks; aplikasi pencarian di sekelilingnya menemukan rekaman yang sesuai.
Mean pooling dan vektor yang dinormalisasi
Contoh pengodean yang diterbitkan merata-ratakan representasi token dengan masker atensi sehingga posisi padding tidak berkontribusi pada rata-rata. Kemudian normalisasi L2 diterapkan. Tahap-tahap ini merupakan bagian dari resep rujukan untuk memperoleh vektor kalimat, bukan instruksi untuk mengambil token sembarang dari transformer dasar.
Pertahankan konsistensi konfigurasi model, pooling, dan normalisasi antara teks terindeks dan kueri baru. Representasi 384 komponen hasilnya dapat dibandingkan menggunakan kemiripan kosinus. Simpan catatan konfigurasi itu bersama koleksi; encoder 384 dimensi yang berbeda tidak menjadi kompatibel hanya karena vektornya memiliki panjang sama.
Panjang masukan bawaan dan cakupan pelatihan
Pembuat menetapkan pemotongan bawaan di atas 256 unit word piece. Ini adalah batas tokenizer, bukan jumlah kata biasa atau karakter. Untuk rekaman lebih panjang, pilih bagian pendek yang koheren dan pertahankan judul atau detail pengenal yang diperlukan untuk menafsirkan masing-masing bagian.
Prosedur pelatihan model menggunakan urutan hingga 128 token. Pengaturan pelatihan itu terpisah dari pengaturan bawaan 256 unit word piece yang diterbitkan untuk pengodean. Bagian yang muat dalam pengaturan bawaan masih dapat sangat berbeda dari materi kalimat pendek selama pelatihan, jadi nilai deskripsi panjang atau khusus dengan contoh yang representatif.
Alur kemiripan dan pengelompokan
Untuk himpunan pesan dukungan, embedding dapat memberikan masukan numerik bagi tahap pengelompokan. Tinjau beberapa pesan dari setiap kelompok usulan dan pesan di dekat batasnya sebelum menetapkan label yang dapat dibaca manusia. Untuk peninjauan konten duplikat, temukan rekaman serupa dan bandingkan pilihan kata sebenarnya; dua bagian mungkin membahas subjek yang sama tetapi memberikan instruksi berbeda.
Edisi L12-v2 yang tepat ini merupakan profil embedding kalimat bahasa Inggris. Edisi ini berbeda dari all-MiniLM-L6-v2 dan checkpoint paraphrase-MiniLM. Nama keluarga yang sama tidak memindahkan konfigurasi urutan atau resep pooling mereka. Gunakan vektor dense ringkasnya bersama rekaman sumber dan evaluasi khusus tugas alih-alih memperlakukan nilai kemiripan sebagai jawaban terverifikasi atau keputusan editorial akhir.
Ailoot Ultra · Embedding POST /v1/embeddings sentence-transformers/all-minilm-l12-v2
sentence-transformers/all-minilm-l12-v2
sentence-transformers/all-minilm-l12-v2Mulai
Sentence Transformers all-MiniLM-L12-v2 mengodekan kalimat dan paragraf pendek menjadi vektor 384 dimensi untuk pencarian, kemiripan, dan pengelompokan. Resep rujukannya menggunakan mean pooling dan normalisasi, dengan pemotongan bawaan pada 256 unit word piece.
- Masukan yang diterima
- Teks · token_ids
- Hasil
- embedding
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Embedding POST /v1/embeddings
- Masukan
text,token_ids- Keluaran
embedding- Format keluaran
- json
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan sentence-transformers/all-minilm-l12-v2 | Bawaan— |
Kolominput | Jenisstring|string[]|integer[]|integer[][] | PersyaratanWajib | Nilai & batasan Item minimum: 1 Kondisi: Batch homogen yang tidak kosong. ID token berupa bilangan bulat nonnegatif. Anggaran masukan: Maksimum: 512 · Satuan teks: byte UTF8 · Satuan token: elemen array token | Bawaan— |
Kolomencoding_format | Jenisstring | PersyaratanOpsional | Nilai & batasan float | Bawaanfloat |
Kolomdimensions | Jenisinteger | PersyaratanTidak didukung | Nilai & batasan Minimum: 1 | Bawaan— |
Kolomuser | Jenisjson_value | PersyaratanOpsional | Nilai & batasan Kondisi: Sumber mengizinkan kolom metadata JSON ini; makna tepatnya pada layanan hulu bergantung pada model. | Bawaan— |
Kolomsession_id | Jenisjson_value | PersyaratanOpsional | Nilai & batasan Kondisi: Sumber mengizinkan kolom metadata JSON ini; makna tepatnya pada layanan hulu bergantung pada model. | Bawaan— |
Kolomtrace | Jenisjson_value | PersyaratanOpsional | Nilai & batasan Kondisi: Sumber mengizinkan kolom metadata JSON ini; makna tepatnya pada layanan hulu bergantung pada model. | Bawaan— |
Kolomprovider | Jenisobject | PersyaratanOpsional | Nilai & batasan Kondisi: provider.options ditolak | Bawaan— |
Kombinasi bahan masukan
text_to_embedding
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, input |
Parameterinput_shapes | Kontrakstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Kontrakfloat |
Parameterdimensions_override | Kontrakfalse |
Parametermax_input_budget_units | Kontrak512 |
Parametermultimodal_objects | Kontrakfalse |
Parametermaterial_types | Kontraktext, token_ids |
Siklus hidup: synchronous_json
Pertahankan index dan dimensi setiap vektor.
Nama model multimodal tidak mengizinkan objek gambar pada jalur persis ini.
Paket
Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.
- Mode Fast
- Tidak ditentukan Saat mode fast dipilih
- Mode Flex
- Tidak ditentukan Saat mode flex dipilih
- Upaya penalaran maksimum
- Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default
Tarif Ailoot
Harga menurut konfigurasi
| Konfigurasi | Jadwal tarif | Biaya |
|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Biaya Masukan · Token masukan $0.00001 / 1K token Keluaran · Token keluaran $0 / 1K token Masukan · Pembacaan cache — / 1K token Masukan · Penulisan cache — / 1K token Masukan · Penulisan cache, 1 jam — / 1K token |
Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →
Contoh permintaan
Ailoot Ultra · Embedding
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "sentence-transformers/all-minilm-l12-v2", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='sentence-transformers/all-minilm-l12-v2',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Terima dan simpan hasil
Ailoot Ultra · Embedding
json
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.
Simpan setiap vektor beserta index masing-masing. Jumlah vektor harus sama dengan jumlah input; dimensinya harus konsisten.
Jika respons asli perlu diperiksa
Endpoint untuk tugas embedding tidak ditambahkan.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolomobject | Jenisstring |
Kolommodel | Jenisstring |
Kolomdata[].index | Jenisinteger |
Kolomdata[].embedding | Jenisfinite float[] |
Kolomusage | Jenisobject |
Kesalahan dan langkah berikutnya
| Respons | Kondisi | Langkah berikutnya |
|---|---|---|
Respons400 · invalid_request_error | KondisiBidang wajib, representasi materi, atau nilai parameter tidak valid | Langkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru. |
Alias
Alias model
Ailoot Ultra sentence-transformers/all-minilm-l12-v2
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · Sentence Transformers: all-MiniLM-L12-v2
- Input dan hasil apa yang tersedia?
POST /v1/embeddings·sentence-transformers/all-minilm-l12-v2:text,token_ids→embedding- Kolom apa yang digunakan permintaan?
POST /v1/embeddings·sentence-transformers/all-minilm-l12-v2:model,input,encoding_format,provider- Batasan apa yang berlaku?
POST /v1/embeddings·sentence-transformers/all-minilm-l12-v2:input.budget.maximum:512(byte UTF8);input.min_items:1