> For the complete documentation index, see [llms.txt](https://docs.cloudeka.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cloudeka.ai/guideline-for-enterprise/panduan-untuk-enterprise/deka-llm/api-deka-llm/embedding.md).

# Embedding

*Embedding* adalah representasi vektor dari teks atau data lain. Representasi ini dapat digunakan dalam berbagai aplikasi *machine learning* dan pemrosesan bahasa. *Embedding* mengubah kata, kalimat, atau dokumen menjadi vektor numerik dalam ruang berdimensi tinggi. Hal ini memudahkan komputer memahami dan memproses makna data yang dianalisis. Berikut beberapa penggunaan *embedding*:

* **Pencarian** mengubah setiap dokumen dan kueri menjadi vektor. Hasil pencarian diurutkan berdasarkan kemiripan vektor *embedding* antara kueri dan dokumen. Semakin dekat vektornya, semakin relevan hasilnya.
* ***Clustering*** mengelompokkan kalimat yang telah diubah menjadi vektor *embedding* menggunakan algoritma seperti *K-Means*. Teks dengan vektor embedding serupa akan dikelompokkan bersama.
* **Rekomendasi** mengubah deskripsi item menjadi vektor *embedding*. Saat pengguna tertarik pada suatu item, sistem mencari item lain dengan vektor serupa untuk direkomendasikan.
* **Deteksi Anomali** mengubah kalimat menjadi vektor. Vektor yang sangat berbeda dari sebagian besar vektor lain akan diidentifikasi sebagai anomali.
* **Pengukuran Keragaman** menggunakan vektor dari kalimat untuk menganalisis keragaman kalimat dalam ruang vektor. Keragaman dapat diukur melalui distribusi jarak antarvektor.
* **Klasifikasi** membandingkan vektor kalimat dengan vektor label yang ada. Kalimat kemudian diklasifikasikan ke kategori dengan vektor paling serupa.

*Endpoint* ini menggunakan metode *POST*. Data permintaan dikirim ke *server* untuk diproses. Anda dapat menggunakan *endpoint Embeddings* berikut.

Saat ini, hanya model `baai/bge-multilingual-gemma2` yang dapat digunakan untuk *Embeddings*. Kirimkan permintaan ke *endpoint* berikut:

{% tabs %}
{% tab title="Terminal" %}
{% code title="Contoh Permintaan" lineNumbers="true" %}

```json
curl https://dekallm.cloudeka.ai/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "input": "Masukkan teks Anda di sini",
    "model": "baai/bge-multilingual-gemma2"
  }'
```

{% endcode %}
{% endtab %}

{% tab title="Python" %}
{% code title="Contoh Permintaan" lineNumbers="true" %}

```python
import requests

# URL endpoint
url = "https://dekallm.cloudeka.ai/v1/embeddings"

# Header dengan tipe konten dan otorisasi
headers = {
    "Content-Type": "application/json",
    "Authorization": "API_KEY"  # ganti API_KEY dengan API key Anda
}

# Data JSON yang akan dikirim
data = {
    "input": "Masukkan teks Anda di sini",
    "model": "baai/bge-multilingual-gemma2"
}

# Permintaan POST
response = requests.post(url, headers=headers, json=data)

# Memeriksa apakah permintaan berhasil
if response.status_code == 200:
    print("Respons:", response.json())
else:
    print("Gagal mendapatkan embedding. Kode status:", response.status_code)
    print("Respons:", response.text)
```

{% endcode %}
{% endtab %}
{% endtabs %}

Berikut hasil *respons* yang diterima.

{% code title="Respons" lineNumbers="true" %}

```json
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [
        0.0023064255,
        -0.009327292,
        .... (1536 floats total for ada-002)
        -0.0028842222,
      ],
      "index": 0
    }
  ],
  "model": "text-embedding-ada-002",
  "usage": {
    "prompt_tokens": 8,
    "total_tokens": 8
  }
}
```

{% endcode %}
