Topik ini menjelaskan konsep dasar vektor, termasuk dimensi, metrik jarak, dan tipe data, membantu Anda menggunakan DashVector secara lebih efektif.
Konsep Dasar
Dalam bidang AI, vektor adalah representasi abstrak dari fitur suatu objek. Sebagai contoh, model text-embedding-v1 dari Model Studio mengubah teks input menjadi vektor melalui proses yang disebut penyematan.
Contoh Permintaan
Teks Input: Kualitas pakaian ini benar-benar luar biasa, dan terlihat sangat menakjubkan. Penantian sepenuhnya terbayar, dan saya sangat senang dengan pembelian saya. Saya pasti akan menjadi pelanggan tetap di sini.
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='Kualitas pakaian ini benar-benar luar biasa, dan terlihat sangat menakjubkan. Penantian sepenuhnya terbayar, dan saya sangat senang dengan pembelian saya. Saya pasti akan menjadi pelanggan tetap di sini.')
print(resp)
if __name__ == '__main__':
embed_with_str()Contoh Respon
{
"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
}
}Nilai dari field penyematan dalam respon adalah sebuah vektor.
[
0.09393704682588577,
2.4155092239379883,
-1.8923076391220093,
.,
.,
.
]Dimensi dan Tipe Data
Seperti ditunjukkan dalam contoh respon sebelumnya, vektor adalah daftar angka atau array yang merepresentasikan fitur dari teks. Dimensi menunjukkan jumlah elemen dalam array tersebut. Misalnya, jika ada 100 elemen, maka vektor tersebut memiliki 100 dimensi. Sebagai contoh, vektor yang dikembalikan oleh model text-embedding-v1 dari Model Studio berisi 1.024 elemen, yang berarti setiap vektor memiliki 1.024 dimensi. Dimensi ini tetap konsisten di semua output dari model ini. Informasi lebih lanjut tentang model text-embedding-v1 dari DashScope dapat ditemukan di topik Memulai Cepat.
Nama | Dimensi Vektor | Jumlah Baris Maksimum | Token Maksimum per Baris | Bahasa yang Didukung |
text-embedding-v3 | 1.024 (default), 768 atau 512 | 10 | 8.192 | Cina, Inggris, Spanyol, Prancis, Portugis, Indonesia, Jepang, Korea, Jerman, Rusia, dan lebih dari 50 bahasa lainnya |
Tipe data vektor mengacu pada tipe data elemen-elemennya. Sebagai contoh, jika semua elemen dalam vektor yang dikembalikan oleh model text-embedding-v1 dari DashScope bertipe float, maka tipe data vektor tersebut adalah float. Contohnya, jika vektor adalah [1, 2, 3, 4], yang hanya terdiri dari bilangan bulat, maka vektor tersebut adalah vektor 4-dimensi bertipe int.
Dimensi dan tipe data vektor bervariasi berdasarkan model penyematan.
Metrik Jarak
Karena vector adalah array, kesamaan antara vektor biasanya diukur berdasarkan jarak mereka. DashVector mendukung tiga metrik jarak utama.
Jarak Kosinus
Kemiripan kosinus dihitung menggunakan kosinus dari sudut antara dua vektor sebagai berikut:

Di sini, A dan B adalah dua vektor berbeda, n menunjukkan dimensi vektor, · menunjukkan perkalian titik vektor, dan ||A|| serta ||B|| menunjukkan magnitudo dari kedua vektor tersebut.

DashVector menggunakan cosine distance untuk menunjukkan kemiripan, yaitu cosine distance = 1 - cosine similarity. Rentang valid dari jarak kosinus adalah [0, 2], di mana nilai yang lebih kecil menunjukkan kemiripan yang lebih besar. Rumus berikut menunjukkan cara menghitung kemiripan kosinus:

Jarak Euclidean
Jarak Euclidean adalah jarak garis lurus antara dua vektor. Jarak Euclidean yang lebih pendek menunjukkan kemiripan yang lebih besar. Jarak Euclidean dihitung sebagai berikut:

Di sini, A dan B adalah dua vektor berbeda, dan n menunjukkan dimensi vektor.

Perkalian Titik
Kemiripan perkalian titik mengacu pada perkalian titik, juga disebut perkalian skalar, dari dua vektor. Perkalian titik yang lebih besar menunjukkan kemiripan yang lebih besar antara vektor target. Perkalian titik dihitung sebagai berikut:

Di sini, A dan B adalah dua vektor berbeda, dan n menunjukkan dimensi vektor.

Model Umum dan Parameter Vektor
Tipe Model | Dimensi Vektor | Tipe Data | Metrik Jarak yang Direkomendasikan |
text-embedding-v3 | 1.536 | Float(32) | Kosinus |
OpenAI Embedding | 1.536 | Float(32) | Kosinus |
Saat membuat koleksi, Anda dapat memilih parameter berdasarkan model yang Anda gunakan.