# Tokenizer

Bir tokenizer, bir modelin girdilerini hazırlamaktan sorumludur. Kütüphane, tüm modeller için tokenizer'lar içerir. Tokenizer'ların çoğu iki farklı biçimde mevcuttur: tam bir Python uygulaması ve Rust kütüphanesi [🤗 Tokenizers](https://github.com/huggingface/tokenizers) tabanlı bir "Fast" uygulama. "Fast" uygulamaları şunları sağlar:

1. özellikle toplu (batched) tokenizasyon yaparken belirgin bir hız artışı ve
2. orijinal dize (karakterler ve kelimeler) ile token uzayı (örneğin, belirli bir karakteri içeren tokenın indeksini veya belirli bir tokene karşılık gelen karakter aralığını) arasında eşleme yapmak için ek yöntemler.

Taban sınıfları [PreTrainedTokenizer](/docs/transformers/main/tr/main_classes/tokenizer#transformers.PythonBackend) ve [PreTrainedTokenizerFast](/docs/transformers/main/tr/main_classes/tokenizer#transformers.TokenizersBackend), model girdilerinde (aşağıda bkz.) dize girdilerini kodlamak için ortak yöntemleri ve yerel bir dosya veya dizinden ya da kütüphanenin sağladığı önceden eğitilmiş bir tokenizer'dan (HuggingFace'in AWS S3 deposundan indirilen) python ve "Fast" tokenizer'larını anlık olarak oluşturmayı/kaydetmeyi uygular. İkisi de ortak yöntemleri içeren [PreTrainedTokenizerBase](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase)'e dayanır.

[PreTrainedTokenizer](/docs/transformers/main/tr/main_classes/tokenizer#transformers.PythonBackend) ve [PreTrainedTokenizerFast](/docs/transformers/main/tr/main_classes/tokenizer#transformers.TokenizersBackend) bu nedenle tüm tokenizer’ları kullanmak için ana yöntemleri uygular:

- Tokenizing (alt kelime token dizgilerinde dizgeleri bölmek), token dizgelerini kimliklere ve geriye dönüştürmek, kodlama/çözme (yani, tokenizasyon ve tamsayılara dönüştürme).
- Altta yatan yapıdan (BPE, SentencePiece...) bağımsız bir şekilde sözlüğe yeni token eklemek.
- Özel jetonların (mask, cümle başlangıcı vb.) yönetimi: bunların eklenmesi, kolay erişim için tokenizer'daki özniteliklere atanması ve jetonlaştırma sırasında bölünmemelerinin sağlanması.

[BatchEncoding](/docs/transformers/main/tr/main_classes/tokenizer#transformers.BatchEncoding), [PreTrainedTokenizerBase](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase)'in kodlama yöntemlerinin (`__call__`, `encode_plus` ve `batch_encode_plus`) çıktısını barındırır ve bir Python sözlüğünden türetilmiştir. Tokenizer saf bir Python tokenizer olduğunda, bu sınıf standart bir Python sözlüğü gibi davranır ve bu yöntemler tarafından hesaplanan çeşitli model girdilerini (`input_ids`, `attention_mask`...) tutar. Tokenizer bir "Fast" tokenizer olduğunda (yani HuggingFace [tokenizers library](https://github.com/huggingface/tokenizers) tarafından destekleniyorsa), bu sınıf ayrıca orijinal dize (karakterler ve kelimeler) ile token alanı (örneğin, belirli bir karakteri içeren tokenın indeksini veya belirli bir tokene karşılık gelen karakter aralığını) arasında eşleme yapmak için kullanılabilecek çeşitli gelişmiş hizalama yöntemleri sağlar.

## Çok Modlu Sözcükleştirici

Bunun dışında her tokenizer, "çok modlu" bir tokenizer olabilir; bu, tokenizer'ın daha kolay erişim için tüm ilgili özel token'ları tokenizer öznitelikleri olarak tutacağı anlamına gelir. Örneğin, tokenizer LLaVA gibi bir görme-dil modelinden yüklendiyse, yer tutucu olarak kullanılan özel görüntü token'ını elde etmek için `tokenizer.image_token_id`'ye erişebilirsiniz.

Herhangi bir tür tokenizer için ek özel tokenlar etkinleştirmek istiyorsanız, aşağıdaki satırları eklemeniz ve tokenizer'ı kaydetmeniz gerekir. Ek özel tokenlar modallite ile ilgili olmak zorunda değildir ve modelin sık sık erişime ihtiyaç duyduğu herhangi bir şey olabilir. Aşağıdaki kodda, `output_dir` konumundaki tokenizer, üç ek özel tokena doğrudan erişim imkânına sahip olacaktır.

```python
vision_tokenizer = AutoTokenizer.from_pretrained(
    "llava-hf/llava-1.5-7b-hf",
    extra_special_tokens={"image_token": "<image>", "boi_token": "<image_start>", "eoi_token": "<image_end>"}
)
print(vision_tokenizer.image_token, vision_tokenizer.image_token_id)
("<image>", 32000)
```

## PreTrainedTokenizer[[transformers.PythonBackend]]

#### transformers.PythonBackend[[transformers.PythonBackend]]

```python
transformers.PythonBackend(**kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L400)

**Parametreler:**

model_max_length (`int`, *isteğe bağlı*) : Transformer modeline girecek girdilerin maksimum uzunluğu (token sayısı cinsinden). Tokenizer [from_pretrained()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.from_pretrained) ile yüklendiğinde, bu değer `max_model_input_sizes` içinde ilgili model için saklanan değere ayarlanır (bkz. yukarı). Bir değer sağlanmazsa, varsayılan olarak VERY_LARGE_INTEGER (`int(1e30)`) kullanılır.

padding_side (`str`, *isteğe bağlı*) : Modelin padding uygulanması gereken tarafı. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden alınır.

truncation_side (`str`, *isteğe bağlı*) : Modelde kırpmanın uygulanması gereken taraf. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özniteliğinden alınır.

chat_template (`str`, *isteğe bağlı*) : Sohbet mesajı listelerini biçimlendirmek için kullanılacak bir Jinja şablon dizesi. Tam açıklama için https://huggingface.co/docs/transformers/chat_templating adresine bakın.

model_input_names (`list[string]`, *isteğe bağlı*) : Modelin ileri geçişinin kabul ettiği girdilerin listesi (örneğin `"token_type_ids"` veya `"attention_mask"`). Varsayılan değer, aynı ada sahip sınıf özniteliğinden seçilir.

bos_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Bir cümlenin başlangıcını temsil eden özel bir belirteç.

eos_token (`str` veya `tokenizers.AddedToken`, *opsiyonel*) : Bir cümlenin sonunu temsil eden özel bir belirteç.

unk_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Sözlük dışı bir token'ı temsil eden özel bir token.

sep_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Aynı girdideki iki farklı cümleyi ayıran özel bir belirteç (örneğin BERT tarafından kullanılır).

pad_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Toplu işleme (batching) amacıyla token dizilerini aynı boyuta getirmek için kullanılan özel bir token. Dikkat mekanizmaları veya kayıp (loss) hesaplaması tarafından yok sayılır.

cls_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Girdinin sınıfını temsil eden özel bir jeton (örneğin BERT tarafından kullanılır).

mask_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Maskelenmiş bir token'ı temsil eden özel bir token (BERT gibi maskeli dil modelleme ön eğitim hedeflerinde kullanılır). `self.mask_token` ve `self.mask_token_id` ile ilişkilendirilecektir.

extra_special_tokens (`str` veya `tokenizers.AddedToken` listesi, *isteğe bağlı*) : Modelle ilgili ek özel tokenların listesi. `skip_special_tokens` True olarak ayarlandığında çözümleme sırasında bunların atlanmasını sağlamak için buraya ekleyin. Sözlüğün bir parçası değillerse, sözlüğün sonuna eklenirler.

split_special_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Özel jetonların tokenizasyon işlemi sırasında bölünüp bölünmeyeceğini belirtir. Değer geçilmesi, tokenizer'ın iç durumunu etkiler. Varsayılan davranış, özel jetonları bölmemektir. Bu, `<s>` `bos_token` ise `tokenizer.tokenize("<s>") = ['<s>`]' sonucunu verir. Aksi halde, `split_special_tokens=True` ise `tokenizer.tokenize("<s>")` `['<','s', '>']` sonucunu verir.

Tüm yavaş tokenizörler için temel sınıf.

[PreTrainedTokenizerBase](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase) sınıfından devralır.

Tokenizasyon ve özel tokenlar için tüm ortak yöntemleri, ayrıca önceden eğitilmiş tokenizörleri indirme/önbelleğe alma/yükleme yöntemlerini ve sözlüğe token ekleme yöntemlerini yönetir.

Bu sınıf, tüm tokenizörlerin üzerinde eklenen tokenları birleşik bir şekilde içerir; böylece çeşitli alttaki sözlük yapılarının (BPE, sentencepiece...) özel sözlük genişletme yöntemlerini ayrı ayrı ele almamız gerekmez.

Sınıf özellikleri (türetilen sınıflar tarafından geçersiz kılınır)

- **vocab_files_names** (`dict[str, str]`) -- Modelin gerektirdiği her sözlük dosyasının `__init__` anahtar kelime adını anahtar olarak, ilgili dosyanın kaydedileceği dosya adını (string) ise değer olarak içeren bir sözlük.
- **pretrained_vocab_files_map** (`dict[str, dict[str, str]]`) -- Bir sözlüklerin sözlüğü; üst düzey anahtarlar, modelin gerektirdiği her sözlük dosyasının `__init__` anahtar kelime adını, alt düzey anahtarlar ise ön eğitilmiş modellerin `short-cut-names` kısaltmalarını içerir ve ilişkili değerler olarak ilgili ön eğitilmiş sözlük dosyasına giden `url` adresini taşır.
- **model_input_names** (`list[str]`) -- Modelin ileri geçişinde beklenen girdilerin listesi.
- **padding_side** (`str`) -- Modelin padding uygulanması gereken tarafı için varsayılan değer. `'right'` veya `'left'` olmalıdır.
- **truncation_side** (`str`) -- Modelde kırpmanın uygulanacağı taraf için varsayılan değer. `'right'` veya `'left'` olmalıdır.

#### __call__[[transformers.PythonBackend.__call__]]

```python
__call__(text: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, text_pair: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, text_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, text_pair_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, add_special_tokens: bool = True, padding: bool | str | PaddingStrategy = False, truncation: bool | str | TruncationStrategy | None = None, max_length: int | None = None, stride: int = 0, is_split_into_words: bool = False, pad_to_multiple_of: int | None = None, padding_side: str | None = None, return_tensors: str | TensorType | None = None, return_token_type_ids: bool | None = None, return_attention_mask: bool | None = None, return_overflowing_tokens: bool = False, return_special_tokens_mask: bool = False, return_offsets_mapping: bool = False, return_length: bool = False, verbose: bool = True, tokenizer_kwargs: dict[str, Any] | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L2449)

**Parametreler:**

text (`str`, `list[str]`, `list[list[str]]`, *opsiyonel*) : Kodlanacak dizi veya dizi partisi. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi partisiyle olan belirsizliği gidermek için).

text_pair (`str`, `list[str]`, `list[list[str]]`, *opsiyonel*) : Kodlanacak dizi veya dizi partisi. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi partisiyle olan belirsizliği gidermek için).

text_target (`str`, `list[str]`, `list[list[str]]`, *isteğe bağlı*) : Hedef metinler olarak kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi grubu ile belirsizliği gidermek için).

text_pair_target (`str`, `list[str]`, `list[list[str]]`, *isteğe bağlı*) : Hedef metinler olarak kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi grubu ile belirsizliği gidermek için).

tokenizer_kwargs (`dict[str, Any]`, *isteğe bağlı*) : Tokenizöre iletilecek ek kwargs'lar. Bunlar, açık parametreler ve diğer kwargs'larla birleştirilir; açık parametreler önceliklidir.

add_special_tokens (`bool`, *isteğe bağlı*, varsayılan `True`) : Dizileri kodlarken özel jetonların eklenip eklenmeyeceğini belirtir. Bu, girdi kimliklerine otomatik olarak eklenen jetonları tanımlayan alttaki `PretrainedTokenizerBase.build_inputs_with_special_tokens` işlevini kullanır. `bos` veya `eos` jetonlarını otomatik olarak eklemek istiyorsanız bu işe yarar.

padding (`bool`, `str` veya [PaddingStrategy](/docs/transformers/main/tr/internal/file_utils#transformers.utils.PaddingStrategy), *isteğe bağlı*, varsayılan `False`) : Dolguyu (padding) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:  - `True` veya `'longest'`: Batch'teki en uzun diziye kadar doldurur (yalnızca tek bir dizi sağlanırsa dolgu yapılmaz). - `'max_length'`: `max_length` argümanı ile belirtilen maksimum uzunluğa kadar veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum girdi uzunluğuna kadar doldurur. - `False` veya `'do_not_pad'` (varsayılan): Dolgu yapılmaz (yani, farklı uzunluklarda diziler içeren bir batch çıktısı alınabilir).

truncation (`bool`, `str` veya [TruncationStrategy](/docs/transformers/main/tr/internal/tokenization_utils#transformers.tokenization_utils_base.TruncationStrategy), *opsiyonel*, varsayılan `False`) : Kısaltmayı etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:  - `True` veya `'longest_first'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir dizi çifti (veya çiftlerin bir partisi) sağlanırsa, çiftteki en uzun diziden token token kısaltma yapar. - `'only_first'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir dizi çifti (veya çiftlerin bir partisi) sağlanırsa, yalnızca çiftin ilk dizisini kısaltır. - `'only_second'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir dizi çifti (veya çiftlerin bir partisi) sağlanırsa, yalnızca çiftin ikinci dizisini kısaltır. - `False` veya `'do_not_truncate'` (varsayılan): Kısaltma yapılmaz (yani, modelin kabul edebileceği maksimum giriş boyutundan daha uzun dizi uzunluklarına sahip partiler üretebilir).

max_length (`int`, *opsiyonel*) : Kırpma/doldurma parametrelerinden biri tarafından kullanılacak olan maksimum uzunluğu kontrol eder. Ayarlanmaz veya `None` olarak ayarlanırsa, kırpma/doldurma parametrelerinden biri maksimum uzunluk gerektiriyorsa, önceden tanımlanmış modelin maksimum uzunluğu kullanılır. Modelin belirli bir maksimum giriş uzunluğu yoksa (XLNet gibi) maksimum uzunluğa kırpma/doldurma devre dışı bırakılır.

stride (`int`, *opsiyonel*, varsayılan 0) : `max_length` ile birlikte bir sayıya ayarlanırsa, `return_overflowing_tokens=True` olduğunda döndürülen taşan jetonlar, kısaltılmış ve taşan diziler arasında bir örtüşme sağlamak amacıyla kısaltılmış dizinin sonundan döndürülen bazı jetonları içerir. Bu argümanın değeri, örtüşen jetonların sayısını belirler.

is_split_into_words (`bool`, *isteğe bağlı*, varsayılan `False`) : Girdinin önceden tokenize edilip edilmediğini (örneğin, kelimelere ayrılmış olup olmadığını) belirtir. `True` olarak ayarlanırsa, tokenizer girdinin zaten kelimelere ayrılmış olduğunu (örneğin, boşluklara göre bölünmüş) varsayar ve bunları tokenize eder. Bu, NER veya token sınıflandırma için faydalıdır.

pad_to_multiple_of (`int`, *isteğe bağlı*) : Ayarlanırsa, diziyi verilen değerin katına kadar doldurur. Bunun için `padding` etkinleştirilmelidir. Bu, hesaplama yeteneği `>= 7.5` (Volta) olan NVIDIA donanımlarında Tensor Cores kullanımını etkinleştirmek için özellikle faydalıdır.

padding_side (`str`, *isteğe bağlı*) : Modelin padding uygulanması gereken tarafı. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden alınır.

return_tensors (`str` veya [TensorType](/docs/transformers/main/tr/internal/file_utils#transformers.TensorType), *opsiyonel*) : Ayarlanırsa, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler:  - `'pt'`: PyTorch `torch.Tensor` nesnelerini döndürür. - `'np'`: Numpy `np.ndarray` nesnelerini döndürür.

return_token_type_ids (`bool`, *isteğe bağlı*) : Token türü kimliklerinin döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, `return_outputs` özniteliği tarafından tanımlanan, ilgili tokenizer'ın varsayılanına göre token türü kimlikleri döndürülür.  [Token türü kimlikleri nelerdir?](../glossary#token-type-ids)

return_attention_mask (`bool`, *isteğe bağlı*) : Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, `return_outputs` özniteliğiyle tanımlanan, ilgili tokenizer'ın varsayılanına göre dikkat maskesi döndürülür.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

return_overflowing_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Taşan token dizilerinin döndürülüp döndürülmeyeceğini belirtir. Girdi kimlikleri için bir dizi çifti (veya bir çiftler partisi) `truncation_strategy = longest_first` veya `True` ile sağlanırsa, taşan tokenlar döndürülmek yerine bir hata oluşturulur.

return_special_tokens_mask (`bool`, *isteğe bağlı*, varsayılan `False`) : Özel jeton maskesi bilgisinin döndürülüp döndürülmeyeceği.

return_offsets_mapping (`bool`, *isteğe bağlı*, varsayılan `False`) : Her token için `(char_start, char_end)` döndürülecek mi. Bu yalnızca [PreTrainedTokenizerFast](/docs/transformers/main/tr/main_classes/tokenizer#transformers.TokenizersBackend)'ten türeyen hızlı tokenizer'lar için kullanılabilir; Python tokenizer'ı kullanılıyorsa bu yöntem `NotImplementedError` fırlatır.

return_length  (`bool`, *isteğe bağlı*, varsayılan `False`) : Kodlanmış girdilerin uzunluklarının döndürülüp döndürülmeyeceğini belirtir.

verbose (`bool`, *isteğe bağlı*, varsayılan `True`) : Daha fazla bilgi ve uyarı basılıp basılmayacağı.

- ****kwargs** : `self.tokenize()` yöntemine iletilir

**Dönüş:** [BatchEncoding](/docs/transformers/main/tr/main_classes/tokenizer#transformers.BatchEncoding)

Aşağıdaki alanlara sahip bir [BatchEncoding](/docs/transformers/main/tr/main_classes/tokenizer#transformers.BatchEncoding):

- **input_ids** -- Bir modele verilecek token kimliklerinin listesi.

  [Girdi kimlikleri nelerdir?](../glossary#input-ids)

- **token_type_ids** -- Bir modele verilecek token türü kimlikleri listesi (`return_token_type_ids=True` olduğunda veya `self.model_input_names` içinde *"token_type_ids"* varsa).

  [Token type ID'leri nelerdir?](../glossary#token-type-ids)

- **attention_mask** -- Modelin hangi token'lara dikkat etmesi gerektiğini belirleyen indeks listesi (`return_attention_mask=True` olduğunda veya *"attention_mask"* `self.model_input_names` içinde olduğunda).

  [Dikkat maskeleri nedir?](../glossary#attention-mask)

- **overflowing_tokens** -- Taşan token dizileri listesi (`max_length` belirtildiğinde ve `return_overflowing_tokens=True` olduğunda).
- **num_truncated_tokens** -- Kırpılan token sayısı (`max_length` belirtildiğinde ve `return_overflowing_tokens=True` olduğunda).
- **special_tokens_mask** -- 0 ve 1'lerden oluşan liste; 1 eklenen özel tokenları, 0 ise normal dizi tokenlarını belirtir (`add_special_tokens=True` ve `return_special_tokens_mask=True` olduğunda).
- **length** -- Girdilerin uzunluğu (`return_length=True` olduğunda)

Bir veya birden fazla diziyi veya bir veya birden fazla dizi çiftini model için belirteçlere ayırmak ve hazırlamak için kullanılan ana yöntem.

#### add_tokens[[transformers.PythonBackend.add_tokens]]

```python
add_tokens(new_tokens: str | AddedToken | Sequence[str | AddedToken], special_tokens: bool = False)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L1218)

**Parametreler:**

new_tokens (`str`, `tokenizers.AddedToken` veya *str* ya da `tokenizers.AddedToken` dizisi) : Tokenler yalnızca sözlükte henüz yoklarsa eklenir. `tokenizers.AddedToken`, bir dize token'ı sarmalayarak davranışını kişiselleştirmenizi sağlar: bu token'ın yalnızca tek bir kelimeyle eşleşip eşleşmeyeceği, sol taraftaki tüm olası boşlukları kaldırıp kaldırmayacağı, sağ taraftaki tüm olası boşlukları kaldırıp kaldırmayacağı vb.

special_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Token'ın özel olup olmadığını belirtir. Bu, büyük ölçüde normalizasyon davranışını değiştirir. HuggingFace tokenizers kütüphanesindeki `tokenizers.AddedToken` için ayrıntılara bakın.

**Dönüş:** `int`

Sözlüğe eklenen token sayısı.

#TODO buradan kaldır! PreTrainedTokenizerBase, AddedToken'dan bağımsız olmalıdır.

Yeni token listesini ekleyin. Yeni tokenler sözlükte yoksa, sonuna eklenir. Bu nedenle eklenen tokenler ile tokenizasyon algoritmasının sözlüğündeki tokenler aynı şekilde ele alınmaz.

`Metaspace` ön-ayırıcısını `prepend_scheme="always"` ile kullanan hızlı ayırıcılar (ör. NLLB), eklenmiş bir token'ın ardından gelen metne `"▁"` ekler. `tokenizer.add_tokens(["abcd"])` çağrısından sonra `"abcdgym"`, `["abcd", "▁gym"]` olarak ayrılır ve `"abcd gym"` olarak çözümlenir. Eklenmiş token'lar kelime içlerinde görünebiliyorsa, ön-ayırıcıyı değiştirin

sadece girdinin başına eklenmesi için `prepend_scheme="first"` olarak

```python
from tokenizers import pre_tokenizers

pre_tokenizer = tokenizer.backend_tokenizer.pre_tokenizer
tokenizer.backend_tokenizer.pre_tokenizer = pre_tokenizers.Metaspace(
    replacement=pre_tokenizer.replacement, prepend_scheme="first", split=pre_tokenizer.split
)
```

Örnekler:

```python
# Let's see how to increase the vocabulary of Bert model and tokenizer
tokenizer = BertTokenizerFast.from_pretrained("google-bert/bert-base-uncased")
model = BertModel.from_pretrained("google-bert/bert-base-uncased")

num_added_toks = tokenizer.add_tokens(["new_tok1", "my_new-tok2"])
print("We have added", num_added_toks, "tokens")
# Notice: resize_token_embeddings expect to receive the full size of the new vocabulary, i.e., the length of the tokenizer.
model.resize_token_embeddings(len(tokenizer))
```

#### add_special_tokens[[transformers.PythonBackend.add_special_tokens]]

```python
add_special_tokens(special_tokens_dict: dict[str, str | AddedToken | Sequence[str | AddedToken]], replace_extra_special_tokens = True)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L1113)

**Parametreler:**

special_tokens_dict (*str*'den *str*, `tokenizers.AddedToken` veya `Sequence[Union[str, AddedToken]]` türünde bir sözlük) : Anahtarlar, önceden tanımlanmış özel özniteliklerin listesinde olmalıdır: [`bos_token`, `eos_token`, `unk_token`, `sep_token`, `pad_token`, `cls_token`, `mask_token`, `extra_special_tokens`]. Tokenlar yalnızca sözlükte henüz yoklarsa eklenir (tokenizer'ın onlara `unk_token` indeksini atayıp atamadığını kontrol ederek test edilir).

replace_extra_special_tokens (`bool`, *isteğe bağlı*, varsayılan `True`) : `True` ise, mevcut ek özel token listesi, `special_tokens_dict` içinde sağlanan listeyle değiştirilir. Aksi halde `extra_special_tokens` genişletilir. Önceki durumda, tokenlar tokenizer'ın tam sözlüğünden KALDIRILMAZ - yalnızca özel olmayan token olarak işaretlenir. Unutmayın, bu yalnızca çözümleme sırasında atlanan tokenları etkiler, `added_tokens_encoder` ve `added_tokens_decoder` etkilenmez. Bu, önceki `extra_special_tokens`'in hâlâ eklenmiş tokenlar olduğu ve model tarafından bölünmeyeceği anlamına gelir.

**Dönüş:** `int`

Sözlüğe eklenen token sayısı.

Özel tokenler (eos, pad, cls vb.) sözlüğünü ekleyiciye ekleyin ve bunları sınıf özniteliklerine bağlayın. Özel tokenler sözlükte (vocabulary) yoksa, mevcut sözlüğün son indeksinden başlayarak indekslenerek sözlüğe eklenir.

Sözlüğe yeni token eklerken, modelin token gömme matrisini yeniden boyutlandırmanız ve gömme matrisinin tokenizer ile eşleşmesini sağlamanız gerekir.

Bunu yapmak için lütfen [resize_token_embeddings()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.resize_token_embeddings) yöntemini kullanın.

`add_special_tokens` kullanmak, özel jetonlarınızın çeşitli şekillerde kullanılmasını sağlar:

- Özel jetonlar, `skip_special_tokens = True` kullanılarak çözümlenirken atlanabilir.
- Özel jetonlar, `AddedTokens` benzeri şekilde, tokenizer tarafından dikkatle işlenir (asla bölünmezler).
- Özel jetonlara `tokenizer.cls_token` gibi tokenizer sınıf öznitelikleri aracılığıyla kolayca başvurabilirsiniz. Bu, modelden bağımsız eğitim ve ince ayar betikleri geliştirmeyi kolaylaştırır.

Mümkün olduğunda, sağlanan önceden eğitilmiş modeller için özel jetonlar zaten kayıtlıdır (örneğin [BertTokenizer](/docs/transformers/main/tr/model_doc/lxmert#transformers.BertTokenizer) `cls_token` zaten `'[CLS]'` olarak kayıtlıdır ve XLM'ninkisi de `'</s>'` olarak kayıtlıdır).

Örnekler:

```python
# Let's see how to add a new classification token to GPT-2
tokenizer = GPT2Tokenizer.from_pretrained("openai-community/gpt2")
model = GPT2Model.from_pretrained("openai-community/gpt2")

special_tokens_dict = {"cls_token": "<CLS>"}

num_added_toks = tokenizer.add_special_tokens(special_tokens_dict)
print("We have added", num_added_toks, "tokens")
# Notice: resize_token_embeddings expect to receive the full size of the new vocabulary, i.e., the length of the tokenizer.
model.resize_token_embeddings(len(tokenizer))

assert tokenizer.cls_token == "<CLS>"
```

#### apply_chat_template[[transformers.PythonBackend.apply_chat_template]]

```python
apply_chat_template(conversation: list[dict[str, str]] | list[list[dict[str, str]]], tools: list[dict | Callable] | None = None, documents: list[dict[str, str]] | None = None, chat_template: str | None = None, add_generation_prompt: bool = False, continue_final_message: bool | str = False, tokenize: bool = True, sanitize_control_tokens: bool = False, padding: bool | str | PaddingStrategy = False, truncation: bool = False, max_length: int | None = None, return_tensors: str | TensorType | None = None, return_dict: bool = True, return_assistant_tokens_mask: bool = False, tokenizer_kwargs: dict[str, Any] | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L3021)

**Parametreler:**

conversation (Union[list[dict[str, str]], list[list[dict[str, str]]]]) : Şu ana kadarki sohbet geçmişini temsil eden, "role" ve "content" anahtarlarına sahip sözlüklerden oluşan bir liste.

tools (`list[Union[Dict, Callable]]`, *isteğe bağlı*) : Modelin erişebileceği araçların (çağrılabilir fonksiyonların) listesi. Şablon fonksiyon çağrısını desteklemiyorsa bu argüman hiçbir etki yaratmaz. Her araç, aracın adını, açıklamasını ve argüman türlerini belirten bir JSON Şeması olarak geçirilmelidir. Daha fazla bilgi için [araç kullanımı kılavuzumuza](https://huggingface.co/docs/transformers/en/chat_extras#passing-tools) göz atın.

documents (`list[dict[str, str]]`, *isteğe bağlı*) : RAG (arama destekli üretim) gerçekleştiriyorsa modelin erişebileceği belgeleri temsil eden sözlüklerden oluşan bir liste. Şablon RAG'i desteklemiyorsa bu argümanın bir etkisi olmaz. Her belgenin "title" ve "text" anahtarlarını içeren bir sözlük olmasını öneririz.

chat_template (`str`, *isteğe bağlı*) : Bu dönüştürme için kullanılacak bir Jinja şablonu. Modelin şablonu varsayılan olarak kullanıldığından, bu argümana bir şey geçirmek genellikle gerekmez.

add_generation_prompt (bool, *optional*) : Bu ayarlanırsa, asistan mesajının başlangıcını gösteren token(lar)ı içeren bir istemci, biçimlendirilmiş çıktıya eklenecektir. Bu, modelden bir yanıt üretmek istediğinizde faydalıdır. Dikkat edin, bu argüman sohbet şablonuna (chat template) aktarılacağından, bu argümanın herhangi bir etki yaratabilmesi için şablon tarafından desteklenmesi gerekir.

continue_final_message (bool or str, *isteğe bağlı*) : Bu ayarlanırsa, sohbet, sohbetin son mesajının açık uçlu olacak şekilde biçimlendirilir ve herhangi bir EOS token'ı içermez. Model, yeni bir mesaj başlatmak yerine bu mesajı devam ettirir. Bu, modelin yanıtının bir kısmını "ön doldurmanıza" olanak tanır. Bir dize geçirilirse, devam edilecek alanın anahtarı olarak kullanılır (ör. "reasoning_content"). `add_generation_prompt` ile aynı anda kullanılamaz.

tokenize (`bool`, varsayılan `True`) : Çıktının tokenize edilip edilmeyeceğini belirtir. `False` ise çıktı bir dize olur.

sanitize_control_tokens (`bool`, varsayılan `False`) : Ayarlandığında, mesajlarda, araçlarda veya belgelerde görünen kontrol jetonları sıradan metin olarak kodlanır; böylece yalnızca sohbet şablonunun kendisi tarafından yazılan kontrol jetonları jeton olarak kodlanır. Kontrol jetonları, tokenizer'ın özel jetonları ile `tokenizer.chat_control_tokens` içindeki eklenen jetonlardır. Bu değişken ayarlanmamışsa, kontrol jetonları sohbet şablonunun metninde ve dizge sabitlerinde görünen eklenen jetonlardan çıkarılır. Yalnızca bütün kontrol jetonları temizlenir; bu nedenle şablon, girdiden dizgeleri kontrol jetonlarına birleştiriyorsa (örneğin `'<|' + message['role'] + '|>'`), bu dizgelerin ayrı ayrı doğrulanması gerekir. Sözlük anahtarları da temizlenmez.

padding (`bool`, `str` veya [PaddingStrategy](/docs/transformers/main/tr/internal/file_utils#transformers.utils.PaddingStrategy), *opsiyonel*, varsayılan `False`) : Dönen dizilerin dolgusunu (modelin dolgu tarafına ve dolgu indeksine göre) aşağıdakilerden birini seçerek belirleyin: - `True` veya `'longest'`: Batch'teki en uzun diziye kadar dolgu yapın (yalnızca tek bir dizi sağlandıysa dolgu yapılmaz). - `'max_length'`: `max_length` argümanı ile belirtilen maksimum uzunluğa kadar veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar dolgu yapın. - `False` veya `'do_not_pad'` (varsayılan): Dolgu yapılmaz (yani, farklı uzunluklarda dizilere sahip bir batch çıktısı verilebilir).

truncation (`bool`, varsayılan `False`) : Dizilerin maksimum uzunlukta kırpilip kırpılmayacağını belirtir. tokenize `False` ise etkisi yoktur.

max_length (`int`, *isteğe bağlı*) : Dolgu veya kırpma için kullanılacak maksimum uzunluk (token cinsinden). tokenize `False` ise etkisi yoktur. Belirtilmezse, tokenizer'ın `max_length` özniteliği varsayılan olarak kullanılır.

return_tensors (`str` veya [TensorType](/docs/transformers/main/tr/internal/file_utils#transformers.TensorType), *opsiyonel*) : Ayarlanırsa, belirli bir çerçeveye ait tensörleri döndürür. tokenize `False` ise etkisi yoktur. Kabul edilen değerler: - `'pt'`: PyTorch `torch.Tensor` nesnelerini döndürür. - `'np'`: NumPy `np.ndarray` nesnelerini döndürür.

return_dict (`bool`, varsayılan `True`) : Adlandırılmış çıktılar içeren bir sözlük döndürülüp döndürülmeyeceğini belirtir. tokenize `False` ise etkisi yoktur.

tokenizer_kwargs (`dict[str : Any]`, *isteğe bağlı*): Tokenizöre iletilecek ek kwargs.

return_assistant_tokens_mask (`bool`, varsayılan `False`) : Asistan tarafından üretilen token'ların bir maskesini döndürüp döndürmeyeceğini belirtir. Asistan tarafından üretilen token'lar için maske 1 içerir. Kullanıcı ve sistem token'ları için maske 0 içerir. Bu özellik, yalnızca `{% generation %}` anahtar kelimesi üzerinden bunu destekleyen sohbet şablonları için kullanılabilir.

- ****kwargs** : Şablon işleyicisine (template renderer) iletilecek ek kwargs. Sohbet şablonu tarafından erişilebilir olacaktır.

**Dönüş:** `Union[list[int], Dict]`

Şimdiye kadar tokenize edilmiş sohbeti, kontrol tokenları dahil olmak üzere temsil eden token kimliği listesi. Bu çıktı, doğrudan veya `generate()` gibi yöntemler aracılığıyla modele iletmeye hazırdır. `return_dict` ayarlanırsa, bunun yerine tokenizer çıktılarından oluşan bir sözlük döner.

`"role"` ve `"content"` anahtarlarına sahip sözlük listesini, token kimliği listesine dönüştürür. Bu yöntem, sohbet modelleriyle kullanım için tasarlanmıştır ve dönüştürme sırasında kullanılacak biçimi ve kontrol tokenlarını belirlemek için tokenizer'ın chat_template özniteliklerini okur.

#### batch_decode[[transformers.PythonBackend.batch_decode]]

```python
batch_decode(sequences: list[int] | list[list[int]] | np.ndarray | torch.Tensor, skip_special_tokens: bool = False, clean_up_tokenization_spaces: bool | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L2933)

**Parametreler:**

sequences (`Union[list[int], list[list[int]], np.ndarray, torch.Tensor]`) : Tokenize edilmiş girdi kimliklerinin listesi. `__call__` yöntemi kullanılarak elde edilebilir.

skip_special_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Çözümleme sırasında özel jetonların kaldırılıp kaldırılmayacağı.

clean_up_tokenization_spaces (`bool`, *isteğe bağlı*) : Tokenizasyon boşluklarının temizlenip temizlenmeyeceğini belirtir. `None` ise, varsayılan olarak `self.clean_up_tokenization_spaces` kullanılır.

kwargs (ek anahtar kelime argümanları, *isteğe bağlı*) : Altta yatan modele özgü decode yöntemine aktarılacaktır.

**Dönüş:** `list[str]`

Çözümlenmiş cümlelerin listesi.

decode çağrısı yaparak token kimlikleri içeren listelerin listesini, dizelerin listesine dönüştürün.

Bu yöntem geriye dönük uyumluluk için sağlanmıştır. `decode` yöntemi artık toplu (batched) girdileri yerel olarak işler, bu nedenle `batch_decode` yerine doğrudan `decode` kullanabilirsiniz.

#### decode[[transformers.PythonBackend.decode]]

```python
decode(token_ids: int | list[int] | list[list[int]] | np.ndarray | torch.Tensor, skip_special_tokens: bool = False, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L2885)

**Parametreler:**

token_ids (`Union[int, list[int], list[list[int]], np.ndarray, torch.Tensor]`) : Tokenize edilmiş girdi kimliklerinin tek bir dizisi veya bir partisi (diziler listesi). `__call__` yöntemi kullanılarak elde edilebilir.

skip_special_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Çözümleme sırasında özel jetonların kaldırılıp kaldırılmayacağı.

kwargs (ek anahtar kelime argümanları, *isteğe bağlı*) : Altta yatan modele özgü decode yöntemine aktarılacaktır.

**Dönüş:** `Union[str, list[str]]`

Tek bir dizi için çözümlenmiş dize veya bir dizi grubu için çözümlenmiş dizeler listesi.

Özel token'ları kaldırma ve tokenizasyon boşluklarını temizleme seçenekleriyle, tokenizer ve sözlük kullanarak bir id dizisini bir metne veya diziler listesini metinler listesine dönüştürür.

`self.convert_tokens_to_string(self.convert_ids_to_tokens(token_ids))` işlemine benzer.

#### encode[[transformers.PythonBackend.encode]]

```python
encode(text: TextInput | PreTokenizedInput | EncodedInput, text_pair: TextInput | PreTokenizedInput | EncodedInput | None = None, add_special_tokens: bool = True, padding: bool | str | PaddingStrategy = False, truncation: bool | str | TruncationStrategy | None = None, max_length: int | None = None, stride: int = 0, padding_side: str | None = None, return_tensors: str | TensorType | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L2263)

**Parametreler:**

text (`str`, `list[str]` veya `list[int]`) : Kodlanacak ilk dizi. Bu, bir dize, bir dize listesi (`tokenize` yöntemiyle tokenize edilmiş dize) veya bir tamsayı listesi (`convert_tokens_to_ids` yöntemiyle tokenize edilmiş dize kimlikleri) olabilir.

text_pair (`str`, `list[str]` veya `list[int]`, *isteğe bağlı*) : Kodlanacak isteğe bağlı ikinci dizi. Bu, bir dize, bir dize listesi (`tokenize` yöntemiyle tokenize edilmiş dize) veya bir tamsayı listesi (`convert_tokens_to_ids` yöntemiyle tokenize edilmiş dize kimlikleri) olabilir.

add_special_tokens (`bool`, *isteğe bağlı*, varsayılan `True`) : Dizileri kodlarken özel jetonların eklenip eklenmeyeceğini belirtir. Bu, girdi kimliklerine otomatik olarak eklenen jetonları tanımlayan alttaki `PretrainedTokenizerBase.build_inputs_with_special_tokens` işlevini kullanır. `bos` veya `eos` jetonlarını otomatik olarak eklemek istiyorsanız bu işe yarar.

padding (`bool`, `str` veya [PaddingStrategy](/docs/transformers/main/tr/internal/file_utils#transformers.utils.PaddingStrategy), *isteğe bağlı*, varsayılan `False`) : Dolguyu (padding) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:  - `True` veya `'longest'`: Batch'teki en uzun diziye kadar doldurur (yalnızca tek bir dizi sağlanırsa dolgu yapılmaz). - `'max_length'`: `max_length` argümanı ile belirtilen maksimum uzunluğa kadar veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum girdi uzunluğuna kadar doldurur. - `False` veya `'do_not_pad'` (varsayılan): Dolgu yapılmaz (yani, farklı uzunluklarda diziler içeren bir batch çıktısı alınabilir).

truncation (`bool`, `str` veya [TruncationStrategy](/docs/transformers/main/tr/internal/tokenization_utils#transformers.tokenization_utils_base.TruncationStrategy), *opsiyonel*, varsayılan `False`) : Kısaltmayı etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:  - `True` veya `'longest_first'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir dizi çifti (veya çiftlerin bir partisi) sağlanırsa, çiftteki en uzun diziden token token kısaltma yapar. - `'only_first'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir dizi çifti (veya çiftlerin bir partisi) sağlanırsa, yalnızca çiftin ilk dizisini kısaltır. - `'only_second'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir dizi çifti (veya çiftlerin bir partisi) sağlanırsa, yalnızca çiftin ikinci dizisini kısaltır. - `False` veya `'do_not_truncate'` (varsayılan): Kısaltma yapılmaz (yani, modelin kabul edebileceği maksimum giriş boyutundan daha uzun dizi uzunluklarına sahip partiler üretebilir).

max_length (`int`, *opsiyonel*) : Kırpma/doldurma parametrelerinden biri tarafından kullanılacak olan maksimum uzunluğu kontrol eder. Ayarlanmaz veya `None` olarak ayarlanırsa, kırpma/doldurma parametrelerinden biri maksimum uzunluk gerektiriyorsa, önceden tanımlanmış modelin maksimum uzunluğu kullanılır. Modelin belirli bir maksimum giriş uzunluğu yoksa (XLNet gibi) maksimum uzunluğa kırpma/doldurma devre dışı bırakılır.

stride (`int`, *opsiyonel*, varsayılan 0) : `max_length` ile birlikte bir sayıya ayarlanırsa, `return_overflowing_tokens=True` olduğunda döndürülen taşan jetonlar, kısaltılmış ve taşan diziler arasında bir örtüşme sağlamak amacıyla kısaltılmış dizinin sonundan döndürülen bazı jetonları içerir. Bu argümanın değeri, örtüşen jetonların sayısını belirler.

is_split_into_words (`bool`, *isteğe bağlı*, varsayılan `False`) : Girdinin önceden tokenize edilip edilmediğini (örneğin, kelimelere ayrılmış olup olmadığını) belirtir. `True` olarak ayarlanırsa, tokenizer girdinin zaten kelimelere ayrılmış olduğunu (örneğin, boşluklara göre bölünmüş) varsayar ve bunları tokenize eder. Bu, NER veya token sınıflandırma için faydalıdır.

pad_to_multiple_of (`int`, *isteğe bağlı*) : Ayarlanırsa, diziyi verilen değerin katına kadar doldurur. Bunun için `padding` etkinleştirilmelidir. Bu, hesaplama yeteneği `>= 7.5` (Volta) olan NVIDIA donanımlarında Tensor Cores kullanımını etkinleştirmek için özellikle faydalıdır.

padding_side (`str`, *isteğe bağlı*) : Modelin padding uygulanması gereken tarafı. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden alınır.

return_tensors (`str` veya [TensorType](/docs/transformers/main/tr/internal/file_utils#transformers.TensorType), *opsiyonel*) : Ayarlanırsa, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler:  - `'pt'`: PyTorch `torch.Tensor` nesnelerini döndürür. - `'np'`: Numpy `np.ndarray` nesnelerini döndürür.

- ****kwargs** : `.tokenize()` yöntemine iletilir.

**Dönüş:** `list[int]`, `torch.Tensor` veya `np.ndarray`

Metnin tokenize edilmiş kimlikleri.

Dizgiyi, belirteç ayrıştırıcı ve sözlük kullanarak kimlik (tamsay) dizisine dönüştürür.

`self.convert_tokens_to_ids(self.tokenize(text))` işlemiyle aynıdır.

#### push_to_hub[[transformers.PythonBackend.push_to_hub]]

```python
push_to_hub(repo_id: str, commit_message: str | None = None, commit_description: str | None = None, private: bool | None = None, token: bool | str | None = None, revision: str | None = None, create_pr: bool = False, max_shard_size: int | str | None = '50GB', tags: list[str] | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/hub.py#L822)

**Parametreler:**

repo_id (`str`) : Tokenizer'ınızı itmek istediğiniz deposunun adı. Belirli bir organizasyona itme işlemi sırasında organizasyon adınızı içermelidir.

commit_message (`str`, *isteğe bağlı*) : İterilirken taahhüt edilecek mesaj. Varsayılan olarak `"Upload tokenizer"` olur.

commit_description (`str`, *isteğe bağlı*) : Oluşturulacak commit'in açıklaması

private (`bool`, *isteğe bağlı*) : Deponun özel yapılıp yapılmayacağını belirtir. `None` (varsayılan) ise, organizasyonun varsayılanı özel değilse depo herkese açık olur. Depo zaten mevcutsa bu değer yok sayılır.

token (`bool` veya `str`, *isteğe bağlı*) : Uzaktaki dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak belirteç. `True` (varsayılan) ise, `hf auth login` çalıştırıldığında oluşturulan belirteç ( `~/.huggingface` içinde saklanır) kullanılır.

revision (`str`, *isteğe bağlı*) : Yüklenen dosyaların itileceği dal.

create_pr (`bool`, *isteğe bağlı*, varsayılan `False`) : Yüklenen dosyalarla bir PR oluşturulup oluşturulmayacağı veya doğrudan commit atılıp atılmayacağı.

max_shard_size (`int` veya `str`, *isteğe bağlı*, varsayılan `"50GB"`) : Yalnızca modeller için geçerlidir. Bir checkpoint'in parçalanmadan önceki maksimum boyutu. Parçalanan checkpoint'lerin her biri bu boyuttan küçük olacaktır. Dize olarak ifade ediliyorsa, birimle (örneğin `"5MB"`) birlikte rakamlardan oluşmalıdır.

tags (`list[str]`, *isteğe bağlı*) : Hub'a itilecek etiketlerin listesi.

Tokenizer dosyalarını 🤗 Model Hub'a yükleyin.

Örnekler:

```python
from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-cased")

# Push the tokenizer to your namespace with the name "my-finetuned-bert".
tokenizer.push_to_hub("my-finetuned-bert")

# Push the tokenizer to an organization with the name "my-finetuned-bert".
tokenizer.push_to_hub("huggingface/my-finetuned-bert")
```

#### build_inputs_with_special_tokens[[transformers.PythonBackend.build_inputs_with_special_tokens]]

```python
build_inputs_with_special_tokens(token_ids_0: list, token_ids_1: list[int] | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L865)

**Parametreler:**

token_ids_0 (`list[int]`) : Özel jetonların ekleneceği kimliklerin listesi.

token_ids_1 (`list[int]`, *isteğe bağlı*) : Sıralı çiftler için isteğe bağlı ikinci kimlik listesi.

**Dönüş:** `list[int]`

Uygun özel jetonlarla birlikte girdi kimlikleri listesi.

Özel jetonlar ekleyerek bir diziden veya diziler çiftinden model girdileri oluşturun.

Bu yöntem, girdileri belirleyicinin `special_tokens_pattern` değerine göre dinamik olarak oluşturur:
- `"none"`: Özel jeton yok
- `"cls_sep"`: [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] seq1 [SEP]
- `"eos"`: seq0 [EOS] veya seq0 [EOS] seq1 [EOS]
- `"bos"`: [BOS] seq0 veya [BOS] seq0 [BOS] seq1
- `"bos_eos"`: [BOS] seq0 [EOS] veya [BOS] seq0 [EOS] seq1 [EOS]
- `"cls_double_sep"`: [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] [SEP] seq1 [SEP]
- `"prefix_suffix"`: `<prefix_tokens> seq0 [seq1] <suffix_tokens>` (tokenizörde saklanan özel önek/son ek)

#### create_token_type_ids_from_sequences[[transformers.PythonBackend.create_token_type_ids_from_sequences]]

```python
create_token_type_ids_from_sequences(token_ids_0: list, token_ids_1: list[int] | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L1298)

**Parametreler:**

token_ids_0 (`list[int]`) : Kimlik listesi.

token_ids_1 (`list[int]`, *isteğe bağlı*) : Sıralı çiftler için isteğe bağlı ikinci kimlik listesi.

**Dönüş:** `list[int]`

Yapılandırılan desene göre token türü kimlikleri.

Bir sıralama çifti sınıflandırma görevinde kullanılacak şekilde, iletilen iki sıralamadan bir maske oluşturun.

Bu yöntem, belirteçsizin yapılandırma özniteliklerine dayanarak belirteç türü kimliklerini dinamik olarak oluşturur:
- `token_type_ids_pattern`: Kullanılacak desen ("all_zeros" veya "bert_style")
- `token_type_ids_include_special_tokens`: Uzunluk hesabında özel jetonların dikkate alınıp alınmayacağı

Örnekler:
```python
# All zeros pattern (default, used by RoBERTa, BART, etc.)
tokenizer.token_type_ids_pattern = "all_zeros"
# Returns: [0, 0, 0, ...] for both sequences

# BERT-style pattern (first sequence gets 0s, second gets 1s)
tokenizer.token_type_ids_pattern = "bert_style"
# Returns: [0, 0, 0, ..., 1, 1, 1, ...] for sequence pairs
```

#### get_added_vocab[[transformers.PythonBackend.get_added_vocab]]

```python
get_added_vocab()
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L488)

**Dönüş:** `dict[str, int]`

Eklenen jetonlar.

Sözlükte eklenen token'ları, token'dan indekse bir sözlük olarak döndürür. Sonuçlar, hızlı çağrıdan farklı olabilir çünkü şu an için token'lar sözlükte zaten olsa bile her zaman eklenir. Bunun değiştirilmesi gereken bir durumdur.

#### get_special_tokens_mask[[transformers.PythonBackend.get_special_tokens_mask]]

```python
get_special_tokens_mask(token_ids_0: list, token_ids_1: list | None = None, already_has_special_tokens: bool = False)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L969)

**Parametreler:**

token_ids_0 (`list[int]`) : İlk dizinin kimlik listesi.

token_ids_1 (`list[int]`, *isteğe bağlı*) : İkinci dizinin kimlik listesi.

already_has_special_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Token listesinin, model için özel token'larla zaten biçimlendirilmiş olup olmadığı.

**Dönüş:** [0, 1] aralığında tamsayılar listesi

özel bir jeton için 1, bir dizi jetonu için 0.

Özel tokenler eklenmemiş bir token listesinden dizi kimliklerini alır. Bu yöntem, tokenizer'ın `prepare_for_model` veya `encode_plus` yöntemleri kullanılarak özel tokenler eklenirken çağrılır.

Bu yöntem, özel jeton maskesini dinamik olarak oluşturur ve bunun için `special_tokens_pattern` değerini kullanır:
- `"none"`: Özel jeton yok (varsayılan, tümü 0 döner)
- `"cls_sep"`: [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] seq1 [SEP]
- `"eos"`: seq0 [EOS] veya seq0 [EOS] seq1 [EOS]
- `"bos"`: [BOS] seq0 veya [BOS] seq0 [BOS] seq1
- `"bos_eos"`: [BOS] seq0 [EOS] veya [BOS] seq0 [EOS] seq1 [EOS]
- `"cls_double_sep"`: [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] [SEP] seq1 [SEP]
- `"prefix_suffix"`: `<prefix_tokens> seq0 [seq1] <suffix_tokens>`

#### num_special_tokens_to_add[[transformers.PythonBackend.num_special_tokens_to_add]]

```python
num_special_tokens_to_add(pair: bool = False)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L602)

**Parametreler:**

pair (`bool`, *isteğe bağlı*, varsayılan `False`) : Bir dizi çifti veya tek bir dizi durumunda eklenen jeton sayısının hesaplanıp hesaplanmayacağı.

**Dönüş:** `int`

Dizilere eklenen özel jeton sayısı.

Özel jetonlarla bir diziyi kodlarken eklenen jeton sayısını döndürür.

Bu, sahte bir girdiyi kodlar ve eklenen jeton sayısını kontrol eder; bu nedenle verimli değildir. Bunu eğitim döngünüzün içine koymayın.

#### prepare_for_model[[transformers.PythonBackend.prepare_for_model]]

```python
prepare_for_model(ids: list, pair_ids: list[int] | None = None, add_special_tokens: bool = True, padding: bool | str | transformers.utils.generic.PaddingStrategy = False, truncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy = False, max_length: int | None = None, stride: int = 0, pad_to_multiple_of: int | None = None, padding_side: str | None = None, return_tensors: str | transformers.utils.generic.TensorType | None = None, return_token_type_ids: bool | None = None, return_attention_mask: bool | None = None, return_overflowing_tokens: bool = False, return_special_tokens_mask: bool = False, return_length: bool = False, verbose: bool = True, prepend_batch_axis: bool = False, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L1121)

**Parametreler:**

ids : İlk dizinin tokenize edilmiş girdi kimlikleri.

pair_ids : İkinci dizinin tokenize edilmiş girdi kimlikleri (isteğe bağlı).

Girdi kimlikleri dizisini model tarafından kullanılabilecek şekilde hazırlar. Özel jetonları ekler, kısaltır ve doldurur.

#### prepare_for_tokenization[[transformers.PythonBackend.prepare_for_tokenization]]

```python
prepare_for_tokenization(text: str, is_split_into_words: bool = False, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L841)

**Parametreler:**

text (`str`) : Hazırlanacak metin.

is_split_into_words (`bool`, *isteğe bağlı*, varsayılan `False`) : Girdinin önceden tokenize edilip edilmediğini (örneğin, kelimelere ayrılmış olup olmadığını) belirtir. `True` olarak ayarlanırsa, tokenizer girdinin zaten kelimelere ayrılmış olduğunu (örneğin, boşluklara göre bölünmüş) varsayar ve bunları tokenize eder. Bu, NER veya token sınıflandırma için faydalıdır.

kwargs (`dict[str, Any]`, *isteğe bağlı*) : Tokenizasyon için kullanılacak anahtar kelime argümanları.

**Dönüş:** `tuple[str, dict[str, Any]]`

Hazırlanan metin ve kullanılmayan kwargs.

Tokenizasyon öncesinde gerekli tüm dönüşümleri gerçekleştirir.

Bu yöntem, argümanları `kwargs` içinden çıkarmalı ve kalan `kwargs` değerlerini de döndürmelidir. Tüm argümanların kullanıldığından emin olmak için `kwargs` değerlerini kodlama sürecinin sonunda test ederiz.

#### save_vocabulary[[transformers.PythonBackend.save_vocabulary]]

```python
save_vocabulary(save_directory: str, filename_prefix: str | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L1362)

**Parametreler:**

save_directory (`str`) : Sözlüğün kaydedileceği dizin.

filename_prefix (`str`, *isteğe bağlı*) : Kaydedilen dosyaların adlarına eklenecek isteğe bağlı bir önek.

**Dönüş:** `tuple[str, ...]`

Kaydedilen dosyaların yolları, dosya kaydedilmediyse boş tuple.

Ortak sözlük kaydetme kalıpları için varsayılan uygulama. self.encoder/self.vocab'ı JSON olarak kaydeder, isteğe bağlı olarak self.bpe_ranks'ı birleştirmeler (merges) olarak ekler. Sözlük yoksa boş tuple döndürür.

Tokenizörünüz özel kaydetme mantığı gerektiriyorsa (ör. SentencePiece modelleri, birden çok sözlük dosyası veya özel dosya biçimleri) bu yöntemi geçersiz kılın.

#### tokenize[[transformers.PythonBackend.tokenize]]

```python
tokenize(text: str, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L625)

**Parametreler:**

text : Kodlanacak dizi.

- ****kwargs** : Model-özel `prepare_for_tokenization` ön işleme yöntemine iletilir.

**Dönüş:**

Tokenların listesi.

Dizgiyi, belirteç ayrıştırıcıyı kullanarak belirteç dizisine dönüştürür.

#### truncate_sequences[[transformers.PythonBackend.truncate_sequences]]

```python
truncate_sequences(ids: list, pair_ids: list[int] | None = None, num_tokens_to_remove: int = 0, truncation_strategy: str | transformers.tokenization_utils_base.TruncationStrategy = 'longest_first', stride: int = 0)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L1231)

Belirtilen stratejiye göre dizileri kısaltır.

## PreTrainedTokenizerFast[[transformers.TokenizersBackend]]

[PreTrainedTokenizerFast](/docs/transformers/main/tr/main_classes/tokenizer#transformers.TokenizersBackend), [tokenizers](https://huggingface.co/docs/tokenizers) kütüphanesine bağımlıdır. 🤗 tokenizers kütüphanesinden elde edilen tokenizers, 🤗 transformers'a çok basit bir şekilde yüklenebilir. Bunun nasıl yapıldığını anlamak için [🤗 tokenizers'dan tokenizers kullanma](../fast_tokenizers) sayfasına göz atın.

#### transformers.TokenizersBackend[[transformers.TokenizersBackend]]

```python
transformers.TokenizersBackend(*args, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L86)

**Parametreler:**

model_max_length (`int`, *isteğe bağlı*) : Transformer modeline girecek girdilerin maksimum uzunluğu (token sayısı cinsinden). Tokenizer [from_pretrained()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.from_pretrained) ile yüklendiğinde, bu değer `max_model_input_sizes` içinde ilgili model için saklanan değere ayarlanır (bkz. yukarı). Bir değer sağlanmazsa, varsayılan olarak VERY_LARGE_INTEGER (`int(1e30)`) kullanılır.

padding_side (`str`, *isteğe bağlı*) : Modelin padding uygulanması gereken tarafı. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden alınır.

truncation_side (`str`, *isteğe bağlı*) : Modelde kırpmanın uygulanması gereken taraf. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özniteliğinden alınır.

chat_template (`str`, *isteğe bağlı*) : Sohbet mesajı listelerini biçimlendirmek için kullanılacak bir Jinja şablon dizesi. Tam açıklama için https://huggingface.co/docs/transformers/chat_templating adresine bakın.

model_input_names (`list[string]`, *isteğe bağlı*) : Modelin ileri geçişinin kabul ettiği girdilerin listesi (örneğin `"token_type_ids"` veya `"attention_mask"`). Varsayılan değer, aynı ada sahip sınıf özniteliğinden seçilir.

bos_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Bir cümlenin başlangıcını temsil eden özel bir belirteç.

eos_token (`str` veya `tokenizers.AddedToken`, *opsiyonel*) : Bir cümlenin sonunu temsil eden özel bir belirteç.

unk_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Sözlük dışı bir token'ı temsil eden özel bir token.

sep_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Aynı girdideki iki farklı cümleyi ayıran özel bir belirteç (örneğin BERT tarafından kullanılır).

pad_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Toplu işleme (batching) amacıyla token dizilerini aynı boyuta getirmek için kullanılan özel bir token. Dikkat mekanizmaları veya kayıp (loss) hesaplaması tarafından yok sayılır.

cls_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Girdinin sınıfını temsil eden özel bir jeton (örneğin BERT tarafından kullanılır).

mask_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Maskelenmiş bir token'ı temsil eden özel bir token (BERT gibi maskeli dil modelleme ön eğitim hedeflerinde kullanılır). `self.mask_token` ve `self.mask_token_id` ile ilişkilendirilecektir.

extra_special_tokens (`str` veya `tokenizers.AddedToken` listesi, *isteğe bağlı*) : Modelle ilgili ek özel tokenların listesi. `skip_special_tokens` True olarak ayarlandığında çözümleme sırasında bunların atlanmasını sağlamak için buraya ekleyin. Sözlüğün bir parçası değillerse, sözlüğün sonuna eklenirler.

split_special_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Özel jetonların tokenizasyon işlemi sırasında bölünüp bölünmeyeceğini belirtir. Değer geçilmesi, tokenizer'ın iç durumunu etkiler. Varsayılan davranış, özel jetonları bölmemektir. Bu, `<s>` `bos_token` ise `tokenizer.tokenize("<s>") = ['<s>`]' sonucunu verir. Aksi halde, `split_special_tokens=True` ise `tokenizer.tokenize("<s>")` `['<','s', '>']` sonucunu verir.

tokenizer_object (`tokenizers.Tokenizer`) : Örneklenmek üzere 🤗 tokenizers'dan bir `tokenizers.Tokenizer` nesnesi. Daha fazla bilgi için [🤗 tokenizers'dan tokenizer kullanma](../fast_tokenizers) bölümüne bakın.

tokenizer_file (`str`) : Daha önce serileştirilmiş bir 🤗 tokenizers `tokenizers.Tokenizer` nesnesini temsil eden yerel bir JSON dosyasına giden yol.

Tüm hızlı tokenizörler için temel sınıf (HuggingFace tokenizers kütüphanesini sarmalar).

[PreTrainedTokenizerBase](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase) sınıfından devralır.

Tokenizasyon ve özel tokenlar için ortak yöntemlerin yanı sıra, önceden eğitilmiş tokenizörlerin indirilme/önbelleğe alınma/yükleme yöntemlerini ve sözlüğe token ekleme yöntemlerini yönetir.

Bu sınıf, tüm tokenizer'ların üzerinde eklenen token'ları birleşik bir şekilde içerir; böylece çeşitli alttaki sözlük yapılarının (BPE, sentencepiece...) özel sözlük genişletme yöntemlerini ayrı ayrı ele almamız gerekmez.

Sınıf özellikleri (türetilen sınıflar tarafından geçersiz kılınır)

- **vocab_files_names** (`dict[str, str]`) -- Modelin gerektirdiği her sözlük dosyasının `__init__` anahtar kelime adını anahtar olarak, ilgili dosyanın kaydedileceği dosya adını (string) ise değer olarak içeren bir sözlük.
- **pretrained_vocab_files_map** (`dict[str, dict[str, str]]`) -- Bir sözlüklerin sözlüğü; üst düzey anahtarlar, modelin gerektirdiği her sözlük dosyasının `__init__` anahtar kelime adını, alt düzey anahtarlar ise ön eğitilmiş modellerin `short-cut-names` kısaltmalarını içerir ve ilişkili değerler olarak ilgili ön eğitilmiş sözlük dosyasına giden `url` adresini taşır.
- **model_input_names** (`list[str]`) -- Modelin ileri geçişinde beklenen girdilerin listesi.
- **padding_side** (`str`) -- Modelin padding uygulanması gereken tarafı için varsayılan değer. `'right'` veya `'left'` olmalıdır.
- **truncation_side** (`str`) -- Modelde kırpmanın uygulanacağı taraf için varsayılan değer. `'right'` veya `'left'` olmalıdır.

#### __call__[[transformers.TokenizersBackend.__call__]]

```python
__call__(text: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, text_pair: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, text_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, text_pair_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, add_special_tokens: bool = True, padding: bool | str | PaddingStrategy = False, truncation: bool | str | TruncationStrategy | None = None, max_length: int | None = None, stride: int = 0, is_split_into_words: bool = False, pad_to_multiple_of: int | None = None, padding_side: str | None = None, return_tensors: str | TensorType | None = None, return_token_type_ids: bool | None = None, return_attention_mask: bool | None = None, return_overflowing_tokens: bool = False, return_special_tokens_mask: bool = False, return_offsets_mapping: bool = False, return_length: bool = False, verbose: bool = True, tokenizer_kwargs: dict[str, Any] | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L2449)

**Parametreler:**

text (`str`, `list[str]`, `list[list[str]]`, *opsiyonel*) : Kodlanacak dizi veya dizi partisi. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi partisiyle olan belirsizliği gidermek için).

text_pair (`str`, `list[str]`, `list[list[str]]`, *opsiyonel*) : Kodlanacak dizi veya dizi partisi. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi partisiyle olan belirsizliği gidermek için).

text_target (`str`, `list[str]`, `list[list[str]]`, *isteğe bağlı*) : Hedef metinler olarak kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi grubu ile belirsizliği gidermek için).

text_pair_target (`str`, `list[str]`, `list[list[str]]`, *isteğe bağlı*) : Hedef metinler olarak kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi grubu ile belirsizliği gidermek için).

tokenizer_kwargs (`dict[str, Any]`, *isteğe bağlı*) : Tokenizöre iletilecek ek kwargs'lar. Bunlar, açık parametreler ve diğer kwargs'larla birleştirilir; açık parametreler önceliklidir.

add_special_tokens (`bool`, *isteğe bağlı*, varsayılan `True`) : Dizileri kodlarken özel jetonların eklenip eklenmeyeceğini belirtir. Bu, girdi kimliklerine otomatik olarak eklenen jetonları tanımlayan alttaki `PretrainedTokenizerBase.build_inputs_with_special_tokens` işlevini kullanır. `bos` veya `eos` jetonlarını otomatik olarak eklemek istiyorsanız bu işe yarar.

padding (`bool`, `str` veya [PaddingStrategy](/docs/transformers/main/tr/internal/file_utils#transformers.utils.PaddingStrategy), *isteğe bağlı*, varsayılan `False`) : Dolguyu (padding) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:  - `True` veya `'longest'`: Batch'teki en uzun diziye kadar doldurur (yalnızca tek bir dizi sağlanırsa dolgu yapılmaz). - `'max_length'`: `max_length` argümanı ile belirtilen maksimum uzunluğa kadar veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum girdi uzunluğuna kadar doldurur. - `False` veya `'do_not_pad'` (varsayılan): Dolgu yapılmaz (yani, farklı uzunluklarda diziler içeren bir batch çıktısı alınabilir).

truncation (`bool`, `str` veya [TruncationStrategy](/docs/transformers/main/tr/internal/tokenization_utils#transformers.tokenization_utils_base.TruncationStrategy), *opsiyonel*, varsayılan `False`) : Kısaltmayı etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:  - `True` veya `'longest_first'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir dizi çifti (veya çiftlerin bir partisi) sağlanırsa, çiftteki en uzun diziden token token kısaltma yapar. - `'only_first'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir dizi çifti (veya çiftlerin bir partisi) sağlanırsa, yalnızca çiftin ilk dizisini kısaltır. - `'only_second'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir dizi çifti (veya çiftlerin bir partisi) sağlanırsa, yalnızca çiftin ikinci dizisini kısaltır. - `False` veya `'do_not_truncate'` (varsayılan): Kısaltma yapılmaz (yani, modelin kabul edebileceği maksimum giriş boyutundan daha uzun dizi uzunluklarına sahip partiler üretebilir).

max_length (`int`, *opsiyonel*) : Kırpma/doldurma parametrelerinden biri tarafından kullanılacak olan maksimum uzunluğu kontrol eder. Ayarlanmaz veya `None` olarak ayarlanırsa, kırpma/doldurma parametrelerinden biri maksimum uzunluk gerektiriyorsa, önceden tanımlanmış modelin maksimum uzunluğu kullanılır. Modelin belirli bir maksimum giriş uzunluğu yoksa (XLNet gibi) maksimum uzunluğa kırpma/doldurma devre dışı bırakılır.

stride (`int`, *opsiyonel*, varsayılan 0) : `max_length` ile birlikte bir sayıya ayarlanırsa, `return_overflowing_tokens=True` olduğunda döndürülen taşan jetonlar, kısaltılmış ve taşan diziler arasında bir örtüşme sağlamak amacıyla kısaltılmış dizinin sonundan döndürülen bazı jetonları içerir. Bu argümanın değeri, örtüşen jetonların sayısını belirler.

is_split_into_words (`bool`, *isteğe bağlı*, varsayılan `False`) : Girdinin önceden tokenize edilip edilmediğini (örneğin, kelimelere ayrılmış olup olmadığını) belirtir. `True` olarak ayarlanırsa, tokenizer girdinin zaten kelimelere ayrılmış olduğunu (örneğin, boşluklara göre bölünmüş) varsayar ve bunları tokenize eder. Bu, NER veya token sınıflandırma için faydalıdır.

pad_to_multiple_of (`int`, *isteğe bağlı*) : Ayarlanırsa, diziyi verilen değerin katına kadar doldurur. Bunun için `padding` etkinleştirilmelidir. Bu, hesaplama yeteneği `>= 7.5` (Volta) olan NVIDIA donanımlarında Tensor Cores kullanımını etkinleştirmek için özellikle faydalıdır.

padding_side (`str`, *isteğe bağlı*) : Modelin padding uygulanması gereken tarafı. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden alınır.

return_tensors (`str` veya [TensorType](/docs/transformers/main/tr/internal/file_utils#transformers.TensorType), *opsiyonel*) : Ayarlanırsa, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler:  - `'pt'`: PyTorch `torch.Tensor` nesnelerini döndürür. - `'np'`: Numpy `np.ndarray` nesnelerini döndürür.

return_token_type_ids (`bool`, *isteğe bağlı*) : Token türü kimliklerinin döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, `return_outputs` özniteliği tarafından tanımlanan, ilgili tokenizer'ın varsayılanına göre token türü kimlikleri döndürülür.  [Token türü kimlikleri nelerdir?](../glossary#token-type-ids)

return_attention_mask (`bool`, *isteğe bağlı*) : Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, `return_outputs` özniteliğiyle tanımlanan, ilgili tokenizer'ın varsayılanına göre dikkat maskesi döndürülür.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

return_overflowing_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Taşan token dizilerinin döndürülüp döndürülmeyeceğini belirtir. Girdi kimlikleri için bir dizi çifti (veya bir çiftler partisi) `truncation_strategy = longest_first` veya `True` ile sağlanırsa, taşan tokenlar döndürülmek yerine bir hata oluşturulur.

return_special_tokens_mask (`bool`, *isteğe bağlı*, varsayılan `False`) : Özel jeton maskesi bilgisinin döndürülüp döndürülmeyeceği.

return_offsets_mapping (`bool`, *isteğe bağlı*, varsayılan `False`) : Her token için `(char_start, char_end)` döndürülecek mi. Bu yalnızca [PreTrainedTokenizerFast](/docs/transformers/main/tr/main_classes/tokenizer#transformers.TokenizersBackend)'ten türeyen hızlı tokenizer'lar için kullanılabilir; Python tokenizer'ı kullanılıyorsa bu yöntem `NotImplementedError` fırlatır.

return_length  (`bool`, *isteğe bağlı*, varsayılan `False`) : Kodlanmış girdilerin uzunluklarının döndürülüp döndürülmeyeceğini belirtir.

verbose (`bool`, *isteğe bağlı*, varsayılan `True`) : Daha fazla bilgi ve uyarı basılıp basılmayacağı.

- ****kwargs** : `self.tokenize()` yöntemine iletilir

**Dönüş:** [BatchEncoding](/docs/transformers/main/tr/main_classes/tokenizer#transformers.BatchEncoding)

Aşağıdaki alanlara sahip bir [BatchEncoding](/docs/transformers/main/tr/main_classes/tokenizer#transformers.BatchEncoding):

- **input_ids** -- Bir modele verilecek token kimliklerinin listesi.

  [Girdi kimlikleri nelerdir?](../glossary#input-ids)

- **token_type_ids** -- Bir modele verilecek token türü kimlikleri listesi (`return_token_type_ids=True` olduğunda veya `self.model_input_names` içinde *"token_type_ids"* varsa).

  [Token type ID'leri nelerdir?](../glossary#token-type-ids)

- **attention_mask** -- Modelin hangi token'lara dikkat etmesi gerektiğini belirleyen indeks listesi (`return_attention_mask=True` olduğunda veya *"attention_mask"* `self.model_input_names` içinde olduğunda).

  [Dikkat maskeleri nedir?](../glossary#attention-mask)

- **overflowing_tokens** -- Taşan token dizileri listesi (`max_length` belirtildiğinde ve `return_overflowing_tokens=True` olduğunda).
- **num_truncated_tokens** -- Kırpılan token sayısı (`max_length` belirtildiğinde ve `return_overflowing_tokens=True` olduğunda).
- **special_tokens_mask** -- 0 ve 1'lerden oluşan liste; 1 eklenen özel tokenları, 0 ise normal dizi tokenlarını belirtir (`add_special_tokens=True` ve `return_special_tokens_mask=True` olduğunda).
- **length** -- Girdilerin uzunluğu (`return_length=True` olduğunda)

Bir veya birden fazla diziyi veya bir veya birden fazla dizi çiftini model için belirteçlere ayırmak ve hazırlamak için kullanılan ana yöntem.

#### add_tokens[[transformers.TokenizersBackend.add_tokens]]

```python
add_tokens(new_tokens: str | AddedToken | Sequence[str | AddedToken], special_tokens: bool = False)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L1218)

**Parametreler:**

new_tokens (`str`, `tokenizers.AddedToken` veya *str* ya da `tokenizers.AddedToken` dizisi) : Tokenler yalnızca sözlükte henüz yoklarsa eklenir. `tokenizers.AddedToken`, bir dize token'ı sarmalayarak davranışını kişiselleştirmenizi sağlar: bu token'ın yalnızca tek bir kelimeyle eşleşip eşleşmeyeceği, sol taraftaki tüm olası boşlukları kaldırıp kaldırmayacağı, sağ taraftaki tüm olası boşlukları kaldırıp kaldırmayacağı vb.

special_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Token'ın özel olup olmadığını belirtir. Bu, büyük ölçüde normalizasyon davranışını değiştirir. HuggingFace tokenizers kütüphanesindeki `tokenizers.AddedToken` için ayrıntılara bakın.

**Dönüş:** `int`

Sözlüğe eklenen token sayısı.

#TODO buradan kaldır! PreTrainedTokenizerBase, AddedToken'dan bağımsız olmalıdır.

Yeni token listesini ekleyin. Yeni tokenler sözlükte yoksa, sonuna eklenir. Bu nedenle eklenen tokenler ile tokenizasyon algoritmasının sözlüğündeki tokenler aynı şekilde ele alınmaz.

`Metaspace` ön-ayırıcısını `prepend_scheme="always"` ile kullanan hızlı ayırıcılar (ör. NLLB), eklenmiş bir token'ın ardından gelen metne `"▁"` ekler. `tokenizer.add_tokens(["abcd"])` çağrısından sonra `"abcdgym"`, `["abcd", "▁gym"]` olarak ayrılır ve `"abcd gym"` olarak çözümlenir. Eklenmiş token'lar kelime içlerinde görünebiliyorsa, ön-ayırıcıyı değiştirin

sadece girdinin başına eklenmesi için `prepend_scheme="first"` olarak

```python
from tokenizers import pre_tokenizers

pre_tokenizer = tokenizer.backend_tokenizer.pre_tokenizer
tokenizer.backend_tokenizer.pre_tokenizer = pre_tokenizers.Metaspace(
    replacement=pre_tokenizer.replacement, prepend_scheme="first", split=pre_tokenizer.split
)
```

Örnekler:

```python
# Let's see how to increase the vocabulary of Bert model and tokenizer
tokenizer = BertTokenizerFast.from_pretrained("google-bert/bert-base-uncased")
model = BertModel.from_pretrained("google-bert/bert-base-uncased")

num_added_toks = tokenizer.add_tokens(["new_tok1", "my_new-tok2"])
print("We have added", num_added_toks, "tokens")
# Notice: resize_token_embeddings expect to receive the full size of the new vocabulary, i.e., the length of the tokenizer.
model.resize_token_embeddings(len(tokenizer))
```

#### add_special_tokens[[transformers.TokenizersBackend.add_special_tokens]]

```python
add_special_tokens(special_tokens_dict: dict[str, str | AddedToken | Sequence[str | AddedToken]], replace_extra_special_tokens = True)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L1113)

**Parametreler:**

special_tokens_dict (*str*'den *str*, `tokenizers.AddedToken` veya `Sequence[Union[str, AddedToken]]` türünde bir sözlük) : Anahtarlar, önceden tanımlanmış özel özniteliklerin listesinde olmalıdır: [`bos_token`, `eos_token`, `unk_token`, `sep_token`, `pad_token`, `cls_token`, `mask_token`, `extra_special_tokens`]. Tokenlar yalnızca sözlükte henüz yoklarsa eklenir (tokenizer'ın onlara `unk_token` indeksini atayıp atamadığını kontrol ederek test edilir).

replace_extra_special_tokens (`bool`, *isteğe bağlı*, varsayılan `True`) : `True` ise, mevcut ek özel token listesi, `special_tokens_dict` içinde sağlanan listeyle değiştirilir. Aksi halde `extra_special_tokens` genişletilir. Önceki durumda, tokenlar tokenizer'ın tam sözlüğünden KALDIRILMAZ - yalnızca özel olmayan token olarak işaretlenir. Unutmayın, bu yalnızca çözümleme sırasında atlanan tokenları etkiler, `added_tokens_encoder` ve `added_tokens_decoder` etkilenmez. Bu, önceki `extra_special_tokens`'in hâlâ eklenmiş tokenlar olduğu ve model tarafından bölünmeyeceği anlamına gelir.

**Dönüş:** `int`

Sözlüğe eklenen token sayısı.

Özel tokenler (eos, pad, cls vb.) sözlüğünü ekleyiciye ekleyin ve bunları sınıf özniteliklerine bağlayın. Özel tokenler sözlükte (vocabulary) yoksa, mevcut sözlüğün son indeksinden başlayarak indekslenerek sözlüğe eklenir.

Sözlüğe yeni token eklerken, modelin token gömme matrisini yeniden boyutlandırmanız ve gömme matrisinin tokenizer ile eşleşmesini sağlamanız gerekir.

Bunu yapmak için lütfen [resize_token_embeddings()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.resize_token_embeddings) yöntemini kullanın.

`add_special_tokens` kullanmak, özel jetonlarınızın çeşitli şekillerde kullanılmasını sağlar:

- Özel jetonlar, `skip_special_tokens = True` kullanılarak çözümlenirken atlanabilir.
- Özel jetonlar, `AddedTokens` benzeri şekilde, tokenizer tarafından dikkatle işlenir (asla bölünmezler).
- Özel jetonlara `tokenizer.cls_token` gibi tokenizer sınıf öznitelikleri aracılığıyla kolayca başvurabilirsiniz. Bu, modelden bağımsız eğitim ve ince ayar betikleri geliştirmeyi kolaylaştırır.

Mümkün olduğunda, sağlanan önceden eğitilmiş modeller için özel jetonlar zaten kayıtlıdır (örneğin [BertTokenizer](/docs/transformers/main/tr/model_doc/lxmert#transformers.BertTokenizer) `cls_token` zaten `'[CLS]'` olarak kayıtlıdır ve XLM'ninkisi de `'</s>'` olarak kayıtlıdır).

Örnekler:

```python
# Let's see how to add a new classification token to GPT-2
tokenizer = GPT2Tokenizer.from_pretrained("openai-community/gpt2")
model = GPT2Model.from_pretrained("openai-community/gpt2")

special_tokens_dict = {"cls_token": "<CLS>"}

num_added_toks = tokenizer.add_special_tokens(special_tokens_dict)
print("We have added", num_added_toks, "tokens")
# Notice: resize_token_embeddings expect to receive the full size of the new vocabulary, i.e., the length of the tokenizer.
model.resize_token_embeddings(len(tokenizer))

assert tokenizer.cls_token == "<CLS>"
```

#### apply_chat_template[[transformers.TokenizersBackend.apply_chat_template]]

```python
apply_chat_template(conversation: list[dict[str, str]] | list[list[dict[str, str]]], tools: list[dict | Callable] | None = None, documents: list[dict[str, str]] | None = None, chat_template: str | None = None, add_generation_prompt: bool = False, continue_final_message: bool | str = False, tokenize: bool = True, sanitize_control_tokens: bool = False, padding: bool | str | PaddingStrategy = False, truncation: bool = False, max_length: int | None = None, return_tensors: str | TensorType | None = None, return_dict: bool = True, return_assistant_tokens_mask: bool = False, tokenizer_kwargs: dict[str, Any] | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L3021)

**Parametreler:**

conversation (Union[list[dict[str, str]], list[list[dict[str, str]]]]) : Şu ana kadarki sohbet geçmişini temsil eden, "role" ve "content" anahtarlarına sahip sözlüklerden oluşan bir liste.

tools (`list[Union[Dict, Callable]]`, *isteğe bağlı*) : Modelin erişebileceği araçların (çağrılabilir fonksiyonların) listesi. Şablon fonksiyon çağrısını desteklemiyorsa bu argüman hiçbir etki yaratmaz. Her araç, aracın adını, açıklamasını ve argüman türlerini belirten bir JSON Şeması olarak geçirilmelidir. Daha fazla bilgi için [araç kullanımı kılavuzumuza](https://huggingface.co/docs/transformers/en/chat_extras#passing-tools) göz atın.

documents (`list[dict[str, str]]`, *isteğe bağlı*) : RAG (arama destekli üretim) gerçekleştiriyorsa modelin erişebileceği belgeleri temsil eden sözlüklerden oluşan bir liste. Şablon RAG'i desteklemiyorsa bu argümanın bir etkisi olmaz. Her belgenin "title" ve "text" anahtarlarını içeren bir sözlük olmasını öneririz.

chat_template (`str`, *isteğe bağlı*) : Bu dönüştürme için kullanılacak bir Jinja şablonu. Modelin şablonu varsayılan olarak kullanıldığından, bu argümana bir şey geçirmek genellikle gerekmez.

add_generation_prompt (bool, *optional*) : Bu ayarlanırsa, asistan mesajının başlangıcını gösteren token(lar)ı içeren bir istemci, biçimlendirilmiş çıktıya eklenecektir. Bu, modelden bir yanıt üretmek istediğinizde faydalıdır. Dikkat edin, bu argüman sohbet şablonuna (chat template) aktarılacağından, bu argümanın herhangi bir etki yaratabilmesi için şablon tarafından desteklenmesi gerekir.

continue_final_message (bool or str, *isteğe bağlı*) : Bu ayarlanırsa, sohbet, sohbetin son mesajının açık uçlu olacak şekilde biçimlendirilir ve herhangi bir EOS token'ı içermez. Model, yeni bir mesaj başlatmak yerine bu mesajı devam ettirir. Bu, modelin yanıtının bir kısmını "ön doldurmanıza" olanak tanır. Bir dize geçirilirse, devam edilecek alanın anahtarı olarak kullanılır (ör. "reasoning_content"). `add_generation_prompt` ile aynı anda kullanılamaz.

tokenize (`bool`, varsayılan `True`) : Çıktının tokenize edilip edilmeyeceğini belirtir. `False` ise çıktı bir dize olur.

sanitize_control_tokens (`bool`, varsayılan `False`) : Ayarlandığında, mesajlarda, araçlarda veya belgelerde görünen kontrol jetonları sıradan metin olarak kodlanır; böylece yalnızca sohbet şablonunun kendisi tarafından yazılan kontrol jetonları jeton olarak kodlanır. Kontrol jetonları, tokenizer'ın özel jetonları ile `tokenizer.chat_control_tokens` içindeki eklenen jetonlardır. Bu değişken ayarlanmamışsa, kontrol jetonları sohbet şablonunun metninde ve dizge sabitlerinde görünen eklenen jetonlardan çıkarılır. Yalnızca bütün kontrol jetonları temizlenir; bu nedenle şablon, girdiden dizgeleri kontrol jetonlarına birleştiriyorsa (örneğin `'<|' + message['role'] + '|>'`), bu dizgelerin ayrı ayrı doğrulanması gerekir. Sözlük anahtarları da temizlenmez.

padding (`bool`, `str` veya [PaddingStrategy](/docs/transformers/main/tr/internal/file_utils#transformers.utils.PaddingStrategy), *opsiyonel*, varsayılan `False`) : Dönen dizilerin dolgusunu (modelin dolgu tarafına ve dolgu indeksine göre) aşağıdakilerden birini seçerek belirleyin: - `True` veya `'longest'`: Batch'teki en uzun diziye kadar dolgu yapın (yalnızca tek bir dizi sağlandıysa dolgu yapılmaz). - `'max_length'`: `max_length` argümanı ile belirtilen maksimum uzunluğa kadar veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar dolgu yapın. - `False` veya `'do_not_pad'` (varsayılan): Dolgu yapılmaz (yani, farklı uzunluklarda dizilere sahip bir batch çıktısı verilebilir).

truncation (`bool`, varsayılan `False`) : Dizilerin maksimum uzunlukta kırpilip kırpılmayacağını belirtir. tokenize `False` ise etkisi yoktur.

max_length (`int`, *isteğe bağlı*) : Dolgu veya kırpma için kullanılacak maksimum uzunluk (token cinsinden). tokenize `False` ise etkisi yoktur. Belirtilmezse, tokenizer'ın `max_length` özniteliği varsayılan olarak kullanılır.

return_tensors (`str` veya [TensorType](/docs/transformers/main/tr/internal/file_utils#transformers.TensorType), *opsiyonel*) : Ayarlanırsa, belirli bir çerçeveye ait tensörleri döndürür. tokenize `False` ise etkisi yoktur. Kabul edilen değerler: - `'pt'`: PyTorch `torch.Tensor` nesnelerini döndürür. - `'np'`: NumPy `np.ndarray` nesnelerini döndürür.

return_dict (`bool`, varsayılan `True`) : Adlandırılmış çıktılar içeren bir sözlük döndürülüp döndürülmeyeceğini belirtir. tokenize `False` ise etkisi yoktur.

tokenizer_kwargs (`dict[str : Any]`, *isteğe bağlı*): Tokenizöre iletilecek ek kwargs.

return_assistant_tokens_mask (`bool`, varsayılan `False`) : Asistan tarafından üretilen token'ların bir maskesini döndürüp döndürmeyeceğini belirtir. Asistan tarafından üretilen token'lar için maske 1 içerir. Kullanıcı ve sistem token'ları için maske 0 içerir. Bu özellik, yalnızca `{% generation %}` anahtar kelimesi üzerinden bunu destekleyen sohbet şablonları için kullanılabilir.

- ****kwargs** : Şablon işleyicisine (template renderer) iletilecek ek kwargs. Sohbet şablonu tarafından erişilebilir olacaktır.

**Dönüş:** `Union[list[int], Dict]`

Şimdiye kadar tokenize edilmiş sohbeti, kontrol tokenları dahil olmak üzere temsil eden token kimliği listesi. Bu çıktı, doğrudan veya `generate()` gibi yöntemler aracılığıyla modele iletmeye hazırdır. `return_dict` ayarlanırsa, bunun yerine tokenizer çıktılarından oluşan bir sözlük döner.

`"role"` ve `"content"` anahtarlarına sahip sözlük listesini, token kimliği listesine dönüştürür. Bu yöntem, sohbet modelleriyle kullanım için tasarlanmıştır ve dönüştürme sırasında kullanılacak biçimi ve kontrol tokenlarını belirlemek için tokenizer'ın chat_template özniteliklerini okur.

#### batch_decode[[transformers.TokenizersBackend.batch_decode]]

```python
batch_decode(sequences: list[int] | list[list[int]] | np.ndarray | torch.Tensor, skip_special_tokens: bool = False, clean_up_tokenization_spaces: bool | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L2933)

**Parametreler:**

sequences (`Union[list[int], list[list[int]], np.ndarray, torch.Tensor]`) : Tokenize edilmiş girdi kimliklerinin listesi. `__call__` yöntemi kullanılarak elde edilebilir.

skip_special_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Çözümleme sırasında özel jetonların kaldırılıp kaldırılmayacağı.

clean_up_tokenization_spaces (`bool`, *isteğe bağlı*) : Tokenizasyon boşluklarının temizlenip temizlenmeyeceğini belirtir. `None` ise, varsayılan olarak `self.clean_up_tokenization_spaces` kullanılır.

kwargs (ek anahtar kelime argümanları, *isteğe bağlı*) : Altta yatan modele özgü decode yöntemine aktarılacaktır.

**Dönüş:** `list[str]`

Çözümlenmiş cümlelerin listesi.

decode çağrısı yaparak token kimlikleri içeren listelerin listesini, dizelerin listesine dönüştürün.

Bu yöntem geriye dönük uyumluluk için sağlanmıştır. `decode` yöntemi artık toplu (batched) girdileri yerel olarak işler, bu nedenle `batch_decode` yerine doğrudan `decode` kullanabilirsiniz.

#### decode[[transformers.TokenizersBackend.decode]]

```python
decode(token_ids: int | list[int] | list[list[int]] | np.ndarray | torch.Tensor, skip_special_tokens: bool = False, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L2885)

**Parametreler:**

token_ids (`Union[int, list[int], list[list[int]], np.ndarray, torch.Tensor]`) : Tokenize edilmiş girdi kimliklerinin tek bir dizisi veya bir partisi (diziler listesi). `__call__` yöntemi kullanılarak elde edilebilir.

skip_special_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Çözümleme sırasında özel jetonların kaldırılıp kaldırılmayacağı.

kwargs (ek anahtar kelime argümanları, *isteğe bağlı*) : Altta yatan modele özgü decode yöntemine aktarılacaktır.

**Dönüş:** `Union[str, list[str]]`

Tek bir dizi için çözümlenmiş dize veya bir dizi grubu için çözümlenmiş dizeler listesi.

Özel token'ları kaldırma ve tokenizasyon boşluklarını temizleme seçenekleriyle, tokenizer ve sözlük kullanarak bir id dizisini bir metne veya diziler listesini metinler listesine dönüştürür.

`self.convert_tokens_to_string(self.convert_ids_to_tokens(token_ids))` işlemine benzer.

#### encode[[transformers.TokenizersBackend.encode]]

```python
encode(text: TextInput | PreTokenizedInput | EncodedInput, text_pair: TextInput | PreTokenizedInput | EncodedInput | None = None, add_special_tokens: bool = True, padding: bool | str | PaddingStrategy = False, truncation: bool | str | TruncationStrategy | None = None, max_length: int | None = None, stride: int = 0, padding_side: str | None = None, return_tensors: str | TensorType | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L2263)

**Parametreler:**

text (`str`, `list[str]` veya `list[int]`) : Kodlanacak ilk dizi. Bu, bir dize, bir dize listesi (`tokenize` yöntemiyle tokenize edilmiş dize) veya bir tamsayı listesi (`convert_tokens_to_ids` yöntemiyle tokenize edilmiş dize kimlikleri) olabilir.

text_pair (`str`, `list[str]` veya `list[int]`, *isteğe bağlı*) : Kodlanacak isteğe bağlı ikinci dizi. Bu, bir dize, bir dize listesi (`tokenize` yöntemiyle tokenize edilmiş dize) veya bir tamsayı listesi (`convert_tokens_to_ids` yöntemiyle tokenize edilmiş dize kimlikleri) olabilir.

add_special_tokens (`bool`, *isteğe bağlı*, varsayılan `True`) : Dizileri kodlarken özel jetonların eklenip eklenmeyeceğini belirtir. Bu, girdi kimliklerine otomatik olarak eklenen jetonları tanımlayan alttaki `PretrainedTokenizerBase.build_inputs_with_special_tokens` işlevini kullanır. `bos` veya `eos` jetonlarını otomatik olarak eklemek istiyorsanız bu işe yarar.

padding (`bool`, `str` veya [PaddingStrategy](/docs/transformers/main/tr/internal/file_utils#transformers.utils.PaddingStrategy), *isteğe bağlı*, varsayılan `False`) : Dolguyu (padding) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:  - `True` veya `'longest'`: Batch'teki en uzun diziye kadar doldurur (yalnızca tek bir dizi sağlanırsa dolgu yapılmaz). - `'max_length'`: `max_length` argümanı ile belirtilen maksimum uzunluğa kadar veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum girdi uzunluğuna kadar doldurur. - `False` veya `'do_not_pad'` (varsayılan): Dolgu yapılmaz (yani, farklı uzunluklarda diziler içeren bir batch çıktısı alınabilir).

truncation (`bool`, `str` veya [TruncationStrategy](/docs/transformers/main/tr/internal/tokenization_utils#transformers.tokenization_utils_base.TruncationStrategy), *opsiyonel*, varsayılan `False`) : Kısaltmayı etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:  - `True` veya `'longest_first'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir dizi çifti (veya çiftlerin bir partisi) sağlanırsa, çiftteki en uzun diziden token token kısaltma yapar. - `'only_first'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir dizi çifti (veya çiftlerin bir partisi) sağlanırsa, yalnızca çiftin ilk dizisini kısaltır. - `'only_second'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir dizi çifti (veya çiftlerin bir partisi) sağlanırsa, yalnızca çiftin ikinci dizisini kısaltır. - `False` veya `'do_not_truncate'` (varsayılan): Kısaltma yapılmaz (yani, modelin kabul edebileceği maksimum giriş boyutundan daha uzun dizi uzunluklarına sahip partiler üretebilir).

max_length (`int`, *opsiyonel*) : Kırpma/doldurma parametrelerinden biri tarafından kullanılacak olan maksimum uzunluğu kontrol eder. Ayarlanmaz veya `None` olarak ayarlanırsa, kırpma/doldurma parametrelerinden biri maksimum uzunluk gerektiriyorsa, önceden tanımlanmış modelin maksimum uzunluğu kullanılır. Modelin belirli bir maksimum giriş uzunluğu yoksa (XLNet gibi) maksimum uzunluğa kırpma/doldurma devre dışı bırakılır.

stride (`int`, *opsiyonel*, varsayılan 0) : `max_length` ile birlikte bir sayıya ayarlanırsa, `return_overflowing_tokens=True` olduğunda döndürülen taşan jetonlar, kısaltılmış ve taşan diziler arasında bir örtüşme sağlamak amacıyla kısaltılmış dizinin sonundan döndürülen bazı jetonları içerir. Bu argümanın değeri, örtüşen jetonların sayısını belirler.

is_split_into_words (`bool`, *isteğe bağlı*, varsayılan `False`) : Girdinin önceden tokenize edilip edilmediğini (örneğin, kelimelere ayrılmış olup olmadığını) belirtir. `True` olarak ayarlanırsa, tokenizer girdinin zaten kelimelere ayrılmış olduğunu (örneğin, boşluklara göre bölünmüş) varsayar ve bunları tokenize eder. Bu, NER veya token sınıflandırma için faydalıdır.

pad_to_multiple_of (`int`, *isteğe bağlı*) : Ayarlanırsa, diziyi verilen değerin katına kadar doldurur. Bunun için `padding` etkinleştirilmelidir. Bu, hesaplama yeteneği `>= 7.5` (Volta) olan NVIDIA donanımlarında Tensor Cores kullanımını etkinleştirmek için özellikle faydalıdır.

padding_side (`str`, *isteğe bağlı*) : Modelin padding uygulanması gereken tarafı. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden alınır.

return_tensors (`str` veya [TensorType](/docs/transformers/main/tr/internal/file_utils#transformers.TensorType), *opsiyonel*) : Ayarlanırsa, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler:  - `'pt'`: PyTorch `torch.Tensor` nesnelerini döndürür. - `'np'`: Numpy `np.ndarray` nesnelerini döndürür.

- ****kwargs** : `.tokenize()` yöntemine iletilir.

**Dönüş:** `list[int]`, `torch.Tensor` veya `np.ndarray`

Metnin tokenize edilmiş kimlikleri.

Dizgiyi, belirteç ayrıştırıcı ve sözlük kullanarak kimlik (tamsay) dizisine dönüştürür.

`self.convert_tokens_to_ids(self.tokenize(text))` işlemiyle aynıdır.

#### push_to_hub[[transformers.TokenizersBackend.push_to_hub]]

```python
push_to_hub(repo_id: str, commit_message: str | None = None, commit_description: str | None = None, private: bool | None = None, token: bool | str | None = None, revision: str | None = None, create_pr: bool = False, max_shard_size: int | str | None = '50GB', tags: list[str] | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/hub.py#L822)

**Parametreler:**

repo_id (`str`) : Tokenizer'ınızı itmek istediğiniz deposunun adı. Belirli bir organizasyona itme işlemi sırasında organizasyon adınızı içermelidir.

commit_message (`str`, *isteğe bağlı*) : İterilirken taahhüt edilecek mesaj. Varsayılan olarak `"Upload tokenizer"` olur.

commit_description (`str`, *isteğe bağlı*) : Oluşturulacak commit'in açıklaması

private (`bool`, *isteğe bağlı*) : Deponun özel yapılıp yapılmayacağını belirtir. `None` (varsayılan) ise, organizasyonun varsayılanı özel değilse depo herkese açık olur. Depo zaten mevcutsa bu değer yok sayılır.

token (`bool` veya `str`, *isteğe bağlı*) : Uzaktaki dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak belirteç. `True` (varsayılan) ise, `hf auth login` çalıştırıldığında oluşturulan belirteç ( `~/.huggingface` içinde saklanır) kullanılır.

revision (`str`, *isteğe bağlı*) : Yüklenen dosyaların itileceği dal.

create_pr (`bool`, *isteğe bağlı*, varsayılan `False`) : Yüklenen dosyalarla bir PR oluşturulup oluşturulmayacağı veya doğrudan commit atılıp atılmayacağı.

max_shard_size (`int` veya `str`, *isteğe bağlı*, varsayılan `"50GB"`) : Yalnızca modeller için geçerlidir. Bir checkpoint'in parçalanmadan önceki maksimum boyutu. Parçalanan checkpoint'lerin her biri bu boyuttan küçük olacaktır. Dize olarak ifade ediliyorsa, birimle (örneğin `"5MB"`) birlikte rakamlardan oluşmalıdır.

tags (`list[str]`, *isteğe bağlı*) : Hub'a itilecek etiketlerin listesi.

Tokenizer dosyalarını 🤗 Model Hub'a yükleyin.

Örnekler:

```python
from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-cased")

# Push the tokenizer to your namespace with the name "my-finetuned-bert".
tokenizer.push_to_hub("my-finetuned-bert")

# Push the tokenizer to an organization with the name "my-finetuned-bert".
tokenizer.push_to_hub("huggingface/my-finetuned-bert")
```

#### convert_to_native_format[[transformers.TokenizersBackend.convert_to_native_format]]

```python
convert_to_native_format(trust_remote_code = False, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L103)

Mevcut seri dosyalarından (tokenizer.json, sentencepiece modelleri, tekken.json, vocab/merges) bir `tokenizers.Tokenizer` arka ucu oluşturun.

#### get_added_vocab[[transformers.TokenizersBackend.get_added_vocab]]

```python
get_added_vocab()
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L740)

**Dönüş:** `dict[str, int]`

Eklenen jetonlar.

Sözlükteki eklenen token'ları, token'dan indekse bir sözlük olarak döndürür.

#### num_special_tokens_to_add[[transformers.TokenizersBackend.num_special_tokens_to_add]]

```python
num_special_tokens_to_add(pair: bool = False)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L837)

**Parametreler:**

pair (`bool`, *isteğe bağlı*, varsayılan `False`) : Bir dizi çifti veya tek bir dizi durumunda eklenen jeton sayısının hesaplanıp hesaplanmayacağı.

**Dönüş:** `int`

Dizilere eklenen özel jeton sayısı.

Özel jetonlarla bir diziyi kodlarken eklenen jeton sayısını döndürür.

Bu, sahte bir girdiyi kodlar ve eklenen jeton sayısını kontrol eder; bu nedenle verimli değildir. Bunu eğitim döngünüzün içine koymayın.

#### save_pretrained[[transformers.TokenizersBackend.save_pretrained]]

```python
save_pretrained(save_directory: str | os.PathLike, legacy_format: bool | None = None, filename_prefix: str | None = None, push_to_hub: bool = False, save_format: str | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L559)

**Parametreler:**

save_format (`str`, *isteğe bağlı*) : Orijinal dosyanın kopyalanarak yerel bir `tekken.json` olarak kaydedilmesi için `"mistral"` (orijinal tekken sözlük dosyasının kullanılabilir olması gerekir). Kaydetme sırasında ad `tekken.json` olarak normalize edilir ve örneklenen tokenizer bununla tam olarak eşleşmelidir. Varsayılan HuggingFace formatı için `"hf"` veya `None`.

kwargs (`dict[str, Any]`, *isteğe bağlı*) : [push_to_hub()](/docs/transformers/main/tr/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub) yöntemine iletilen ek anahtar kelime argümanları.

**Dönüş:** `str` türünde bir demet

Kaydedilen dosyalar.

Tam tokenizer durumunu kaydedin.

[save_pretrained()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.save_pretrained) metodunu, yerel bir sözlük dosyasından dönüştürülen tokenizörler (ör. Mistral'ın `tekken.json` dosyası) için `save_format` desteğiyle genişletir. `legacy_format`, `filename_prefix` ve `push_to_hub` için temel metoda bakın.

#### set_truncation_and_padding[[transformers.TokenizersBackend.set_truncation_and_padding]]

```python
set_truncation_and_padding(padding_strategy: PaddingStrategy, truncation_strategy: TruncationStrategy, max_length: int, stride: int, pad_to_multiple_of: int | None, padding_side: str | None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L896)

**Parametreler:**

padding_strategy ([PaddingStrategy](/docs/transformers/main/tr/internal/file_utils#transformers.utils.PaddingStrategy)) : Girişe uygulanacak dolgu türü

truncation_strategy ([TruncationStrategy](/docs/transformers/main/tr/internal/tokenization_utils#transformers.tokenization_utils_base.TruncationStrategy)) : Girişe uygulanacak kesme türü

max_length (`int`) : Bir dizinin maksimum boyutu.

stride (`int`) : Taşma durumunu ele alırken kullanılacak adım.

pad_to_multiple_of (`int`, *isteğe bağlı*) : Ayarlanırsa, diziyi verilen değerin katına kadar doldurur. Bu, hesaplama yeteneği `>= 7.5` (Volta) olan NVIDIA donanımlarında Tensor Core'lerin kullanılmasını sağlamak için özellikle faydalıdır.

padding_side (`str`, *isteğe bağlı*) : Modelin padding uygulanması gereken tarafı. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden alınır.

Hızlı tokenizörler için (HuggingFace tokenizers kütüphanesi tarafından sağlanan) kesme ve dolgu stratejilerini tanımlayın ve ardından tokenizör ayarlarını geri yükleyin.

Sağlanan tokenizer, yönetilen bölüm öncesinde bir dolgu / kısaltma stratejisine sahip değildir. Tokenizer'ınız daha önce bir dolgu / kısaltma stratejisi belirlediyseniz, yönetilen bölümden çıkıldığında bu strateji dolgu / kısaltma yapılmayacak şekilde sıfırlanır.

#### train_new_from_iterator[[transformers.TokenizersBackend.train_new_from_iterator]]

```python
train_new_from_iterator(text_iterator, vocab_size, length = None, new_special_tokens = None, special_tokens_map = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L1192)

**Parametreler:**

text_iterator (`list[str]` üreticisi) : Eğitim kursumu. Metinlerin toplu hallerini üreten bir üretici olmalıdır; örneğin, her şey bellekteyse metinlerden oluşan listelerin listesi.

vocab_size (`int`) : Tokenizörünüz için istediğiniz sözlüğün boyutu.

length (`int`, *isteğe bağlı*) : İteratördeki dizilerin toplam sayısı. Bu, anlamlı bir ilerleme takibi sağlamak için kullanılır

new_special_tokens (`str` veya `AddedToken` listesi, *isteğe bağlı*) : Eğittiğiniz tokenizer'a eklenecek yeni özel tokenların listesi.

special_tokens_map (`dict[str, str]`, *isteğe bağlı*) : Bu tokenizer'ın kullandığı özel tokenlardan bazılarını yeniden adlandırmak istiyorsanız, bu argümana eski özel token adından yeni özel token adına giden bir eşleme iletin.

kwargs (`dict[str, Any]`, *isteğe bağlı*) : 🤗 Tokenizers kütüphanesinden eğiticinin (trainer) iletilen ek anahtar kelime argümanları.

**Dönüş:** [PreTrainedTokenizerFast](/docs/transformers/main/tr/main_classes/tokenizer#transformers.TokenizersBackend)

Orijinaliyle aynı türde, `text_iterator` üzerinde eğitilmiş yeni bir tokenizer.

Mevcut tokenizatorla aynı varsayılanlara (özel tokenler veya tokenizasyon hattı açısından) sahip yeni bir korpus üzerinde tokenizator eğitir.

#### update_post_processor[[transformers.TokenizersBackend.update_post_processor]]

```python
update_post_processor()
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L627)

Altta yatan post işlemcisini güncel `bos_token` ve `eos_token` ile günceller.

## PythonBackend[[transformers.PythonBackend]]

#### transformers.PythonBackend[[transformers.PythonBackend]]

```python
transformers.PythonBackend(**kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L400)

**Parametreler:**

model_max_length (`int`, *isteğe bağlı*) : Transformer modeline girecek girdilerin maksimum uzunluğu (token sayısı cinsinden). Tokenizer [from_pretrained()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.from_pretrained) ile yüklendiğinde, bu değer `max_model_input_sizes` içinde ilgili model için saklanan değere ayarlanır (bkz. yukarı). Bir değer sağlanmazsa, varsayılan olarak VERY_LARGE_INTEGER (`int(1e30)`) kullanılır.

padding_side (`str`, *isteğe bağlı*) : Modelin padding uygulanması gereken tarafı. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden alınır.

truncation_side (`str`, *isteğe bağlı*) : Modelde kırpmanın uygulanması gereken taraf. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özniteliğinden alınır.

chat_template (`str`, *isteğe bağlı*) : Sohbet mesajı listelerini biçimlendirmek için kullanılacak bir Jinja şablon dizesi. Tam açıklama için https://huggingface.co/docs/transformers/chat_templating adresine bakın.

model_input_names (`list[string]`, *isteğe bağlı*) : Modelin ileri geçişinin kabul ettiği girdilerin listesi (örneğin `"token_type_ids"` veya `"attention_mask"`). Varsayılan değer, aynı ada sahip sınıf özniteliğinden seçilir.

bos_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Bir cümlenin başlangıcını temsil eden özel bir belirteç.

eos_token (`str` veya `tokenizers.AddedToken`, *opsiyonel*) : Bir cümlenin sonunu temsil eden özel bir belirteç.

unk_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Sözlük dışı bir token'ı temsil eden özel bir token.

sep_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Aynı girdideki iki farklı cümleyi ayıran özel bir belirteç (örneğin BERT tarafından kullanılır).

pad_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Toplu işleme (batching) amacıyla token dizilerini aynı boyuta getirmek için kullanılan özel bir token. Dikkat mekanizmaları veya kayıp (loss) hesaplaması tarafından yok sayılır.

cls_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Girdinin sınıfını temsil eden özel bir jeton (örneğin BERT tarafından kullanılır).

mask_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Maskelenmiş bir token'ı temsil eden özel bir token (BERT gibi maskeli dil modelleme ön eğitim hedeflerinde kullanılır). `self.mask_token` ve `self.mask_token_id` ile ilişkilendirilecektir.

extra_special_tokens (`str` veya `tokenizers.AddedToken` listesi, *isteğe bağlı*) : Modelle ilgili ek özel tokenların listesi. `skip_special_tokens` True olarak ayarlandığında çözümleme sırasında bunların atlanmasını sağlamak için buraya ekleyin. Sözlüğün bir parçası değillerse, sözlüğün sonuna eklenirler.

split_special_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Özel jetonların tokenizasyon işlemi sırasında bölünüp bölünmeyeceğini belirtir. Değer geçilmesi, tokenizer'ın iç durumunu etkiler. Varsayılan davranış, özel jetonları bölmemektir. Bu, `<s>` `bos_token` ise `tokenizer.tokenize("<s>") = ['<s>`]' sonucunu verir. Aksi halde, `split_special_tokens=True` ise `tokenizer.tokenize("<s>")` `['<','s', '>']` sonucunu verir.

Tüm yavaş tokenizörler için temel sınıf.

[PreTrainedTokenizerBase](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase) sınıfından devralır.

Tokenizasyon ve özel tokenlar için tüm ortak yöntemleri, ayrıca önceden eğitilmiş tokenizörleri indirme/önbelleğe alma/yükleme yöntemlerini ve sözlüğe token ekleme yöntemlerini yönetir.

Bu sınıf, tüm tokenizörlerin üzerinde eklenen tokenları birleşik bir şekilde içerir; böylece çeşitli alttaki sözlük yapılarının (BPE, sentencepiece...) özel sözlük genişletme yöntemlerini ayrı ayrı ele almamız gerekmez.

Sınıf özellikleri (türetilen sınıflar tarafından geçersiz kılınır)

- **vocab_files_names** (`dict[str, str]`) -- Modelin gerektirdiği her sözlük dosyasının `__init__` anahtar kelime adını anahtar olarak, ilgili dosyanın kaydedileceği dosya adını (string) ise değer olarak içeren bir sözlük.
- **pretrained_vocab_files_map** (`dict[str, dict[str, str]]`) -- Bir sözlüklerin sözlüğü; üst düzey anahtarlar, modelin gerektirdiği her sözlük dosyasının `__init__` anahtar kelime adını, alt düzey anahtarlar ise ön eğitilmiş modellerin `short-cut-names` kısaltmalarını içerir ve ilişkili değerler olarak ilgili ön eğitilmiş sözlük dosyasına giden `url` adresini taşır.
- **model_input_names** (`list[str]`) -- Modelin ileri geçişinde beklenen girdilerin listesi.
- **padding_side** (`str`) -- Modelin padding uygulanması gereken tarafı için varsayılan değer. `'right'` veya `'left'` olmalıdır.
- **truncation_side** (`str`) -- Modelde kırpmanın uygulanacağı taraf için varsayılan değer. `'right'` veya `'left'` olmalıdır.

#### build_inputs_with_special_tokens[[transformers.PythonBackend.build_inputs_with_special_tokens]]

```python
build_inputs_with_special_tokens(token_ids_0: list, token_ids_1: list[int] | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L865)

**Parametreler:**

token_ids_0 (`list[int]`) : Özel jetonların ekleneceği kimliklerin listesi.

token_ids_1 (`list[int]`, *isteğe bağlı*) : Sıralı çiftler için isteğe bağlı ikinci kimlik listesi.

**Dönüş:** `list[int]`

Uygun özel jetonlarla birlikte girdi kimlikleri listesi.

Özel jetonlar ekleyerek bir diziden veya diziler çiftinden model girdileri oluşturun.

Bu yöntem, girdileri belirleyicinin `special_tokens_pattern` değerine göre dinamik olarak oluşturur:
- `"none"`: Özel jeton yok
- `"cls_sep"`: [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] seq1 [SEP]
- `"eos"`: seq0 [EOS] veya seq0 [EOS] seq1 [EOS]
- `"bos"`: [BOS] seq0 veya [BOS] seq0 [BOS] seq1
- `"bos_eos"`: [BOS] seq0 [EOS] veya [BOS] seq0 [EOS] seq1 [EOS]
- `"cls_double_sep"`: [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] [SEP] seq1 [SEP]
- `"prefix_suffix"`: `<prefix_tokens> seq0 [seq1] <suffix_tokens>` (tokenizörde saklanan özel önek/son ek)

#### create_token_type_ids_from_sequences[[transformers.PythonBackend.create_token_type_ids_from_sequences]]

```python
create_token_type_ids_from_sequences(token_ids_0: list, token_ids_1: list[int] | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L1298)

**Parametreler:**

token_ids_0 (`list[int]`) : Kimlik listesi.

token_ids_1 (`list[int]`, *isteğe bağlı*) : Sıralı çiftler için isteğe bağlı ikinci kimlik listesi.

**Dönüş:** `list[int]`

Yapılandırılan desene göre token türü kimlikleri.

Bir sıralama çifti sınıflandırma görevinde kullanılacak şekilde, iletilen iki sıralamadan bir maske oluşturun.

Bu yöntem, belirteçsizin yapılandırma özniteliklerine dayanarak belirteç türü kimliklerini dinamik olarak oluşturur:
- `token_type_ids_pattern`: Kullanılacak desen ("all_zeros" veya "bert_style")
- `token_type_ids_include_special_tokens`: Uzunluk hesabında özel jetonların dikkate alınıp alınmayacağı

Örnekler:
```python
# All zeros pattern (default, used by RoBERTa, BART, etc.)
tokenizer.token_type_ids_pattern = "all_zeros"
# Returns: [0, 0, 0, ...] for both sequences

# BERT-style pattern (first sequence gets 0s, second gets 1s)
tokenizer.token_type_ids_pattern = "bert_style"
# Returns: [0, 0, 0, ..., 1, 1, 1, ...] for sequence pairs
```

#### get_added_vocab[[transformers.PythonBackend.get_added_vocab]]

```python
get_added_vocab()
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L488)

**Dönüş:** `dict[str, int]`

Eklenen jetonlar.

Sözlükte eklenen token'ları, token'dan indekse bir sözlük olarak döndürür. Sonuçlar, hızlı çağrıdan farklı olabilir çünkü şu an için token'lar sözlükte zaten olsa bile her zaman eklenir. Bunun değiştirilmesi gereken bir durumdur.

#### get_special_tokens_mask[[transformers.PythonBackend.get_special_tokens_mask]]

```python
get_special_tokens_mask(token_ids_0: list, token_ids_1: list | None = None, already_has_special_tokens: bool = False)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L969)

**Parametreler:**

token_ids_0 (`list[int]`) : İlk dizinin kimlik listesi.

token_ids_1 (`list[int]`, *isteğe bağlı*) : İkinci dizinin kimlik listesi.

already_has_special_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Token listesinin, model için özel token'larla zaten biçimlendirilmiş olup olmadığı.

**Dönüş:** [0, 1] aralığında tamsayılar listesi

özel bir jeton için 1, bir dizi jetonu için 0.

Özel tokenler eklenmemiş bir token listesinden dizi kimliklerini alır. Bu yöntem, tokenizer'ın `prepare_for_model` veya `encode_plus` yöntemleri kullanılarak özel tokenler eklenirken çağrılır.

Bu yöntem, özel jeton maskesini dinamik olarak oluşturur ve bunun için `special_tokens_pattern` değerini kullanır:
- `"none"`: Özel jeton yok (varsayılan, tümü 0 döner)
- `"cls_sep"`: [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] seq1 [SEP]
- `"eos"`: seq0 [EOS] veya seq0 [EOS] seq1 [EOS]
- `"bos"`: [BOS] seq0 veya [BOS] seq0 [BOS] seq1
- `"bos_eos"`: [BOS] seq0 [EOS] veya [BOS] seq0 [EOS] seq1 [EOS]
- `"cls_double_sep"`: [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] [SEP] seq1 [SEP]
- `"prefix_suffix"`: `<prefix_tokens> seq0 [seq1] <suffix_tokens>`

#### num_special_tokens_to_add[[transformers.PythonBackend.num_special_tokens_to_add]]

```python
num_special_tokens_to_add(pair: bool = False)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L602)

**Parametreler:**

pair (`bool`, *isteğe bağlı*, varsayılan `False`) : Bir dizi çifti veya tek bir dizi durumunda eklenen jeton sayısının hesaplanıp hesaplanmayacağı.

**Dönüş:** `int`

Dizilere eklenen özel jeton sayısı.

Özel jetonlarla bir diziyi kodlarken eklenen jeton sayısını döndürür.

Bu, sahte bir girdiyi kodlar ve eklenen jeton sayısını kontrol eder; bu nedenle verimli değildir. Bunu eğitim döngünüzün içine koymayın.

#### prepare_for_model[[transformers.PythonBackend.prepare_for_model]]

```python
prepare_for_model(ids: list, pair_ids: list[int] | None = None, add_special_tokens: bool = True, padding: bool | str | transformers.utils.generic.PaddingStrategy = False, truncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy = False, max_length: int | None = None, stride: int = 0, pad_to_multiple_of: int | None = None, padding_side: str | None = None, return_tensors: str | transformers.utils.generic.TensorType | None = None, return_token_type_ids: bool | None = None, return_attention_mask: bool | None = None, return_overflowing_tokens: bool = False, return_special_tokens_mask: bool = False, return_length: bool = False, verbose: bool = True, prepend_batch_axis: bool = False, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L1121)

**Parametreler:**

ids : İlk dizinin tokenize edilmiş girdi kimlikleri.

pair_ids : İkinci dizinin tokenize edilmiş girdi kimlikleri (isteğe bağlı).

Girdi kimlikleri dizisini model tarafından kullanılabilecek şekilde hazırlar. Özel jetonları ekler, kısaltır ve doldurur.

#### prepare_for_tokenization[[transformers.PythonBackend.prepare_for_tokenization]]

```python
prepare_for_tokenization(text: str, is_split_into_words: bool = False, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L841)

**Parametreler:**

text (`str`) : Hazırlanacak metin.

is_split_into_words (`bool`, *isteğe bağlı*, varsayılan `False`) : Girdinin önceden tokenize edilip edilmediğini (örneğin, kelimelere ayrılmış olup olmadığını) belirtir. `True` olarak ayarlanırsa, tokenizer girdinin zaten kelimelere ayrılmış olduğunu (örneğin, boşluklara göre bölünmüş) varsayar ve bunları tokenize eder. Bu, NER veya token sınıflandırma için faydalıdır.

kwargs (`dict[str, Any]`, *isteğe bağlı*) : Tokenizasyon için kullanılacak anahtar kelime argümanları.

**Dönüş:** `tuple[str, dict[str, Any]]`

Hazırlanan metin ve kullanılmayan kwargs.

Tokenizasyon öncesinde gerekli tüm dönüşümleri gerçekleştirir.

Bu yöntem, argümanları `kwargs` içinden çıkarmalı ve kalan `kwargs` değerlerini de döndürmelidir. Tüm argümanların kullanıldığından emin olmak için `kwargs` değerlerini kodlama sürecinin sonunda test ederiz.

#### save_vocabulary[[transformers.PythonBackend.save_vocabulary]]

```python
save_vocabulary(save_directory: str, filename_prefix: str | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L1362)

**Parametreler:**

save_directory (`str`) : Sözlüğün kaydedileceği dizin.

filename_prefix (`str`, *isteğe bağlı*) : Kaydedilen dosyaların adlarına eklenecek isteğe bağlı bir önek.

**Dönüş:** `tuple[str, ...]`

Kaydedilen dosyaların yolları, dosya kaydedilmediyse boş tuple.

Ortak sözlük kaydetme kalıpları için varsayılan uygulama. self.encoder/self.vocab'ı JSON olarak kaydeder, isteğe bağlı olarak self.bpe_ranks'ı birleştirmeler (merges) olarak ekler. Sözlük yoksa boş tuple döndürür.

Tokenizörünüz özel kaydetme mantığı gerektiriyorsa (ör. SentencePiece modelleri, birden çok sözlük dosyası veya özel dosya biçimleri) bu yöntemi geçersiz kılın.

#### tokenize[[transformers.PythonBackend.tokenize]]

```python
tokenize(text: str, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L625)

**Parametreler:**

text : Kodlanacak dizi.

- ****kwargs** : Model-özel `prepare_for_tokenization` ön işleme yöntemine iletilir.

**Dönüş:**

Tokenların listesi.

Dizgiyi, belirteç ayrıştırıcıyı kullanarak belirteç dizisine dönüştürür.

#### truncate_sequences[[transformers.PythonBackend.truncate_sequences]]

```python
truncate_sequences(ids: list, pair_ids: list[int] | None = None, num_tokens_to_remove: int = 0, truncation_strategy: str | transformers.tokenization_utils_base.TruncationStrategy = 'longest_first', stride: int = 0)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L1231)

Belirtilen stratejiye göre dizileri kısaltır.

## TokenizersBackend[[transformers.TokenizersBackend]]

#### transformers.TokenizersBackend[[transformers.TokenizersBackend]]

```python
transformers.TokenizersBackend(*args, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L86)

**Parametreler:**

model_max_length (`int`, *isteğe bağlı*) : Transformer modeline girecek girdilerin maksimum uzunluğu (token sayısı cinsinden). Tokenizer [from_pretrained()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.from_pretrained) ile yüklendiğinde, bu değer `max_model_input_sizes` içinde ilgili model için saklanan değere ayarlanır (bkz. yukarı). Bir değer sağlanmazsa, varsayılan olarak VERY_LARGE_INTEGER (`int(1e30)`) kullanılır.

padding_side (`str`, *isteğe bağlı*) : Modelin padding uygulanması gereken tarafı. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden alınır.

truncation_side (`str`, *isteğe bağlı*) : Modelde kırpmanın uygulanması gereken taraf. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özniteliğinden alınır.

chat_template (`str`, *isteğe bağlı*) : Sohbet mesajı listelerini biçimlendirmek için kullanılacak bir Jinja şablon dizesi. Tam açıklama için https://huggingface.co/docs/transformers/chat_templating adresine bakın.

model_input_names (`list[string]`, *isteğe bağlı*) : Modelin ileri geçişinin kabul ettiği girdilerin listesi (örneğin `"token_type_ids"` veya `"attention_mask"`). Varsayılan değer, aynı ada sahip sınıf özniteliğinden seçilir.

bos_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Bir cümlenin başlangıcını temsil eden özel bir belirteç.

eos_token (`str` veya `tokenizers.AddedToken`, *opsiyonel*) : Bir cümlenin sonunu temsil eden özel bir belirteç.

unk_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Sözlük dışı bir token'ı temsil eden özel bir token.

sep_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Aynı girdideki iki farklı cümleyi ayıran özel bir belirteç (örneğin BERT tarafından kullanılır).

pad_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Toplu işleme (batching) amacıyla token dizilerini aynı boyuta getirmek için kullanılan özel bir token. Dikkat mekanizmaları veya kayıp (loss) hesaplaması tarafından yok sayılır.

cls_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Girdinin sınıfını temsil eden özel bir jeton (örneğin BERT tarafından kullanılır).

mask_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Maskelenmiş bir token'ı temsil eden özel bir token (BERT gibi maskeli dil modelleme ön eğitim hedeflerinde kullanılır). `self.mask_token` ve `self.mask_token_id` ile ilişkilendirilecektir.

extra_special_tokens (`str` veya `tokenizers.AddedToken` listesi, *isteğe bağlı*) : Modelle ilgili ek özel tokenların listesi. `skip_special_tokens` True olarak ayarlandığında çözümleme sırasında bunların atlanmasını sağlamak için buraya ekleyin. Sözlüğün bir parçası değillerse, sözlüğün sonuna eklenirler.

split_special_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Özel jetonların tokenizasyon işlemi sırasında bölünüp bölünmeyeceğini belirtir. Değer geçilmesi, tokenizer'ın iç durumunu etkiler. Varsayılan davranış, özel jetonları bölmemektir. Bu, `<s>` `bos_token` ise `tokenizer.tokenize("<s>") = ['<s>`]' sonucunu verir. Aksi halde, `split_special_tokens=True` ise `tokenizer.tokenize("<s>")` `['<','s', '>']` sonucunu verir.

tokenizer_object (`tokenizers.Tokenizer`) : Örneklenmek üzere 🤗 tokenizers'dan bir `tokenizers.Tokenizer` nesnesi. Daha fazla bilgi için [🤗 tokenizers'dan tokenizer kullanma](../fast_tokenizers) bölümüne bakın.

tokenizer_file (`str`) : Daha önce serileştirilmiş bir 🤗 tokenizers `tokenizers.Tokenizer` nesnesini temsil eden yerel bir JSON dosyasına giden yol.

Tüm hızlı tokenizörler için temel sınıf (HuggingFace tokenizers kütüphanesini sarmalar).

[PreTrainedTokenizerBase](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase) sınıfından devralır.

Tokenizasyon ve özel tokenlar için ortak yöntemlerin yanı sıra, önceden eğitilmiş tokenizörlerin indirilme/önbelleğe alınma/yükleme yöntemlerini ve sözlüğe token ekleme yöntemlerini yönetir.

Bu sınıf, tüm tokenizer'ların üzerinde eklenen token'ları birleşik bir şekilde içerir; böylece çeşitli alttaki sözlük yapılarının (BPE, sentencepiece...) özel sözlük genişletme yöntemlerini ayrı ayrı ele almamız gerekmez.

Sınıf özellikleri (türetilen sınıflar tarafından geçersiz kılınır)

- **vocab_files_names** (`dict[str, str]`) -- Modelin gerektirdiği her sözlük dosyasının `__init__` anahtar kelime adını anahtar olarak, ilgili dosyanın kaydedileceği dosya adını (string) ise değer olarak içeren bir sözlük.
- **pretrained_vocab_files_map** (`dict[str, dict[str, str]]`) -- Bir sözlüklerin sözlüğü; üst düzey anahtarlar, modelin gerektirdiği her sözlük dosyasının `__init__` anahtar kelime adını, alt düzey anahtarlar ise ön eğitilmiş modellerin `short-cut-names` kısaltmalarını içerir ve ilişkili değerler olarak ilgili ön eğitilmiş sözlük dosyasına giden `url` adresini taşır.
- **model_input_names** (`list[str]`) -- Modelin ileri geçişinde beklenen girdilerin listesi.
- **padding_side** (`str`) -- Modelin padding uygulanması gereken tarafı için varsayılan değer. `'right'` veya `'left'` olmalıdır.
- **truncation_side** (`str`) -- Modelde kırpmanın uygulanacağı taraf için varsayılan değer. `'right'` veya `'left'` olmalıdır.

#### convert_to_native_format[[transformers.TokenizersBackend.convert_to_native_format]]

```python
convert_to_native_format(trust_remote_code = False, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L103)

Mevcut seri dosyalarından (tokenizer.json, sentencepiece modelleri, tekken.json, vocab/merges) bir `tokenizers.Tokenizer` arka ucu oluşturun.

#### get_added_vocab[[transformers.TokenizersBackend.get_added_vocab]]

```python
get_added_vocab()
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L740)

**Dönüş:** `dict[str, int]`

Eklenen jetonlar.

Sözlükteki eklenen token'ları, token'dan indekse bir sözlük olarak döndürür.

#### num_special_tokens_to_add[[transformers.TokenizersBackend.num_special_tokens_to_add]]

```python
num_special_tokens_to_add(pair: bool = False)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L837)

**Parametreler:**

pair (`bool`, *isteğe bağlı*, varsayılan `False`) : Bir dizi çifti veya tek bir dizi durumunda eklenen jeton sayısının hesaplanıp hesaplanmayacağı.

**Dönüş:** `int`

Dizilere eklenen özel jeton sayısı.

Özel jetonlarla bir diziyi kodlarken eklenen jeton sayısını döndürür.

Bu, sahte bir girdiyi kodlar ve eklenen jeton sayısını kontrol eder; bu nedenle verimli değildir. Bunu eğitim döngünüzün içine koymayın.

#### save_pretrained[[transformers.TokenizersBackend.save_pretrained]]

```python
save_pretrained(save_directory: str | os.PathLike, legacy_format: bool | None = None, filename_prefix: str | None = None, push_to_hub: bool = False, save_format: str | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L559)

**Parametreler:**

save_format (`str`, *isteğe bağlı*) : Orijinal dosyanın kopyalanarak yerel bir `tekken.json` olarak kaydedilmesi için `"mistral"` (orijinal tekken sözlük dosyasının kullanılabilir olması gerekir). Kaydetme sırasında ad `tekken.json` olarak normalize edilir ve örneklenen tokenizer bununla tam olarak eşleşmelidir. Varsayılan HuggingFace formatı için `"hf"` veya `None`.

kwargs (`dict[str, Any]`, *isteğe bağlı*) : [push_to_hub()](/docs/transformers/main/tr/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub) yöntemine iletilen ek anahtar kelime argümanları.

**Dönüş:** `str` türünde bir demet

Kaydedilen dosyalar.

Tam tokenizer durumunu kaydedin.

[save_pretrained()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.save_pretrained) metodunu, yerel bir sözlük dosyasından dönüştürülen tokenizörler (ör. Mistral'ın `tekken.json` dosyası) için `save_format` desteğiyle genişletir. `legacy_format`, `filename_prefix` ve `push_to_hub` için temel metoda bakın.

#### set_truncation_and_padding[[transformers.TokenizersBackend.set_truncation_and_padding]]

```python
set_truncation_and_padding(padding_strategy: PaddingStrategy, truncation_strategy: TruncationStrategy, max_length: int, stride: int, pad_to_multiple_of: int | None, padding_side: str | None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L896)

**Parametreler:**

padding_strategy ([PaddingStrategy](/docs/transformers/main/tr/internal/file_utils#transformers.utils.PaddingStrategy)) : Girişe uygulanacak dolgu türü

truncation_strategy ([TruncationStrategy](/docs/transformers/main/tr/internal/tokenization_utils#transformers.tokenization_utils_base.TruncationStrategy)) : Girişe uygulanacak kesme türü

max_length (`int`) : Bir dizinin maksimum boyutu.

stride (`int`) : Taşma durumunu ele alırken kullanılacak adım.

pad_to_multiple_of (`int`, *isteğe bağlı*) : Ayarlanırsa, diziyi verilen değerin katına kadar doldurur. Bu, hesaplama yeteneği `>= 7.5` (Volta) olan NVIDIA donanımlarında Tensor Core'lerin kullanılmasını sağlamak için özellikle faydalıdır.

padding_side (`str`, *isteğe bağlı*) : Modelin padding uygulanması gereken tarafı. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden alınır.

Hızlı tokenizörler için (HuggingFace tokenizers kütüphanesi tarafından sağlanan) kesme ve dolgu stratejilerini tanımlayın ve ardından tokenizör ayarlarını geri yükleyin.

Sağlanan tokenizer, yönetilen bölüm öncesinde bir dolgu / kısaltma stratejisine sahip değildir. Tokenizer'ınız daha önce bir dolgu / kısaltma stratejisi belirlediyseniz, yönetilen bölümden çıkıldığında bu strateji dolgu / kısaltma yapılmayacak şekilde sıfırlanır.

#### train_new_from_iterator[[transformers.TokenizersBackend.train_new_from_iterator]]

```python
train_new_from_iterator(text_iterator, vocab_size, length = None, new_special_tokens = None, special_tokens_map = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L1192)

**Parametreler:**

text_iterator (`list[str]` üreticisi) : Eğitim kursumu. Metinlerin toplu hallerini üreten bir üretici olmalıdır; örneğin, her şey bellekteyse metinlerden oluşan listelerin listesi.

vocab_size (`int`) : Tokenizörünüz için istediğiniz sözlüğün boyutu.

length (`int`, *isteğe bağlı*) : İteratördeki dizilerin toplam sayısı. Bu, anlamlı bir ilerleme takibi sağlamak için kullanılır

new_special_tokens (`str` veya `AddedToken` listesi, *isteğe bağlı*) : Eğittiğiniz tokenizer'a eklenecek yeni özel tokenların listesi.

special_tokens_map (`dict[str, str]`, *isteğe bağlı*) : Bu tokenizer'ın kullandığı özel tokenlardan bazılarını yeniden adlandırmak istiyorsanız, bu argümana eski özel token adından yeni özel token adına giden bir eşleme iletin.

kwargs (`dict[str, Any]`, *isteğe bağlı*) : 🤗 Tokenizers kütüphanesinden eğiticinin (trainer) iletilen ek anahtar kelime argümanları.

**Dönüş:** [PreTrainedTokenizerFast](/docs/transformers/main/tr/main_classes/tokenizer#transformers.TokenizersBackend)

Orijinaliyle aynı türde, `text_iterator` üzerinde eğitilmiş yeni bir tokenizer.

Mevcut tokenizatorla aynı varsayılanlara (özel tokenler veya tokenizasyon hattı açısından) sahip yeni bir korpus üzerinde tokenizator eğitir.

#### update_post_processor[[transformers.TokenizersBackend.update_post_processor]]

```python
update_post_processor()
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L627)

Altta yatan post işlemcisini güncel `bos_token` ve `eos_token` ile günceller.

## SentencePieceBackend[[transformers.SentencePieceBackend]]

#### transformers.SentencePieceBackend[[transformers.SentencePieceBackend]]

```python
transformers.SentencePieceBackend(**kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_sentencepiece.py#L45)

**Parametreler:**

model_max_length (`int`, *isteğe bağlı*) : Transformer modeline girecek girdilerin maksimum uzunluğu (token sayısı cinsinden). Tokenizer [from_pretrained()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.from_pretrained) ile yüklendiğinde, bu değer `max_model_input_sizes` içinde ilgili model için saklanan değere ayarlanır (bkz. yukarı). Bir değer sağlanmazsa, varsayılan olarak VERY_LARGE_INTEGER (`int(1e30)`) kullanılır.

padding_side (`str`, *isteğe bağlı*) : Modelin padding uygulanması gereken tarafı. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden alınır.

truncation_side (`str`, *isteğe bağlı*) : Modelde kırpmanın uygulanması gereken taraf. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özniteliğinden alınır.

chat_template (`str`, *isteğe bağlı*) : Sohbet mesajı listelerini biçimlendirmek için kullanılacak bir Jinja şablon dizesi. Tam açıklama için https://huggingface.co/docs/transformers/chat_templating adresine bakın.

model_input_names (`list[string]`, *isteğe bağlı*) : Modelin ileri geçişinin kabul ettiği girdilerin listesi (örneğin `"token_type_ids"` veya `"attention_mask"`). Varsayılan değer, aynı ada sahip sınıf özniteliğinden seçilir.

bos_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Bir cümlenin başlangıcını temsil eden özel bir belirteç.

eos_token (`str` veya `tokenizers.AddedToken`, *opsiyonel*) : Bir cümlenin sonunu temsil eden özel bir belirteç.

unk_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Sözlük dışı bir token'ı temsil eden özel bir token.

sep_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Aynı girdideki iki farklı cümleyi ayıran özel bir belirteç (örneğin BERT tarafından kullanılır).

pad_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Toplu işleme (batching) amacıyla token dizilerini aynı boyuta getirmek için kullanılan özel bir token. Dikkat mekanizmaları veya kayıp (loss) hesaplaması tarafından yok sayılır.

cls_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Girdinin sınıfını temsil eden özel bir jeton (örneğin BERT tarafından kullanılır).

mask_token (`str` veya `tokenizers.AddedToken`, *isteğe bağlı*) : Maskelenmiş bir token'ı temsil eden özel bir token (BERT gibi maskeli dil modelleme ön eğitim hedeflerinde kullanılır). `self.mask_token` ve `self.mask_token_id` ile ilişkilendirilecektir.

extra_special_tokens (`str` veya `tokenizers.AddedToken` listesi, *isteğe bağlı*) : Modelle ilgili ek özel tokenların listesi. `skip_special_tokens` True olarak ayarlandığında çözümleme sırasında bunların atlanmasını sağlamak için buraya ekleyin. Sözlüğün bir parçası değillerse, sözlüğün sonuna eklenirler.

split_special_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Özel jetonların tokenizasyon işlemi sırasında bölünüp bölünmeyeceğini belirtir. Değer geçilmesi, tokenizer'ın iç durumunu etkiler. Varsayılan davranış, özel jetonları bölmemektir. Bu, `<s>` `bos_token` ise `tokenizer.tokenize("<s>") = ['<s>`]' sonucunu verir. Aksi halde, `split_special_tokens=True` ise `tokenizer.tokenize("<s>")` `['<','s', '>']` sonucunu verir.

sentencepiece.model dosyalarından yüklenen, SentencePiece tabanlı tokenizörler için temel sınıf.

[PreTrainedTokenizer](/docs/transformers/main/tr/main_classes/tokenizer#transformers.PythonBackend) sınıfından devralır.

Tokenizasyon ve özel tokenlar için tüm ortak yöntemleri, ayrıca önceden eğitilmiş tokenizörleri indirme/önbelleğe alma/yükleme yöntemlerini ve sözlüğe token ekleme yöntemlerini yönetir.

Bu sınıf, tüm tokenizörlerin üzerinde eklenen tokenları birleşik bir şekilde içerir; böylece çeşitli alttaki sözlük yapılarının (BPE, sentencepiece...) özel sözlük genişletme yöntemlerini ayrı ayrı ele almamız gerekmez.

Sınıf özellikleri (türetilen sınıflar tarafından geçersiz kılınır)

- **vocab_files_names** (`dict[str, str]`) -- Modelin gerektirdiği her sözlük dosyasının `__init__` anahtar kelime adını anahtar olarak, ilgili dosyanın kaydedileceği dosya adını (string) ise değer olarak içeren bir sözlük.
- **pretrained_vocab_files_map** (`dict[str, dict[str, str]]`) -- Bir sözlüklerin sözlüğü; üst düzey anahtarlar, modelin gerektirdiği her sözlük dosyasının `__init__` anahtar kelime adını, alt düzey anahtarlar ise ön eğitilmiş modellerin `short-cut-names` kısaltmalarını içerir ve ilişkili değerler olarak ilgili ön eğitilmiş sözlük dosyasına giden `url` adresini taşır.
- **model_input_names** (`list[str]`) -- Modelin ileri geçişinde beklenen girdilerin listesi.
- **padding_side** (`str`) -- Modelin padding uygulanması gereken tarafı için varsayılan değer. `'right'` veya `'left'` olmalıdır.
- **truncation_side** (`str`) -- Modelde kırpmanın uygulanacağı taraf için varsayılan değer. `'right'` veya `'left'` olmalıdır.

#### convert_tokens_to_string[[transformers.SentencePieceBackend.convert_tokens_to_string]]

```python
convert_tokens_to_string(tokens: list)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_sentencepiece.py#L232)

Bir dizi belirteci (dizgi) tek bir dizgide birleştirir.

#### get_vocab[[transformers.SentencePieceBackend.get_vocab]]

```python
get_vocab()
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_sentencepiece.py#L104)

Sözlüğü bir sözlük olarak döndürür

#### save_vocabulary[[transformers.SentencePieceBackend.save_vocabulary]]

```python
save_vocabulary(save_directory: str, filename_prefix: str | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_sentencepiece.py#L237)

**Parametreler:**

save_directory (`str`) : Sözlüğün kaydedileceği dizin.

filename_prefix (`str`, *isteğe bağlı*) : Kaydedilen dosyaların adlarına eklenecek isteğe bağlı bir önek.

**Dönüş:** `tuple(str)`

Kaydedilen dosyaların yolları.

Sentencepiece sözlüğünü (orijinal dosyanın kopyası) bir dizine kaydedin.

## BatchEncoding[[transformers.BatchEncoding]]

#### transformers.BatchEncoding[[transformers.BatchEncoding]]

```python
transformers.BatchEncoding(data: dict[str, Any] | None = None, encoding: EncodingFast | Sequence[EncodingFast] | None = None, tensor_type: None | str | TensorType = None, prepend_batch_axis: bool = False, n_sequences: int | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L201)

**Parametreler:**

data (`dict`, *isteğe bağlı*) : `__call__`/`encode_plus`/`batch_encode_plus` yöntemleri tarafından döndürülen listeler/diziler/tensörler sözlüğü ('input_ids', 'attention_mask' vb.).

encoding (`tokenizers.Encoding` veya `Sequence[tokenizers.Encoding]`, *isteğe bağlı*) : Tokenizer, kelime/karakter uzayından token uzayına eşleme gibi ek bilgiler üreten hızlı bir tokenizer ise, `tokenizers.Encoding` örneği veya örnek listesi (toplu işlemler için) bu bilgileri barındırır.

tensor_type (`Union[None, str, TensorType]`, *isteğe bağlı*) : Başlatma sırasında PyTorch/Numpy Tensörlerine dönüştürmek için tam sayı listelerini burada bir tensor_type olarak verebilirsiniz.

prepend_batch_axis (`bool`, *isteğe bağlı*, varsayılan `False`) : Tensörlere dönüştürülürken bir batch ekseni eklenip eklenmeyeceğini belirtir (bkz. yukarıdaki `tensor_type`). `tensor_type` parametresi ayarlanmışsa bu parametrenin bir etkisi vardır, *aksi halde etkisi yoktur*.

n_sequences (`Optional[int]`, *isteğe bağlı*) : Her kodlamanın temsil ettiği girdi dizilerinin sayısı (bilinmeyen için `None`, tek bir dizi için `1` ve bir dizi çifti için `2`).

[__call__()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__), `~tokenization_utils_base.PreTrainedTokenizerBase.encode_plus` ve `~tokenization_utils_base.PreTrainedTokenizerBase.batch_encode_plus` yöntemlerinin çıktısını (tokenlar, attention_masks vb.) tutar.

Bu sınıf bir python sözlüğünden türetilmiştir ve bir sözlük olarak kullanılabilir. Ayrıca bu sınıf, kelime/karakter uzayından token uzayına eşlemeyi sağlayan yardımcı yöntemler sunar.

#### char_to_token[[transformers.BatchEncoding.char_to_token]]

```python
char_to_token(batch_or_char_index: int, char_index: int | None = None, sequence_index: int = 0)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L547)

**Parametreler:**

batch_or_char_index (`int`) : Batch içindeki dizinin indeksi. Batch yalnızca bir dizi içeriyorsa, bu, dizideki karakterin indeksi olabilir

char_index (`int`, *isteğe bağlı*) : *batch_or_char_index* içinde bir batch indeksi sağlanırsa, bu, dizideki karakterin indeksi olabilir.

sequence_index (`int`, *isteğe bağlı*, varsayılan 0) : Bir çift dizi batch içinde kodlanmışsa, sağlanan karakter dizininin çiftteki hangi diziye (0 veya 1) ait olduğunu belirtmek için kullanılabilir.

**Dönüş:** `int`

Token'in indeksi, karakter indeksi yalnızca boşluk içeren bir token'a işaret ediyorsa ve boşluklar `trim_offsets=True` ile kırpılıyorsa None.

Bir batch dizisi için, orijinal dizideki bir karakteri içeren token'ın kodlanmış çıktıdaki indeksini alın.

Şu şekilde çağrılabilir:

- batch boyutu 1 ise `self.char_to_token(char_index)`
- batch boyutu 1'e eşit veya büyükse `self.char_to_token(batch_index, char_index)`

Bu yöntem, girdi dizileri önceden tokenize edilmiş diziler olarak (yani kelimeler kullanıcı tarafından tanımlanmış olarak) verildiğinde özellikle uygundur. Bu durumda, kodlanmış tokenların sağlanan tokenize edilmiş kelimelerle kolayca ilişkilendirilmesine olanak tanır.

#### char_to_word[[transformers.BatchEncoding.char_to_word]]

```python
char_to_word(batch_or_char_index: int, char_index: int | None = None, sequence_index: int = 0)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L632)

**Parametreler:**

batch_or_char_index (`int`) : Batch içindeki dizinin indeksi. Batch yalnızca bir dizi içeriyorsa, bu, orijinal dizgedeki karakterin indeksi olabilir.

char_index (`int`, *isteğe bağlı*) : *batch_or_char_index* içinde bir batch indeksi sağlanırsa, bu, orijinal dizgedeki karakterin indeksi olabilir.

sequence_index (`int`, *isteğe bağlı*, varsayılan 0) : Bir çift dizi batch içinde kodlanmışsa, sağlanan karakter dizininin çiftteki hangi diziye (0 veya 1) ait olduğunu belirtmek için kullanılabilir.

**Dönüş:** `int`

Karakteri içeren kelimenin indeksi.

Toplu işlemdeki bir dizinin orijinal dizisindeki bir karaktere karşılık gelen orijinal dizideki kelimeyi alın.

Şu şekilde çağrılabilir:

- batch boyutu 1 ise `self.char_to_word(char_index)`
- batch boyutu 1'den büyükse `self.char_to_word(batch_index, char_index)`

Bu yöntem, girdi dizileri önceden tokenize edilmiş diziler olarak (yani kelimeler kullanıcı tarafından tanımlanmış olarak) verildiğinde özellikle uygundur. Bu durumda, kodlanmış tokenların sağlanan tokenize edilmiş kelimelerle kolayca ilişkilendirilmesine olanak tanır.

#### convert_to_tensors[[transformers.BatchEncoding.convert_to_tensors]]

```python
convert_to_tensors(tensor_type: str | TensorType | None = None, prepend_batch_axis: bool = False)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L671)

**Parametreler:**

tensor_type (`str` veya [TensorType](/docs/transformers/main/tr/internal/file_utils#transformers.TensorType), *opsiyonel*) : Kullanılacak tensörlerin türü. `str` ise, [TensorType](/docs/transformers/main/tr/internal/file_utils#transformers.TensorType) enum'undaki değerlerden biri olmalıdır. `None` ise, herhangi bir değişiklik yapılmaz.

prepend_batch_axis (`bool`, *isteğe bağlı*, varsayılan `False`) : Dönüşüm sırasında batch boyutunun eklenip eklenmeyeceğini belirtir.

İçeriği tensörlere dönüştürün.

#### sequence_ids[[transformers.BatchEncoding.sequence_ids]]

```python
sequence_ids(batch_index: int = 0)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L341)

**Parametreler:**

batch_index (`int`, *isteğe bağlı*, varsayılan 0) : Batch içinde erişilecek indeks.

**Dönüş:** `list[Optional[int]]`

Her token'a karşılık gelen sıra kimliğini gösteren bir liste. Tokenizer tarafından eklenen özel tokenlar `None` değerine, diğer tokenlar ise ilgili sıranın dizin indeksine eşlenir.

Tokenleri orijinal cümlelerinin kimliklerine eşleyen bir liste döndürür:

- `None`, dizilerin etrafına veya arasına eklenen özel jetonlar için,
- ilk dizideki kelimelere karşılık gelen jetonlar için `0`,
- `1`, birlikte kodlanmış bir dizi çifti söz konusu olduğunda, ikinci dizideki kelimelere karşılık gelen jetonlar için.

#### 'e[[transformers.BatchEncoding.to]]

```python
to(device: str | torch.device | int, non_blocking: bool = False)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L765)

**Parametreler:**

device (`str` veya `torch.device` veya `int`) : Tensörlerin yerleştirileceği cihaz.

non_blocking (`bool`) : Kopyalama işleminin asenkron olarak gerçekleştirilip gerçekleştirilmeyeceğini belirtir.

**Dönüş:** [BatchEncoding](/docs/transformers/main/tr/main_classes/tokenizer#transformers.BatchEncoding)

Değişiklikten sonra aynı örnek.

Tüm değerleri, `v.to(device, non_blocking=non_blocking)` çağrısını yaparak cihaza gönderin (yalnızca PyTorch).

#### token_to_chars[[transformers.BatchEncoding.token_to_chars]]

```python
token_to_chars(batch_or_token_index: int, token_index: int | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L508)

**Parametreler:**

batch_or_token_index (`int`) : Toplu işlemdeki dizinin indeksi. Toplu işlem yalnızca bir dizi içeriyorsa, bu, dizideki token'ın indeksi olabilir.

token_index (`int`, *isteğe bağlı*) : *batch_or_token_index* içinde bir batch indeksi sağlanırsa, bu, dizideki token veya tokenların indeksi olabilir.

**Dönüş:** [CharSpan](/docs/transformers/main/tr/internal/tokenization_utils#transformers.CharSpan)

Orijinal dizideki karakter aralığı veya token (ör. , ) orijinal dizideki herhangi bir karaktere karşılık gelmiyorsa None.

Toplu işlemdeki bir dizide kodlanmış bir jetona karşılık gelen karakter aralığını alın.

Karakter aralıkları, şunlara sahip bir [CharSpan](/docs/transformers/main/tr/internal/tokenization_utils#transformers.CharSpan) olarak döndürülür:

- **start** -- Token ile ilişkili olan orijinal dizideki ilk karakterin indeksi.
- **end** -- Token ile ilişkili olan orijinal dizideki son karakterin hemen ardından gelen karakterin indeksi.

Şu şekilde çağrılabilir:

- batch boyutu 1 ise `self.token_to_chars(token_index)`
- batch boyutu 1'e eşit veya büyükse `self.token_to_chars(batch_index, token_index)`

#### token_to_sequence[[transformers.BatchEncoding.token_to_sequence]]

```python
token_to_sequence(batch_or_token_index: int, token_index: int | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L378)

**Parametreler:**

batch_or_token_index (`int`) : Toplu işlemdeki dizinin indeksi. Toplu işlem yalnızca bir dizi içeriyorsa, bu, dizideki token'ın indeksi olabilir.

token_index (`int`, *isteğe bağlı*) : *batch_or_token_index* içinde bir batch indeksi sağlanırsa, bu, dizideki tokenın indeksi olabilir.

**Dönüş:** `int`

İçerik token'ı içeren giriş dizisinin indeksi (bir çiftin ilk dizisi için `0` veya ikinci dizisi için `1`).

Verilen token'ın temsil ettiği dizinin indeksini alır. Genel kullanım durumunda, bu yöntem tek bir dizi veya bir çiftin ilk dizisi için `0`, bir çiftin ikinci dizisi için `1` döndürür.

Şu şekilde çağrılabilir:

- batch boyutu 1 ise `self.token_to_sequence(token_index)`
- batch boyutu 1'den büyükse `self.token_to_sequence(batch_index, token_index)`

Bu yöntem, girdi dizileri önceden tokenize edilmiş diziler olarak (yani kelimeler kullanıcı tarafından tanımlanmış olarak) verildiğinde özellikle uygundur. Bu durumda, kodlanmış tokenların sağlanan tokenize edilmiş kelimelerle kolayca ilişkilendirilmesine olanak tanır.

#### token_to_word[[transformers.BatchEncoding.token_to_word]]

```python
token_to_word(batch_or_token_index: int, token_index: int | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L417)

**Parametreler:**

batch_or_token_index (`int`) : Toplu işlemdeki dizinin indeksi. Toplu işlem yalnızca bir dizi içeriyorsa, bu, dizideki token'ın indeksi olabilir.

token_index (`int`, *isteğe bağlı*) : *batch_or_token_index* içinde bir batch indeksi sağlanırsa, bu, dizideki tokenın indeksi olabilir.

**Dönüş:** `int`

Girdi dizisindeki kelimenin indeksi.

Toplu işlemdeki bir dizide kodlanmış bir token'a karşılık gelen (yani onu içeren) kelimenin indeksini alın.

Şu şekilde çağrılabilir:

- batch boyutu 1 ise `self.token_to_word(token_index)`
- batch boyutu 1'den büyükse `self.token_to_word(batch_index, token_index)`

Bu yöntem, girdi dizileri önceden tokenize edilmiş diziler olarak (yani kelimeler kullanıcı tarafından tanımlanmış olarak) verildiğinde özellikle uygundur. Bu durumda, kodlanmış tokenların sağlanan tokenize edilmiş kelimelerle kolayca ilişkilendirilmesine olanak tanır.

#### tokens[[transformers.BatchEncoding.tokens]]

```python
tokens(batch_index: int = 0)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L326)

**Parametreler:**

batch_index (`int`, *isteğe bağlı*, varsayılan 0) : Batch içinde erişilecek indeks.

**Dönüş:** `list[str]`

O indeksteki token listesi.

Belirtilen bir parti indeksinde (yalnızca hızlı bir belirteçleyicinin çıktısı için çalışır) belirteç listesini (kelime/alt kelime bölme işleminden sonra ve tamsayı indekslere dönüştürülmeden önce girdi dizelerinin alt parçaları) döndürür.

#### word_ids[[transformers.BatchEncoding.word_ids]]

```python
word_ids(batch_index: int = 0)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L362)

**Parametreler:**

batch_index (`int`, *isteğe bağlı*, varsayılan 0) : Batch içinde erişilecek indeks.

**Dönüş:** `list[Optional[int]]`

Her token'a karşılık gelen kelimeyi gösteren bir liste. Tokenizer tarafından eklenen özel tokenlar `None` değerine eşlenir, diğer tokenlar ise karşılık gelen kelimenin dizinine eşlenir (bir kelimenin parçaları olan birden fazla token aynı kelime dizinine eşlenir).

Hızlı bir tokenizer için, tokenleri başlangıç cümlesindeki gerçek kelimelerine eşleyen bir liste döndürür.

#### word_to_chars[[transformers.BatchEncoding.word_to_chars]]

```python
word_to_chars(batch_or_word_index: int, word_index: int | None = None, sequence_index: int = 0)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L587)

**Parametreler:**

batch_or_word_index (`int`) : Batch içindeki dizinin indeksi. Batch yalnızca bir diziden oluşuyorsa, bu, dizideki kelimenin indeksi olabilir

word_index (`int`, *isteğe bağlı*) : *batch_or_word_index* içinde bir batch indeksi sağlanırsa, bu, dizideki kelimenin indeksi olabilir.

sequence_index (`int`, *isteğe bağlı*, varsayılan 0) : Bir çift dizi batch içinde kodlanmışsa, sağlanan kelime dizininin çiftteki hangi diziye (0 veya 1) ait olduğunu belirtmek için kullanılabilir.

**Dönüş:** `CharSpan`

Dizideki ilişkili karakter veya karakterlerin aralığı. CharSpan bir NamedTuple'dur ve şunları içerir:

- start: orijinal dizide kelimeyle ilişkili ilk karakterin indeksi
- end: orijinal dizide kelimeyle ilişkili son karakterin ardından gelen karakterin indeksi

Toplu işlemdeki bir dizide verilen kelimeye orijinal dizide karşılık gelen karakter aralığını alın.

Karakter aralıkları, aşağıdakilerle birlikte bir CharSpan NamedTuple olarak döndürülür:

- start: orijinal dizideki ilk karakterin indeksi
- end: orijinal dizideki son karakterin hemen ardından gelen karakterin indeksi

Şu şekilde çağrılabilir:

- batch boyutu 1 ise `self.word_to_chars(word_index)`
- batch boyutu 1'e eşit veya büyükse `self.word_to_chars(batch_index, word_index)`

#### word_to_tokens[[transformers.BatchEncoding.word_to_tokens]]

```python
word_to_tokens(batch_or_word_index: int, word_index: int | None = None, sequence_index: int = 0)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L455)

**Parametreler:**

batch_or_word_index (`int`) : Toplu işlemdeki dizinin indeksi. Toplu işlem yalnızca bir dizi içeriyorsa, bu, dizideki kelimenin indeksi olabilir.

word_index (`int`, *isteğe bağlı*) : *batch_or_word_index* içinde bir batch indeksi sağlanırsa, bu, dizideki kelimenin indeksi olabilir.

sequence_index (`int`, *isteğe bağlı*, varsayılan 0) : Bir çift dizi batch içinde kodlanmışsa, sağlanan kelime dizininin çiftteki hangi diziye (0 veya 1) ait olduğunu belirtmek için kullanılabilir.

**Dönüş:** ([TokenSpan](/docs/transformers/main/tr/internal/tokenization_utils#transformers.TokenSpan), *opsiyonel*)

Kodlanmış dizideki token aralığı. Kelimeye karşılık gelen token yoksa `None` döndürür. Bu durum, özellikle token, tokenizasyonu biçimlendirmek için kullanılan özel bir token olduğunda ortaya çıkabilir. Örneğin, tokenizasyonun en başına bir sınıf tokenı eklendiğinde.

Toplu işlemdeki bir dizide bir kelimeye karşılık gelen kodlanmış token aralığını alın.

Token aralıkları, şunlara sahip bir [TokenSpan](/docs/transformers/main/tr/internal/tokenization_utils#transformers.TokenSpan) olarak döndürülür:

- **start** -- İlk jetonun indeksi.
- **end** -- Son token'ı takip eden token'ın indeksi.

Şu şekilde çağrılabilir:

- `self.word_to_tokens(word_index, sequence_index: int = 0)` batch boyutu 1 ise
- `self.word_to_tokens(batch_index, word_index, sequence_index: int = 0)` batch boyutu 1'e eşitse veya daha büyükse

Bu yöntem, girdi dizileri önceden tokenize edilmiş diziler olarak (yani kelimeler kullanıcı tarafından tanımlanmış olarak) verildiğinde özellikle uygundur. Bu durumda, kodlanmış tokenların sağlanan tokenize edilmiş kelimelerle kolayca ilişkilendirilmesine olanak tanır.

