Vektor adalah daftar angka yang merepresentasikan makna dan hubungan data—seperti teks, gambar, atau konten lainnya. Vektor yang secara numerik berdekatan mencerminkan data yang secara semantik mirip. DashVector menyimpan, mengindeks, dan mencari vektor-vektor ini sehingga Anda dapat membangun aplikasi pencarian kemiripan, rekomendasi, dan Generasi yang Diperkaya dengan Pengambilan Data (RAG) dalam skala besar.
Cara kerja embedding
Sebelum menyimpan data di DashVector, ubah data tersebut menjadi vektor menggunakan model embedding. Proses konversi ini disebut embedding.
Sebagai contoh, model text-embedding-v1 dari Model Studio mengonversi sepotong teks input menjadi vektor:
import dashscope
from dashscope import TextEmbedding
dashscope.api_key = {YOUR API KEY}
def embed_with_str():
resp = TextEmbedding.call(
model=TextEmbedding.Models.text_embedding_v1,
input='The quality of the clothes is simply outstanding, and they look fabulous. The wait was completely worth it, and I am absolutely delighted with my purchase. I will definitely be a repeat customer here.')
print(resp)
if __name__ == '__main__':
embed_with_str()Tanggapan berisi bidang embedding—larik angka tersebut adalah vektornya:
{
"status_code": 200,
"request_id": "617b3670-6f9e-9f47-ad57-997ed8aeba6a",
"code": "",
"message": "",
"output": {
"embeddings": [
{
"embedding": [
0.09393704682588577,
2.4155092239379883,
-1.8923076391220093,
...
],
"text_index": 0
}
]
},
"usage": {
"total_tokens": 23
}
}Konsep utama
Dimensi
Dimensi vektor adalah jumlah elemen dalam larik tersebut. Vektor yang terdiri dari 1.024 angka merupakan vektor berdimensi 1.024. Dimensi bersifat tetap untuk model tertentu—setiap output dari text-embedding-v1 memiliki tepat 1.024 dimensi.
Nama model | Dimensi vektor | Baris maksimum | Token maksimum per baris | Bahasa yang didukung |
text-embedding-v3 | 1.024 (default), 768, 512, 256, 128, atau 64 | 10 | 8.192 | Bahasa Tionghoa, Inggris, Spanyol, Prancis, Portugis, Indonesia, Jepang, Korea, Jerman, Rusia, dan lebih dari 50 bahasa utama lainnya |
Tipe data
Tipe data vektor ditentukan oleh tipe data elemen-elemennya. Misalnya, text-embedding-v1 menghasilkan elemen bertipe float, sehingga vektornya bertipe float. Vektor integer sederhana seperti [1, 2, 3, 4] adalah vektor int berdimensi 4.
Dimensi dan tipe data bervariasi tergantung model embedding. Saat membuat koleksi, atur parameter ini agar sesuai dengan model yang Anda gunakan.
Metrik jarak
DashVector mengukur kemiripan antar vektor berdasarkan jarak. Jarak yang lebih pendek atau lebih kecil menunjukkan bahwa kedua vektor lebih mirip. DashVector mendukung tiga metrik jarak.
Jarak Cosine
Jarak Cosine mengukur sudut antara dua vektor, bukan magnitudonya. Metrik ini cocok untuk teks dan pencarian semantik di mana arah makna lebih penting daripada skalanya.
DashVector mendefinisikan jarak cosine sebagai:
cosine distance = 1 − cosine similarity
Rentang nilai yang valid adalah [0, 2]. Nilai yang lebih kecil menunjukkan kemiripan yang lebih besar.

Dengan _A_ dan _B_ adalah dua vektor, _n_ adalah dimensi, · adalah dot product, serta ||_A_|| dan ||_B_|| adalah magnitudo kedua vektor tersebut.


Jarak Euclidean
Jarak Euclidean adalah jarak garis lurus antara dua vektor dalam ruang. Metrik ini cocok untuk data spasial dan kemiripan geometris di mana magnitudo dan posisi aktual vektor sangat penting.
Jarak Euclidean yang lebih pendek menunjukkan kemiripan yang lebih besar.

Dengan _A_ dan _B_ adalah dua vektor dan _n_ adalah dimensi.

Dot product
Dot product (juga disebut produk skalar) mengukur seberapa besar dua vektor sejajar. Metrik ini cocok untuk sistem rekomendasi di mana Anda perlu mengukur seberapa kuat dua item saling sesuai.
Dot product yang lebih besar menunjukkan kemiripan yang lebih besar.

Di mana _A_ dan _B_ adalah dua vektor, dan _n_ adalah dimensi.

Model dan parameter umum
Saat membuat koleksi, sesuaikan dimensi, tipe data, dan metrik jarak dengan model embedding Anda.
| Model | Dimensi vektor | Tipe data | Metrik jarak yang direkomendasikan |
|---|---|---|---|
| text-embedding-v3 | 1.536 | Float(32) | Cosine |
| OpenAI Embedding | 1.536 | Float(32) | Cosine |

Spesifikasi model text-embedding-v3
| Spesifikasi | Nilai |
|---|---|
| Dimensi vektor | 1.024 (default), 768, atau 512 |
| Baris maksimum per permintaan | 10 |
| Token maksimum per baris | 8.192 |
| Bahasa yang didukung | Bahasa Tionghoa, Inggris, Spanyol, Prancis, Portugis, Indonesia, Jepang, Korea, Jerman, Rusia, dan lebih dari 50 bahasa lainnya |
Untuk informasi selengkapnya, lihat panduan quick start text-embedding-v3.