# Gömme (embedding) vektörü üret

OpenAI `POST /v1/embeddings` ile uyumlu. `input` alanı tek metin ya da metin dizisi olabilir; maskeleme açıkken metinde tespit edilen kişisel alanlar vektör hesaplanmadan **önce** yer tutuculara dönüştürülür. Yani dönen vektör, maskeli metnin vektörüdür.

Bunun iki pratik sonucu vardır ve ikisi de baştan bilinmelidir:

- **Aynı belge her zaman aynı vektörü üretir.** Yer tutucular bu uçta deterministiktir (`<PERSON_1>`), böylece belgeyi yeniden gömdüğünüzde indeksinizdeki vektör tutar.
- **Maskelenen varlıklar birbirinden ayırt edilmez.** Yalnız kişi adında farklı olan iki belge aynı vektörü üretir (ölçüldü: benzerlik 1,000); kişi adıyla sorgu ikisine de aynı puanı verir. Arama hata vermez, yanlış kişinin belgesini eşit olasılıkla döndürür. Konu bazlı arama etkilenmez. İndeksleme ve sorgulama aynı yoldan geçmelidir.

Önceden token’lanmış girdi (token id dizisi) metin olmadığı için maskelenemez ve **fail-closed** 415 ile reddedilir.

POST `/v1/embeddings`

## Request body

required `application/json`

`model` string required

Gömme modeli kimliği (panelde tanımlı).

`input` string | string[] required

Vektörü hesaplanacak metin ya da metin dizisi. Token id dizisi gönderilemez (maskelenemediği için 415 ile reddedilir).

One of:

string

`string`

string[]

Array of `string`

`string`

`dimensions` integer

Modelin desteklediği durumda çıktı vektör boyutu.

min 1

`encoding_format` string

default: "float"

Allowed: `float` `base64`

## Responses

200 Vektör listesi

`object` string

`model` string

`data` object[]

Array of `object`

`object` string

`index` integer

`embedding` number[] | string<byte>

`encoding_format` varsayılan (`float`) ise sayı dizisi; `base64` istenirse base64 kodlanmış DİZE döner. İstemciniz iki biçimi de karşılayabilmelidir.

One of:

number[]

Array of `number`

`number`

string<byte>

`string<byte>`

`usage` object

`prompt_tokens` integer

`total_tokens` integer

401 Eksik veya geçersiz sanal anahtar

`error` object

`message` string

`type` string

413 Girdi maskeleme sınırını aşıyor. İstek modele iletilmez; metni bölüp yeniden gönderin.

`error` object

`message` string

`type` string

415 Girdi önceden token'lanmış (token id dizisi). Metin olmadığı için maskelenemez; istek **fail-closed** olarak sağlayıcıya iletilmez. Metin göndererek tekrar deneyin.

`error` object

`message` string

`type` string

429 Kota/oran limiti aşıldı

`error` object

`message` string

`type` string

502 Maskeleme adımı çalıştırılamadı. İstek **fail-closed** olarak sağlayıcıya iletilmez; "maskesiz de olsa gönder" seçeneği yoktur.

`error` object

`message` string

`type` string

### Request

#### python

```
import requests

response = requests.post(
    "https://gw-tr.gurubase.io/v1/embeddings",
    headers={
        "Content-Type": "application/json"
    },
    json={
  "model": "text-embedding-3-small",
  "input": "string",
  "dimensions": 0,
  "encoding_format": "float"
},
)
```

#### curl

```
curl -X POST "https://gw-tr.gurubase.io/v1/embeddings" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "text-embedding-3-small",
  "input": "string",
  "dimensions": 0,
  "encoding_format": "float"
}'
```

#### js

```
const response = await fetch("https://gw-tr.gurubase.io/v1/embeddings", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
  "model": "text-embedding-3-small",
  "input": "string",
  "dimensions": 0,
  "encoding_format": "float"
})
});
```

### Response

#### 200

```
{
  "object": "list",
  "model": "text-embedding-3-small",
  "data": [
    {
      "object": "embedding",
      "index": 0,
      "embedding": [
        0
      ]
    }
  ],
  "usage": {
    "prompt_tokens": 0,
    "total_tokens": 0
  }
}
```

#### 401

```
{
  "error": {
    "message": "string",
    "type": "string"
  }
}
```

#### 413

```
{
  "error": {
    "message": "string",
    "type": "string"
  }
}
```

#### 415

```
{
  "error": {
    "message": "string",
    "type": "string"
  }
}
```

#### 429

```
{
  "error": {
    "message": "string",
    "type": "string"
  }
}
```

#### 502

```
{
  "error": {
    "message": "string",
    "type": "string"
  }
}
```
