# Mistral

[Mistral](https://huggingface.co/papers/2310.06825), büyük modellerin ölçeklendirme maliyetlerini performans ve verimli çıkarım ile dengelemeye odaklanan, önceden eğitilmiş ve talimatla ayarlanmış bir varyant olarak kullanılabilen 7B parametreli bir dil modelidir. Bu model, daha uzun dizileri daha etkili işlemek için 8K bağlam uzunluğu ve sabit önbellek boyutuyla eğitilmiş kayan pencere dikkati (SWA) kullanır. Gruplu sorgu dikkati (GQA), çıkarımı hızlandırır ve bellek gereksinimlerini azaltır. Mistral, karakterlerin asla sözlük dışı jetonlara eşlenmemesini sağlayarak jeton işleme ve verimliliği iyileştirmek için bayta geri dönüşlü BPE jetonlaştırıcısı da içerir.

Tüm orijinal Mistral kontrol noktalarını [Mistral AI_](https://huggingface.co/mistralai) kuruluşu altında bulabilirsiniz.

> [!TIP]
> Mistral'ı farklı dil görevlerine uygulama örnekleri için sağ kenar çubuğundaki Mistral modellerine tıklayın.
>
> [from_pretrained()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) içinde `use_kernels=True` değerini ayarlayarak desteklenen katmanları Hub'daki optimize edilmiş çekirdeklerle değiştirin. Daha fazla bilgi için [Çekirdekleri yükleme](../kernel_doc/loading_kernels) bölümüne bakın.

Aşağıdaki örnek, [Pipeline](/docs/transformers/main/tr/main_classes/pipelines#transformers.Pipeline) veya [AutoModel](/docs/transformers/main/tr/model_doc/auto#transformers.AutoModel) ile sohbet etmeyi ve bunu komut satırından yapmayı göstermektedir.

```python
from transformers import pipeline

messages = [
    {"role": "user", "content": "What is your favourite condiment?"},
    {"role": "assistant", "content": "Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!"},
    {"role": "user", "content": "Do you have mayonnaise recipes?"}
]

chatbot = pipeline("text-generation", model="mistralai/Mistral-7B-Instruct-v0.3", device=0)
chatbot(messages)
```

```python
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("mistralai/Mistral-7B-Instruct-v0.3", attn_implementation="sdpa", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-Instruct-v0.3")

messages = [
    {"role": "user", "content": "What is your favourite condiment?"},
    {"role": "assistant", "content": "Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!"},
    {"role": "user", "content": "Do you have mayonnaise recipes?"}
]

model_inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)

generated_ids = model.generate(**model_inputs, max_new_tokens=100, do_sample=True)
tokenizer.batch_decode(generated_ids)[0]
"Mayonnaise can be made as follows: (...)"
```

```python
echo -e "My favorite condiment is" | transformers chat mistralai/Mistral-7B-v0.3 --dtype auto --device 0 --attn_implementation flash_attention_2
```

Quantization, ağırlıkları daha düşük bir hassasiyetle temsil ederek büyük modellerin bellek yükünü azaltır. Daha fazla kullanılabilir quantization backend'i için [Quantization](../quantization/overview) genel bakışına başvurun.

Aşağıdaki örnek, ağırlıkları yalnızca 4-bite küçültmek için [bitsandbytes](../quantization/bitsandbytes) kullanır.

```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig

# specify how to quantize the model
quantization_config = BitsAndBytesConfig(
        load_in_4bit=True,
        bnb_4bit_quant_type="nf4",
        bnb_4bit_compute_dtype=torch.float16,
)

model = AutoModelForCausalLM.from_pretrained("mistralai/Mistral-7B-Instruct-v0.3", quantization_config=quantization_config, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-Instruct-v0.3")

prompt = "My favourite condiment is"

messages = [
    {"role": "user", "content": "What is your favourite condiment?"},
    {"role": "assistant", "content": "Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!"},
    {"role": "user", "content": "Do you have mayonnaise recipes?"}
]

model_inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)

generated_ids = model.generate(**model_inputs, max_new_tokens=100, do_sample=True)
tokenizer.batch_decode(generated_ids)[0]
"The expected output"
```

Modelin hangi token'lara dikkat edebildiğini ve edemediğini daha iyi anlamak için [AttentionMaskVisualizer](https://github.com/huggingface/transformers/blob/beb9b5b02246b9b7ee81ddf938f93f44cfeaad19/src/transformers/utils/attention_visualizer.py#L139)'ı kullanın.

```python
from transformers.utils.attention_visualizer import AttentionMaskVisualizer

visualizer = AttentionMaskVisualizer("mistralai/Mistral-7B-Instruct-v0.3")
visualizer("Do you have mayonnaise recipes?")
```

    

## MistralConfig[[transformers.MistralConfig]]

#### transformers.MistralConfig[[transformers.MistralConfig]]

```python
transformers.MistralConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, vocab_size: int = 32000, hidden_size: int = 4096, intermediate_size: int = 14336, num_hidden_layers: int = 32, num_attention_heads: int = 32, num_key_value_heads: int = 8, head_dim: int | None = None, hidden_act: str = 'silu', max_position_embeddings: int = 131072, initializer_range: float = 0.02, rms_norm_eps: float = 1e-06, use_cache: bool = True, pad_token_id: int | None = None, bos_token_id: int | None = 1, eos_token_id: int | list[int] | None = 2, tie_word_embeddings: bool = False, rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = None, sliding_window: int | None = 4096, attention_dropout: float | int = 0.0)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/mistral/configuration_mistral.py#L28)

**Parametreler:**

vocab_size (`int`, *isteğe bağlı*, varsayılan `32000`) : Modelin sözlük boyutu. `input_ids` tarafından temsil edilebilecek farklı token sayısını tanımlar.

hidden_size (`int`, *isteğe bağlı*, varsayılan `4096`) : Gizli temsillerin boyutu.

intermediate_size (`int`, *isteğe bağlı*, varsayılan `14336`) : MLP temsil boyutu.

num_hidden_layers (`int`, *isteğe bağlı*, varsayılan `32`) : Transformer decoder'ındaki gizli katman sayısı.

num_attention_heads (`int`, *isteğe bağlı*, varsayılan `32`) : Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.

num_key_value_heads (`int`, *isteğe bağlı*, varsayılan `8`) : Grouped Query Attention'ı uygulamak için kullanılması gereken key_value başlarının sayısıdır. `num_key_value_heads=num_attention_heads` ise model Multi Head Attention (MHA) kullanır, `num_key_value_heads=1` ise model Multi Query Attention (MQA) kullanır, aksi halde GQA kullanılır. Çok başlı bir checkpoint'i GQA checkpoint'ine dönüştürürken, her grup key ve value başı, o gruptaki tüm orijinal başların ortalama havuzlanması (meanpooling) ile oluşturulmalıdır. Daha fazla ayrıntı için [bu makaleye](https://huggingface.co/papers/2305.13245) göz atın. Belirtilmezse, varsayılan olarak `num_attention_heads` kullanılır.

head_dim (`int`, *isteğe bağlı*) : Dikkat başı boyutu. None ise, varsayılan olarak hidden_size // num_attention_heads değerini alır

hidden_act (`str`, *isteğe bağlı*, varsayılan `silu`) : Dekoderdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, `"gelu"`, `"relu"`, `"silu"` vb.

max_position_embeddings (`int`, *isteğe bağlı*, varsayılan `131072`) : Bu modelin kullanılabileceği maksimum dizi uzunluğu.

initializer_range (`float`, *opsiyonel*, varsayılan `0.02`) : Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.

rms_norm_eps (`float`, *opsiyonel*, varsayılan `1e-06`) : rms normalizasyon katmanları tarafından kullanılan epsilon.

use_cache (`bool`, *isteğe bağlı*, varsayılan `True`) : Modelin son anahtar/değer dikkatlerini döndürüp döndürmeyeceğini belirtir (tüm modellerde kullanılmaz). Yalnızca `config.is_decoder=True` olduğunda veya model yalnızca çözücü tabanlı üretken bir model olduğunda geçerlidir.

pad_token_id (`int`, *isteğe bağlı*) : Sözlükte dolgu için kullanılan token kimliği.

bos_token_id (`int`, *isteğe bağlı*, varsayılan `1`) : Sözlükte akış başlangıcı için kullanılan token kimliği.

eos_token_id (`Union[int, list[int]]`, *isteğe bağlı*, varsayılan `2`) : Sözlükte akış sonu için kullanılan token kimliği.

tie_word_embeddings (`bool`, *isteğe bağlı*, varsayılan `False`) : Ağırlık gömme bağlamalarının, modelin `tied_weights_keys` eşlemesine göre yapılıp yapılmayacağını belirtir.

rope_parameters (`Union[~modeling_rope_utils.RopeParameters, dict]`, *isteğe bağlı*) : RoPE gömme yapılandırma parametrelerini içeren sözlük. Sözlük, `rope_theta` için bir değer içermeli ve daha uzun `max_position_embeddings` ile RoPE kullanmak istiyorsanız ölçekleme için kullanılan parametreleri isteğe bağlı olarak içermelidir.

sliding_window (`int`, *isteğe bağlı*, varsayılan `4096`) : Kayan pencere dikkat penceresi boyutu. `None` ise kayan pencere uygulanmaz.

attention_dropout (`Union[float, int]`, *isteğe bağlı*, varsayılan `0.0`) : Dikkat olasılıkları için dropout oranı.

Bu, bir MistralModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Mistral modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, [mistralai/Mistral-7B-v0.1](https://huggingface.co/mistralai/Mistral-7B-v0.1) ile benzer bir yapılandırmaya yol açar.

Yapılandırma nesneleri [PreTrainedConfig](/docs/transformers/main/tr/main_classes/configuration#transformers.PreTrainedConfig) sınıfından türetilir ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için [PreTrainedConfig](/docs/transformers/main/tr/main_classes/configuration#transformers.PreTrainedConfig) belgesini okuyun.

Örnek:

```python
>>> from transformers import MistralModel, MistralConfig

>>> # Initializing a Mistral 7B style configuration
>>> configuration = MistralConfig()

>>> # Initializing a model from the Mistral 7B style configuration
>>> model = MistralModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```

## MistralCommonBackend[[transformers.MistralCommonBackend]]

#### transformers.MistralCommonBackend[[transformers.MistralCommonBackend]]

```python
transformers.MistralCommonBackend(tokenizer_path: str | os.PathLike | pathlib.Path, mode: str | ValidationMode = 'test', model_max_length: int = 1000000000000000019884624838656, padding_side: str = 'left', truncation_side: str = 'right', model_input_names: list[str] | None = None, clean_up_tokenization_spaces: bool = False, **kwargs)
```

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

`mistral-common` tokenizers'ını sarmalamak için bir sınıf.

`mistral-common`, Mistral AI modelleri için resmi tokenizer kütüphanesidir. Kullanmak için aşağıdaki komutla yüklemeniz gerekir:

```bash
pip install transformers[mistral-common]
```

Aksi takdirde, tokenizer, tokenizer'ın Transformers uygulamasına geri döner.

`mistral-common` hakkında daha fazla bilgi için [mistral-common](https://github.com/mistralai/mistral-common) sayfasına bakın.

Bu sınıf, `mistral_common.tokens.tokenizers.mistral.MistralTokenizer` sınıfının bir sarmalayıcısıdır. Resmi mistral-common tokenizer'ı kullanarak tokenizasyon yapmak için Hugging Face ile uyumlu bir arayüz sağlar ve `PreTrainedTokenizerBase` sınıfından devralır.

`PythonBackend` sınıfıyla temel davranış farkları şunlardır:

- Sıralı çiftler desteklenmez. İmza, uyumluluk için korunmuştur ancak sıralı çiftlerle ilgili tüm argümanlar yok sayılır. Çiftler için döndürülen değerler `None` olarak döndürülür.
- `is_split_into_words` argümanı desteklenmiyor.
- Tokenizer'a yeni token eklenemez. Özel tokenlar, Transformers'tan farklı olarak işlenir. `mistral-common` içinde özel tokenlar asla doğrudan kodlanmaz. Bu şu anlama gelir: `tokenizer.encode("<s>")`, `<s>` token'ının kimliğini döndürmez. Bunun yerine, `"<s>"` dizgesinin tokenizasyonuna karşılık gelen kimlik listesini döndürür. Daha fazla bilgi için [mistral-common belgeleri](https://mistralai.github.io/mistral-common/usage/tokenizers/#special-tokens)'ne bakın.

Bu sınıfı geliştirmeye yönelik önerileriniz varsa, öneri tokenizer ile ilgiliyse [mistral-common GitHub deposu](https://github.com/mistralai/mistral-common/issues)'nda, Hugging Face arayüzü ile ilgiliyse [Transformers GitHub deposu](https://github.com/huggingface/transformers/issues)'nda bir issue açın.

#### add_special_tokens[[transformers.MistralCommonBackend.add_special_tokens]]

```python
add_special_tokens(special_tokens_dict: dict[str, str | tokenizers.AddedToken | collections.abc.Sequence[str | tokenizers.AddedToken]], replace_extra_special_tokens: bool = True)
```

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

`MistralCommonBackend`, tasarım gereği `add_special_tokens` işlevini uygulamaz.

Bu davranışın uygulanmasını istiyorsanız, bunu talep etmek için `Transformers` veya `mistral-common` depolarında bir sorun (issue) açın.

#### add_tokens[[transformers.MistralCommonBackend.add_tokens]]

```python
add_tokens(special_tokens_dict: dict[str, str | tokenizers.AddedToken | collections.abc.Sequence[str | tokenizers.AddedToken]], replace_extra_special_tokens: bool = True)
```

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

`MistralCommonBackend`, tasarım gereği `add_special_tokens` işlevini uygulamaz.

Bu davranışın uygulanmasını istiyorsanız, bunu talep etmek için `Transformers` veya `mistral-common` depolarında bir sorun (issue) açın.

#### apply_chat_template[[transformers.MistralCommonBackend.apply_chat_template]]

```python
apply_chat_template(conversation: list[dict[str, str]] | list[list[dict[str, str]]], tools: list[dict | collections.abc.Callable] | None = None, add_generation_prompt: bool = False, continue_final_message: bool = False, tokenize: bool = True, padding: bool | str | transformers.utils.generic.PaddingStrategy = False, truncation: bool = False, max_length: int | None = None, return_tensors: str | transformers.utils.generic.TensorType | None = None, return_dict: bool = True, reasoning_effort: ReasoningEffort | None = None, **kwargs)
```

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

**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 [sohbet şablonlama kılavuzumuza](https://huggingface.co/docs/transformers/main/en/chat_templating#automated-function-conversion-for-tool-use) bakın.

add_generation_prompt (`bool`, *isteğe bağlı*) : Bu argüman `MistralCommonBackend` için bir işlev görmemektedir (no-op). Ancak API tutarlılığını korumak için `continue_final_message` ile aynı anda kullanılamaz. Herhangi bir sohbet bir asistan mesajıyla sonlanıyorsa bir hata oluşturur. Bu tür durumlarda bunun yerine `continue_final_message` kullanın.

continue_final_message (bool, *isteğe bağlı*) : Bu ayar etkinleştirilirse, 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ı önceden doldurmanıza ("prefill") olanak tanır. `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.

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.

return_dict (`bool`, varsayılan `False`) : 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. En az bir konuşma bir görüntü içeriyorsa, piksel değerleri `pixel_values` anahtarı altında ve görüntü boyutları `image_sizes` anahtarı altında döndürülür.

reasoning_effort (`ReasoningEffort`, *isteğe bağlı*) : Bunu destekleyen modeller için sohbet tamamlama işleminde kullanılacak akıl yürütme çabası. Olası değerler şunlardır: - `ReasoningEffort.none`: Model akıl yürütme yapmaz. - `ReasoningEffort.high`: Model bir akıl yürütme yaklaşımı kullanır. Belirtilmezse, varsayılan akıl yürütme çabası kullanılır.

kwargs (ek anahtar kelime argümanları, *isteğe bağlı*) : mistral-common `ChatCompletionRequest.from_openai` yöntemine iletilen ek argümanlar.

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

Şu ana kadar tokenize edilmiş sohbet, kontrol token'larını da içerir. Bu çıktı, doğrudan veya `generate()` gibi yöntemler aracılığıyla modele iletmeye hazırdır.

`"role"` ve `"content"` anahtarlarına sahip sözlük listesini, token kimliği listesine dönüştürür.

#### batch_decode[[transformers.MistralCommonBackend.batch_decode]]

```python
batch_decode(sequences: typing.Union[list[int], list[list[int]], numpy.ndarray, ForwardRef('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_mistral_common.py#L512)

**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ı*) : `MistralCommonBackend.batch_decode` tarafından desteklenmez. Kullanılırsa bir hata oluşturur.

**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.

#### build_inputs_with_special_tokens[[transformers.MistralCommonBackend.build_inputs_with_special_tokens]]

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

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

**Parametreler:**

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

token_ids_1 (`None`, *isteğe bağlı*) : None, Transformers'ın imzasıyla uyumlu tutulmuştur.

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

Uygun özel jetonlarla birlikte girdi kimlikleri listesi.

Özel jetonlar ekleyerek bir diziden model girdileri oluşturun.

Bu yöntem, girdileri belirleyicinin `mode` değerine göre dinamik olarak oluşturur:
- `"test"`: seq0 [EOS]
- `"finetuning"`: [BOS] seq0

#### convert_added_tokens[[transformers.MistralCommonBackend.convert_added_tokens]]

```python
convert_added_tokens(obj: tokenizers.AddedToken | typing.Any, save: bool = False, add_type_field: bool = True)
```

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

`MistralCommonBackend`, tasarım gereği `convert_added_tokens` işlevini uygulamaz.

Bu davranışın uygulanmasını istiyorsanız, bunu talep etmek için `Transformers` veya `mistral-common` depolarında bir sorun (issue) açın.

#### create_token_type_ids_from_sequences[[transformers.MistralCommonBackend.create_token_type_ids_from_sequences]]

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

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

**Parametreler:**

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

token_ids_1 (`None`, *isteğe bağlı*) : None, Transformers'ın imzasıyla uyumlu tutulmuştur.

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

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

Özel tokenler eklenmiş token kimliklerinden sıfırlardan oluşan bir maske oluşturun.

Transformers' uygulamasıyla eşleşecek şekilde korundu.

#### decode[[transformers.MistralCommonBackend.decode]]

```python
decode(token_ids: typing.Union[int, list[int], list[list[int]], numpy.ndarray, ForwardRef('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_mistral_common.py#L475)

**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ğı.

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ı*) : `MistralCommonBackend.decode` tarafından desteklenmez. Kullanılırsa bir hata oluşturur.

**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 tokenları kaldırma ve tokenizasyon boşluklarını temizleme seçenekleriyle, tokenizer ve sözlük kullanarak bir dizgedeki kimlik dizisini dönüştürür.

#### encode[[transformers.MistralCommonBackend.encode]]

```python
encode(text: str | list[int], text_pair: None = None, add_special_tokens: bool = True, padding: bool | str | transformers.utils.generic.PaddingStrategy = False, truncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy | None = None, 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, verbose: bool = True, return_offsets_mapping: typing.Literal[False] = False, split_special_tokens: typing.Literal[False] = False, **kwargs)
```

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

**Parametreler:**

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

text_pair (`None`, *isteğe bağlı*) : `MistralCommonBackend.encode` tarafından desteklenmez. `PreTrainedTokenizerBase.encode` imzasıyla uyumlu tutulmuştur.

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 hangi jetonların ekleneceğini 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. Tokenizer `finetuning` moduyla yüklendiğinde hem `bos` hem de `eos` ekler. Aksi halde, "test" modunda yalnızca `bos` ekler.

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 girdi uzunluğuna kısaltılır. - `False` veya `'do_not_truncate'` (varsayılan): Kısaltma yapılmaz (yani, modelin kabul edebileceği maksimum girdi boyutundan daha uzun dizi uzunluklarına sahip bir batch çıktısı üretilebilir).

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.

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), *isteğe bağlı*) : 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.

- ****kwargs** : `MistralCommonBackend.encode` tarafından desteklenmez. Kullanılırsa bir hata oluşturur.

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

Metnin tokenize edilmiş kimlikleri.

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

#### from_pretrained[[transformers.MistralCommonBackend.from_pretrained]]

```python
from_pretrained(pretrained_model_name_or_path: str | os.PathLike, *init_inputs, mode: str | ValidationMode = 'test', cache_dir: str | os.PathLike | None = None, force_download: bool = False, local_files_only: bool = False, token: str | bool | None = None, revision: str = 'main', model_max_length: int = 1000000000000000019884624838656, padding_side: str = 'left', truncation_side: str = 'right', model_input_names: list[str] | None = None, clean_up_tokenization_spaces: bool = False, **kwargs)
```

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

**Parametreler:**

pretrained_model_name_or_path (`str` veya `os.PathLike`) : Şu seçeneklerden biri olabilir:  - huggingface.co üzerindeki bir model deposunda barındırılan, önceden tanımlanmış bir *model id*'sine sahip bir dize. - Tokenizer yapılandırmasını içeren bir *dizin* yolu, örneğin `MistralCommonBackend.tokenization_mistral_common.save_pretrained` yöntemi kullanılarak kaydedilen, örn. `./my_model_directory/`.

mode (`Union[str, ValidationMode]`, *isteğe bağlı*, varsayılan `ValidationMode.test`) : `MistralTokenizer` belirteç ayrıştırıcısının doğrulama modu. Olası değerler şunlardır: - `"finetuning"` veya `ValidationMode.finetuning`: İnce ayar modu. - `"test"` veya `ValidationMode.test`: Test modu. Bu, belirteç ayrıştırıcısının girdiyi nasıl doğruladığını ve modele gönderilecek isteği nasıl hazırladığını değiştirir.

cache_dir (`str` veya `os.PathLike`, *isteğe bağlı*) : Standart önbellek kullanılmayacaksa, indirilen önceden tanımlı tokenizer sözlük dosyalarının önbelleğe alınacağı dizinin yolu.

force_download (`bool`, *isteğe bağlı*, varsayılan `False`) : Varsa önbellekteki sürümleri geçersiz kılarak sözlük dosyalarının (yeniden) indirilmesini zorlayıp zorlamayacağı.

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

local_files_only (`bool`, *isteğe bağlı*, varsayılan `False`) : Sadece yerel dosyalara mı güvenileceği ve dosya indirmeye çalışılmayacağı.

revision (`str`, *isteğe bağlı*, varsayılan `"main"`) : Kullanılacak belirli model sürümü. huggingface.co üzerinde modelleri ve diğer artefaktları depolamak için git tabanlı bir sistem kullandığımız için, bir dal adı, bir etiket adı veya bir commit id olabilir; bu nedenle `revision`, git tarafından izin verilen herhangi bir tanımlayıcı olabilir.

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.

padding_side (`str`, *isteğe bağlı*, varsayılan `"left"`) : Modelin dolgu (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ı*, varsayılan `"right"`) : Modelde kırpma uygulanacak taraf. ['right', 'left'] arasından seçilmelidir.

model_input_names (`List[str]`, *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.

clean_up_tokenization_spaces (`bool`, *isteğe bağlı*, varsayılan `False`) : Modelin, tokenizasyon sürecinde girdi metnini bölerken eklenen boşlukları temizleyip temizlemeyeceğini belirtir.

kwargs (ek anahtar kelime argümanları, *isteğe bağlı*) : `MistralCommonBackend.from_pretrained` tarafından desteklenmez. Kullanılırsa bir hata oluşturur.

Önceden tanımlanmış bir tokenizer'dan `MistralCommonBackend` örneği oluşturun.

#### get_chat_template[[transformers.MistralCommonBackend.get_chat_template]]

```python
get_chat_template(chat_template: str | None = None, tools: list[dict] | None = None)
```

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

`MistralCommonBackend`, `mistral-common` sohbet şablonları kullanmadığı için, tasarım gereği `get_chat_template` işlevini uygulamaz.

#### get_special_tokens_mask[[transformers.MistralCommonBackend.get_special_tokens_mask]]

```python
get_special_tokens_mask(token_ids_0: list[int], token_ids_1: None = None, already_has_special_tokens: bool = False)
```

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

**Parametreler:**

token_ids_0 (`list[int]`) : Sıranın kimlik listesi.

token_ids_1 (`None`, *isteğe bağlı*) : None, Transformers'ın uygulamasıyla uyumlu tutulmak üzere bırakıldı.

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.

#### get_vocab[[transformers.MistralCommonBackend.get_vocab]]

```python
get_vocab()
```

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

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

Kelime dağarcığı.

Sözlüğü, belirteçten indekse giden bir sözlük olarak döndürür.

Bu, kayıplı bir dönüştürmedir. Kısmi UTF-8 bayt dizilerinin � karakterine dönüştürülmesi nedeniyle, aynı metne çözümlenen birden fazla token kimliği olabilir.

#### num_special_tokens_to_add[[transformers.MistralCommonBackend.num_special_tokens_to_add]]

```python
num_special_tokens_to_add(pair: typing.Literal[False] = False)
```

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

**Parametreler:**

pair (`Literal[False]`, *isteğe bağlı*) : False, Transformer'ın imzasıyla uyumlu tutulmak üzere bırakıldı.

**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.MistralCommonBackend.prepare_for_model]]

```python
prepare_for_model(ids: list[int], pair_ids: None = None, add_special_tokens: bool = True, padding: bool | str | transformers.utils.generic.PaddingStrategy = False, truncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy | None = None, 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, return_offsets_mapping: typing.Literal[False] = False, split_special_tokens: typing.Literal[False] = False, **kwargs)
```

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

**Parametreler:**

ids (`list[int]`) : İlk dizinin tokenize edilmiş girdi kimlikleri.

pair_ids (`None`, *isteğe bağlı*) : `MistralCommonBackend` tarafından desteklenmez. `PreTrainedTokenizerBase` arayüzüyle uyumlu tutulmuştur.

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 hangi jetonların ekleneceğini 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. Tokenizer `finetuning` moduyla yüklendiğinde hem `bos` hem de `eos` ekler. Aksi halde, "test" modunda yalnızca `bos` ekler.

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 girdi uzunluğuna kısaltılır. - `False` veya `'do_not_truncate'` (varsayılan): Kısaltma yapılmaz (yani, modelin kabul edebileceği maksimum girdi boyutundan daha uzun dizi uzunluklarına sahip bir batch çıktısı üretilebilir).

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.

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), *isteğe bağlı*) : 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.

return_token_type_ids (`bool`, *isteğe bağlı*) : Token türü kimliklerinin döndürülüp döndürülmeyeceğini belirtir. `MistralCommonBackend` için yalnızca bir dizi desteklendiğinden, dizi uzunluğunda sıfırlardan oluşan bir liste döndürü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_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ğı.

return_offsets_mapping (`Literal[False]`, *isteğe bağlı*) : False, Transformers'ın imzasıyla uyumlu tutulmak üzere bırakıldı.

split_special_tokens (`Literal[False]`, *isteğe bağlı*) : False, Transformers'ın imzasıyla uyumlu tutulmak üzere bırakıldı.

- ****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)

- **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)

Girdi kimlik dizisini model tarafından kullanılabilecek şekilde hazırlar. Özel jetonları ekler, taşma durumunda özel jetonları dikkate alarak dizileri kısaltır ve taşan jetonlar için (kullanıcı tanımlı adım ile) kayan bir pencere yönetir.

#### save_chat_templates[[transformers.MistralCommonBackend.save_chat_templates]]

```python
save_chat_templates(save_directory: str | os.PathLike, tokenizer_config: dict, filename_prefix: str | None, save_jinja_files: bool)
```

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

`MistralCommonBackend`, `mistral-common` sohbet şablonları kullanmadığı için, tasarım gereği `save_chat_templates` işlevini uygulamaz.

#### save_pretrained[[transformers.MistralCommonBackend.save_pretrained]]

```python
save_pretrained(save_directory: str | os.PathLike | pathlib.Path, push_to_hub: bool = False, token: str | bool | None = None, commit_message: str | None = None, repo_id: str | None = None, private: bool | None = None, save_format: str | None = None, **kwargs)
```

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

**Parametreler:**

save_directory (`str | os.PathLike | Path`) : Tokenizer'ın kaydedileceği dizin.

push_to_hub (`bool`, *isteğe bağlı*, varsayılan `False`) : Kaydetme işleminden sonra HF Hub'a gönder.

token (`str` veya `bool`, *isteğe bağlı*) : Hub kimlik doğrulaması için jeton.

commit_message (`str`, *isteğe bağlı*) : İterken gönderim mesajı.

repo_id (`str`, *isteğe bağlı*) : Hub deposu kimliği.

private (`bool`, *isteğe bağlı*) : Deponun özel olup olmadığı.

save_format (`str`, *isteğe bağlı*) : yerel tekken formatını kaydetmek için `"mistral"`, HuggingFace formatı için `"hf"`. *None* orijinal formatı korur.

kwargs (`dict`, *isteğe bağlı*) : Desteklenmiyor — bir hata oluşturur.

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

Kaydedilen dosyaların yolları.

Tam tokenizer durumunu kaydedin.

`save_format` `"mistral"` olduğunda (veya tekken tokenizer için *None*), orijinal tokenizer dosyası (ör. `tekken.json`) *save_directory* dizinine yazılır. `save_format` `"hf"` olduğunda ise HF formatındaki dosyalar (`tokenizer.json` + `tokenizer_config.json`) üretilir.

#### save_vocabulary[[transformers.MistralCommonBackend.save_vocabulary]]

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

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

`MistralCommonBackend`, tasarım gereği `save_vocabulary` işlevini uygulamaz.

Bu, `mistral-common`'in tek bir tokenizer dosyasıyla yapılandırılmış olmasından kaynaklanır. Sözlüğü kaydetmek istiyorsanız, bunun yerine `save_pretrained` metodunu kullanmayı düşünün.

#### tokenize[[transformers.MistralCommonBackend.tokenize]]

```python
tokenize(text: str, return_offsets_mapping: typing.Literal[False] = False, split_special_tokens: typing.Literal[False] = False, **kwargs)
```

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

**Parametreler:**

text (`str`) : Kodlanacak dizi.

return_offsets_mapping (`Literal[False]`, *isteğe bağlı*) : False, Transformers'ın imzasıyla uyumlu tutulmak üzere bırakıldı.

split_special_tokens (`Literal[False]`, *isteğe bağlı*) : False, Transformers'ın imzasıyla uyumlu tutulmak üzere bırakıldı.

- ****kwargs** (ek anahtar kelime argümanları): `MistralCommonBackend.tokenize` tarafından desteklenmez. Kullanılırsa bir hata oluşturur.

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

Tokenların listesi.

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

Kelime tabanlı sözlükler için kelimelere, alt kelime tabanlı sözlükler için alt kelimelere bölünür.

#### truncate_sequences[[transformers.MistralCommonBackend.truncate_sequences]]

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

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

**Parametreler:**

ids (`list[int]`) : Tokenize edilmiş girdi kimlikleri. Bir diziden `tokenize` ve `convert_tokens_to_ids` yöntemlerini zincirleyerek elde edilebilir.

pair_ids (`None`, *isteğe bağlı*) : `MistralCommonBackend` tarafından desteklenmez. `PreTrainedTokenizerBase.truncate_sequences` imzasıyla uyumlu tutulmuştur.

num_tokens_to_remove (`int`, *isteğe bağlı*, varsayılan 0) : Kesme stratejisi kullanılarak kaldırılacak jeton sayısı.

truncation_strategy (`str` veya [TruncationStrategy](/docs/transformers/main/tr/internal/tokenization_utils#transformers.tokenization_utils_base.TruncationStrategy), *opsiyonel*, varsayılan `'longest_first'`) : Kısaltma için izlenecek strateji. Şunlardan biri olabilir:  - `'longest_first'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum girdi uzunluğuna kısaltılır. - `'do_not_truncate'` (varsayılan): Kısaltma yapılmaz (yani, modelin kabul edebileceği maksimum girdi boyutundan daha uzun dizi uzunluklarına sahip bir batch çıktısı üretilebilir).

stride (`int`, *isteğe bağlı*, varsayılan 0) : Pozitif bir sayıya ayarlanırsa, döndürülen taşan jetonlar, döndürülen ana diziden bazı jetonları da içerecektir. Bu argümanın değeri, ek jeton sayısını belirler.

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

Kesilen `ids` ve taşan jetonların listesi. Transformers imzasıyla uyumlu olmak için `None` döndürülür.

Stratejiye göre bir dizi çiftini yerinde kısaltır.

## MistralModel[[transformers.MistralModel]]

#### transformers.MistralModel[[transformers.MistralModel]]

```python
transformers.MistralModel(config: MistralConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/mistral/modeling_mistral.py#L309)

**Parametreler:**

config ([MistralConfig](/docs/transformers/main/tr/model_doc/mistral#transformers.MistralConfig)) : Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için [from_pretrained()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine göz atın.

Üzerinde herhangi bir özel head olmadan ham hidden-states üreten çıplak Mistral Model.

Bu model [PreTrainedModel](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel) sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

#### forward[[transformers.MistralModel.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, past_key_values: transformers.cache_utils.Cache | None = None, inputs_embeds: typing.Optional[torch.Tensor] = None, use_cache: bool | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

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

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yoksayılır. İndeksler [AutoTokenizer](/docs/transformers/main/tr/model_doc/auto#transformers.AutoTokenizer) kullanılarak elde edilebilir. Ayrıntılar için [PreTrainedTokenizer.encode()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) ve [PreTrainedTokenizer.__call__()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) yöntemlerine bakın. [Girdi kimlikları (input IDs) nedir?](../glossary#input-ids)

attention_mask (`torch.Tensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Dolgu (padding) token indekslerinde dikkat (attention) işleminin uygulanmamasını sağlayan maske. `[0, 1]` aralığında seçilen maske değerleri:  - **maske uygulanmayan** tokenlar için 1, - **maske uygulanan** tokenlar için 0.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

position_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Girdi dizisi token'larının konum gömme (position embeddings) içindeki konum indeksleri. `[0, config.n_positions - 1]` aralığında seçilir.  [Konum kimlikleri (position IDs) nedir?](../glossary#position-ids)

past_key_values (`~cache_utils.Cache`, *isteğe bağlı*) : Sıralı çözümlemeyi hızlandırmak için kullanılabilen, önceden hesaplanmış gizli durumlar (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle, `use_cache=True` veya `config.use_cache=True` olduğunda, çözümlemenin önceki bir aşamasında modelin döndürdüğü `past_key_values` değerlerinden oluşur. Girdi olarak yalnızca [Cache](/docs/transformers/main/tr/internal/generation_utils#transformers.Cache) örneği kabul edilir, bkz. [kv cache kılavuzu](https://huggingface.co/docs/transformers/en/kv_cache). `past_key_values` geçirilmezse, varsayılan olarak [DynamicCache](/docs/transformers/main/tr/internal/generation_utils#transformers.DynamicCache) başlatılır. Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak verecektir. `past_key_values` kullanılıyorsa, kullanıcının, bu modele geçmiş anahtar-değer durumları verilmemiş olan, yalnızca işlenmemiş `input_ids` değerlerini (şekli `(batch_size, unprocessed_length)` olan) girmesi beklenir; bunun yerine, şekli `(batch_size, sequence_length)` olan tüm `input_ids` değerleri girilmez.

inputs_embeds (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi tercih edebilirsiniz. Bu, `input_ids` indekslerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.

use_cache (`bool`, *isteğe bağlı*) : `True` olarak ayarlanırsa, `past_key_values` anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. `past_key_values`).

**Dönüş:** [BaseModelOutputWithPast](/docs/transformers/main/tr/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPast) veya `tuple(torch.Tensor)`

[BaseModelOutputWithPast](/docs/transformers/main/tr/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPast) veya bir `torch.Tensor` demeti (eğer `return_dict=False` geçirildiyse veya `config.return_dict=False` ise), yapılandırma ([MistralConfig](/docs/transformers/main/tr/model_doc/mistral#transformers.MistralConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[MistralModel](/docs/transformers/main/tr/model_doc/mistral#transformers.MistralModel) forward metodu, `__call__` özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine `Module` örneğini çağırmak gerekir; çünkü ilki ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

- **last_hidden_state** (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`) -- Modelin son katmanının çıktısındaki gizli durumlar dizisi.

  `past_key_values` kullanılırsa, yalnızca `(batch_size, 1, hidden_size)` biçimindeki dizilerin son gizli durumu (hidden-state) çıktı olarak verilir.
- **past_key_values** (`Cache`, *isteğe bağlı*, `use_cache=True` geçirildiğinde veya `config.use_cache=True` olduğunda döndürülür) -- Bir [Cache](/docs/transformers/main/tr/internal/generation_utils#transformers.Cache) örneğidir. Daha fazla ayrıntı için [kv cache kılavuzumuza](https://huggingface.co/docs/transformers/en/kv_cache) bakın.

  Sıralı çözümlemeyi hızlandırmak için (bkz. `past_key_values` girdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki anahtar ve değerler ve isteğe bağlı olarak `config.is_encoder_decoder=True` ise cross-attention bloklarındaki anahtar ve değerler) içerir.
- **hidden_states** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren, `(batch_size, sequence_length, hidden_size)` biçiminde bir demet.

  Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
- **attentions** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`.

  Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

## MistralForCausalLM[[transformers.MistralForCausalLM]]

#### transformers.MistralForCausalLM[[transformers.MistralForCausalLM]]

```python
transformers.MistralForCausalLM(config: MistralConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/mistral/modeling_mistral.py#L383)

**Parametreler:**

config ([MistralConfig](/docs/transformers/main/tr/model_doc/mistral#transformers.MistralConfig)) : Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için [from_pretrained()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine göz atın.

Nedensel dil modellemesi için Mistral Model.

Bu model [PreTrainedModel](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel) sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

#### forward[[transformers.MistralForCausalLM.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, past_key_values: transformers.cache_utils.Cache | None = None, inputs_embeds: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.LongTensor] = None, use_cache: bool | None = None, logits_to_keep: typing.Union[int, torch.Tensor] = 0, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/mistral/modeling_mistral.py#L398)

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yoksayılır. İndeksler [AutoTokenizer](/docs/transformers/main/tr/model_doc/auto#transformers.AutoTokenizer) kullanılarak elde edilebilir. Ayrıntılar için [PreTrainedTokenizer.encode()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) ve [PreTrainedTokenizer.__call__()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) yöntemlerine bakın. [Girdi kimlikları (input IDs) nedir?](../glossary#input-ids)

attention_mask (`torch.Tensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Dolgu (padding) token indekslerinde dikkat (attention) işleminin uygulanmamasını sağlayan maske. `[0, 1]` aralığında seçilen maske değerleri:  - **maske uygulanmayan** tokenlar için 1, - **maske uygulanan** tokenlar için 0.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

position_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Girdi dizisi token'larının konum gömme (position embeddings) içindeki konum indeksleri. `[0, config.n_positions - 1]` aralığında seçilir.  [Konum kimlikleri (position IDs) nedir?](../glossary#position-ids)

past_key_values (`~cache_utils.Cache`, *isteğe bağlı*) : Sıralı çözümlemeyi hızlandırmak için kullanılabilen, önceden hesaplanmış gizli durumlar (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle, `use_cache=True` veya `config.use_cache=True` olduğunda, çözümlemenin önceki bir aşamasında modelin döndürdüğü `past_key_values` değerlerinden oluşur. Girdi olarak yalnızca [Cache](/docs/transformers/main/tr/internal/generation_utils#transformers.Cache) örneği kabul edilir, bkz. [kv cache kılavuzu](https://huggingface.co/docs/transformers/en/kv_cache). `past_key_values` geçirilmezse, varsayılan olarak [DynamicCache](/docs/transformers/main/tr/internal/generation_utils#transformers.DynamicCache) başlatılır. Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak verecektir. `past_key_values` kullanılıyorsa, kullanıcının, bu modele geçmiş anahtar-değer durumları verilmemiş olan, yalnızca işlenmemiş `input_ids` değerlerini (şekli `(batch_size, unprocessed_length)` olan) girmesi beklenir; bunun yerine, şekli `(batch_size, sequence_length)` olan tüm `input_ids` değerleri girilmez.

inputs_embeds (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi tercih edebilirsiniz. Bu, `input_ids` indekslerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.

labels (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Neden dil modelleme kaybını hesaplamak için etiketler. Endeksler `[-100, 0, ..., config.vocab_size]` aralığında olmalıdır (bkz. `input_ids` docstring). Endeksleri `-100` olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca etiketleri `[0, ..., config.vocab_size]` aralığında olan tokenlar için hesaplanır. Etiketler, `labels[..., 1:]`'in `logits[..., :-1, :]`'i tahmin etmek için kullanılması amacıyla **içsel olarak kaydırılır**. `input_ids` ile eşleşen, kaydırılmamış etiketleri iletin (yani `labels = input_ids`). Etiketleri iletmeden önce kendiniz **kaydırmayın**. Etiketler zaten kaydırılmışsa (örneğin sequence parallelism ile), bunları `shift_labels` anahtar kelime argümanı olarak iletin ve olduğu gibi kullanılır. Kaybın hesaplanması için `labels`'in yine de iletilmesi gerekir.

use_cache (`bool`, *isteğe bağlı*) : `True` olarak ayarlanırsa, `past_key_values` anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. `past_key_values`).

logits_to_keep (`Union[int, torch.Tensor]`, *isteğe bağlı*, varsayılan `0`) : `int` ise, son `logits_to_keep` token için logits hesaplanır. `0` ise, tüm `input_ids` için logits hesaplanır (özel durum). Üretim için yalnızca son token'ın logits'ine ihtiyaç duyulur ve bunların yalnızca o token için hesaplanması bellek tasarrufu sağlar; bu, uzun diziler veya büyük sözlük boyutu için oldukça önemli hale gelir. `torch.Tensor` ise, dizi uzunluğu boyutunda tutulacak indekslere karşılık gelen 1B olmalıdır. Bu, paketlenmiş tensor biçimini (batch ve dizi uzunluğu için tek boyut) kullanırken faydalıdır.

**Dönüş:** [CausalLMOutputWithPast](/docs/transformers/main/tr/main_classes/output#transformers.modeling_outputs.CausalLMOutputWithPast) veya `tuple(torch.Tensor)`

[CausalLMOutputWithPast](/docs/transformers/main/tr/main_classes/output#transformers.modeling_outputs.CausalLMOutputWithPast) veya bir `torch.Tensor` demeti (`return_dict=False` geçirildiğinde veya `config.return_dict=False` olduğunda); yapılandırma ([MistralConfig](/docs/transformers/main/tr/model_doc/mistral#transformers.MistralConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[MistralForCausalLM](/docs/transformers/main/tr/model_doc/mistral#transformers.MistralForCausalLM) forward metodu, `__call__` özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine `Module` örneğini çağırmak gerekir; çünkü ilki ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

- **loss** (`torch.Tensor`, şekli `(1,)`, *isteğe bağlı*, `labels` sağlandığında döndürülür) -- Dil modelleme kaybı (sonraki token tahmini için).
- **logits** (`torch.Tensor`, şekli `(batch_size, sequence_length, config.vocab_size)`) -- Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar).
- **past_key_values** (`Cache`, *isteğe bağlı*, `use_cache=True` geçirildiğinde veya `config.use_cache=True` olduğunda döndürülür) -- Bir [Cache](/docs/transformers/main/tr/internal/generation_utils#transformers.Cache) örneğidir. Daha fazla ayrıntı için [kv cache kılavuzumuza](https://huggingface.co/docs/transformers/en/kv_cache) bakın.

  Sıralı çözümlemeyi hızlandırmak için (bkz. `past_key_values` girdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki anahtar ve değerler) içerir.
- **hidden_states** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren, `(batch_size, sequence_length, hidden_size)` biçiminde bir demet.

  Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
- **attentions** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`.

  Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Örnek:

```python
>>> from transformers import AutoTokenizer, MistralForCausalLM

>>> model = MistralForCausalLM.from_pretrained("meta-mistral/Mistral-2-7b-hf")
>>> tokenizer = AutoTokenizer.from_pretrained("meta-mistral/Mistral-2-7b-hf")

>>> prompt = "Hey, are you conscious? Can you talk to me?"
>>> inputs = tokenizer(prompt, return_tensors="pt")

>>> # Generate
>>> generate_ids = model.generate(inputs.input_ids, max_length=30)
>>> tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
"Hey, are you conscious? Can you talk to me?\nI'm not conscious, but I can talk to you."
```

## MistralForSequenceClassification[[transformers.MistralForSequenceClassification]]

#### transformers.MistralForSequenceClassification[[transformers.MistralForSequenceClassification]]

```python
transformers.MistralForSequenceClassification(config)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/mistral/modeling_mistral.py#L460)

#### forward[[transformers.MistralForSequenceClassification.forward]]

```python
forward(input_ids: torch.LongTensor | None = None, attention_mask: torch.Tensor | None = None, position_ids: torch.LongTensor | None = None, past_key_values: Cache | None = None, inputs_embeds: torch.Tensor | None = None, labels: torch.LongTensor | None = None, use_cache: bool | None = None, **kwargs: Unpack[TransformersKwargs])
```

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

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yoksayılır. İndeksler [AutoTokenizer](/docs/transformers/main/tr/model_doc/auto#transformers.AutoTokenizer) kullanılarak elde edilebilir. Ayrıntılar için [PreTrainedTokenizer.encode()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) ve [PreTrainedTokenizer.__call__()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) yöntemlerine bakın. [Girdi kimlikları (input IDs) nedir?](../glossary#input-ids)

attention_mask (`torch.Tensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Dolgu (padding) token indekslerinde dikkat (attention) işleminin uygulanmamasını sağlayan maske. `[0, 1]` aralığında seçilen maske değerleri:  - **maske uygulanmayan** tokenlar için 1, - **maske uygulanan** tokenlar için 0.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

position_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Girdi dizisi token'larının konum gömme (position embeddings) içindeki konum indeksleri. `[0, config.n_positions - 1]` aralığında seçilir.  [Konum kimlikleri (position IDs) nedir?](../glossary#position-ids)

past_key_values (`Cache`, *isteğe bağlı*) : Sıralı çözümlemeyi hızlandırmak için kullanılabilen, önceden hesaplanmış gizli durumlar (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle, `use_cache=True` veya `config.use_cache=True` olduğunda, çözümlemenin önceki bir aşamasında modelin döndürdüğü `past_key_values` içinden oluşur. Girdi olarak yalnızca [Cache](/docs/transformers/main/tr/internal/generation_utils#transformers.Cache) örneği kabul edilir, bkz. [kv cache kılavuzumuz](https://huggingface.co/docs/transformers/en/kv_cache). `past_key_values` geçirilmezse, varsayılan olarak [DynamicCache](/docs/transformers/main/tr/internal/generation_utils#transformers.DynamicCache) başlatılır. Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretir. `past_key_values` kullanılıyorsa, kullanıcının, bu modele geçmiş anahtar-değer durumları verilmemiş olan, yalnızca işlenmemiş `input_ids`'leri (şekli `(batch_size, unprocessed_length)`) girmesi beklenir; bunun yerine, şekli `(batch_size, sequence_length)` olan tüm `input_ids` girilmez.

inputs_embeds (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi tercih edebilirsiniz. Bu, `input_ids` indekslerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.

labels (`torch.LongTensor`, şekli `(batch_size,)`, *isteğe bağlı*) : Sınıflandırma/geri dönüş kaybını hesaplamak için etiketler. Endeksler `[0, ..., config.num_labels - 1]` aralığında olmalıdır. `config.num_labels == 1` ise bir geri dönüş kaybı (Ortalama Kare kaybı) hesaplanır, `config.num_labels > 1` ise bir sınıflandırma kaybı (Çapraz Entropi) hesaplanır.

use_cache (`bool`, *isteğe bağlı*) : `True` olarak ayarlanırsa, `past_key_values` anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. `past_key_values`).

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

`GenericForSequenceClassification` sınıfının forward metodu, `__call__` özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine `Module` örneğini çağırmak gerekir; çünkü ilki ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

## MistralForTokenClassification[[transformers.MistralForTokenClassification]]

#### transformers.MistralForTokenClassification[[transformers.MistralForTokenClassification]]

```python
transformers.MistralForTokenClassification(config)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/mistral/modeling_mistral.py#L456)

#### forward[[transformers.MistralForTokenClassification.forward]]

```python
forward(input_ids: torch.LongTensor | None = None, attention_mask: torch.Tensor | None = None, position_ids: torch.LongTensor | None = None, past_key_values: Cache | None = None, inputs_embeds: torch.Tensor | None = None, labels: torch.LongTensor | None = None, use_cache: bool | None = None, **kwargs: Unpack[TransformersKwargs])
```

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

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yoksayılır. İndeksler [AutoTokenizer](/docs/transformers/main/tr/model_doc/auto#transformers.AutoTokenizer) kullanılarak elde edilebilir. Ayrıntılar için [PreTrainedTokenizer.encode()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) ve [PreTrainedTokenizer.__call__()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) yöntemlerine bakın. [Girdi kimlikları (input IDs) nedir?](../glossary#input-ids)

attention_mask (`torch.Tensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Dolgu (padding) token indekslerinde dikkat (attention) işleminin uygulanmamasını sağlayan maske. `[0, 1]` aralığında seçilen maske değerleri:  - **maske uygulanmayan** tokenlar için 1, - **maske uygulanan** tokenlar için 0.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

position_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Girdi dizisi token'larının konum gömme (position embeddings) içindeki konum indeksleri. `[0, config.n_positions - 1]` aralığında seçilir.  [Konum kimlikleri (position IDs) nedir?](../glossary#position-ids)

past_key_values (`Cache`, *isteğe bağlı*) : Sıralı çözümlemeyi hızlandırmak için kullanılabilen, önceden hesaplanmış gizli durumlar (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle, `use_cache=True` veya `config.use_cache=True` olduğunda, çözümlemenin önceki bir aşamasında modelin döndürdüğü `past_key_values` içinden oluşur. Girdi olarak yalnızca [Cache](/docs/transformers/main/tr/internal/generation_utils#transformers.Cache) örneği kabul edilir, bkz. [kv cache kılavuzumuz](https://huggingface.co/docs/transformers/en/kv_cache). `past_key_values` geçirilmezse, varsayılan olarak [DynamicCache](/docs/transformers/main/tr/internal/generation_utils#transformers.DynamicCache) başlatılır. Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretir. `past_key_values` kullanılıyorsa, kullanıcının, bu modele geçmiş anahtar-değer durumları verilmemiş olan, yalnızca işlenmemiş `input_ids`'leri (şekli `(batch_size, unprocessed_length)`) girmesi beklenir; bunun yerine, şekli `(batch_size, sequence_length)` olan tüm `input_ids` girilmez.

inputs_embeds (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi tercih edebilirsiniz. Bu, `input_ids` indekslerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.

labels (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Token sınıflandırma kaybını hesaplamak için etiketler. İndisler `[0, ..., config.num_labels - 1]` aralığında olmalıdır.

use_cache (`bool`, *isteğe bağlı*) : `True` olarak ayarlanırsa, `past_key_values` anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. `past_key_values`).

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

`GenericForTokenClassification` forward metodu, `__call__` özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine `Module` örneğini çağırmak gerekir; çünkü ilki ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

## MistralForQuestionAnswering[[transformers.MistralForQuestionAnswering]]

#### transformers.MistralForQuestionAnswering[[transformers.MistralForQuestionAnswering]]

```python
transformers.MistralForQuestionAnswering(config)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/mistral/modeling_mistral.py#L464)

#### forward[[transformers.MistralForQuestionAnswering.forward]]

```python
forward(input_ids: torch.LongTensor | None = None, attention_mask: torch.Tensor | None = None, position_ids: torch.LongTensor | None = None, past_key_values: Cache | None = None, inputs_embeds: torch.Tensor | None = None, start_positions: torch.LongTensor | None = None, end_positions: torch.LongTensor | None = None, **kwargs: Unpack[TransformersKwargs])
```

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

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yoksayılır. İndeksler [AutoTokenizer](/docs/transformers/main/tr/model_doc/auto#transformers.AutoTokenizer) kullanılarak elde edilebilir. Ayrıntılar için [PreTrainedTokenizer.encode()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) ve [PreTrainedTokenizer.__call__()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) yöntemlerine bakın. [Girdi kimlikları (input IDs) nedir?](../glossary#input-ids)

attention_mask (`torch.Tensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Dolgu (padding) token indekslerinde dikkat (attention) işleminin uygulanmamasını sağlayan maske. `[0, 1]` aralığında seçilen maske değerleri:  - **maske uygulanmayan** tokenlar için 1, - **maske uygulanan** tokenlar için 0.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

position_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Girdi dizisi token'larının konum gömme (position embeddings) içindeki konum indeksleri. `[0, config.n_positions - 1]` aralığında seçilir.  [Konum kimlikleri (position IDs) nedir?](../glossary#position-ids)

past_key_values (`Cache`, *isteğe bağlı*) : Sıralı çözümlemeyi hızlandırmak için kullanılabilen, önceden hesaplanmış gizli durumlar (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle, `use_cache=True` veya `config.use_cache=True` olduğunda, çözümlemenin önceki bir aşamasında modelin döndürdüğü `past_key_values` içinden oluşur. Girdi olarak yalnızca [Cache](/docs/transformers/main/tr/internal/generation_utils#transformers.Cache) örneği kabul edilir, bkz. [kv cache kılavuzumuz](https://huggingface.co/docs/transformers/en/kv_cache). `past_key_values` geçirilmezse, varsayılan olarak [DynamicCache](/docs/transformers/main/tr/internal/generation_utils#transformers.DynamicCache) başlatılır. Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretir. `past_key_values` kullanılıyorsa, kullanıcının, bu modele geçmiş anahtar-değer durumları verilmemiş olan, yalnızca işlenmemiş `input_ids`'leri (şekli `(batch_size, unprocessed_length)`) girmesi beklenir; bunun yerine, şekli `(batch_size, sequence_length)` olan tüm `input_ids` girilmez.

inputs_embeds (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi tercih edebilirsiniz. Bu, `input_ids` indekslerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.

start_positions (`torch.LongTensor`, şekli `(batch_size,)`, *isteğe bağlı*) : Token sınıflandırma kaybını hesaplamak için etiketli aralığın başlangıç konumunun (indeksinin) etiketleri. Konumlar, dizinin uzunluğuna (`sequence_length`) sınırlanır. Dizi dışındaki konumlar, kaybın hesaplanmasında dikkate alınmaz.

end_positions (`torch.LongTensor`, şekli `(batch_size,)`, *isteğe bağlı*) : Token sınıflandırma kaybını hesaplamak için etiketli aralığın sonundaki konumun (indeksin) etiketleri. Konumlar, dizinin uzunluğuna (`sequence_length`) göre sınırlandırılır. Dizi dışındaki konumlar, kaybın hesaplanmasında dikkate alınmaz.

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

`GenericForQuestionAnswering` forward metodu, `__call__` özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine `Module` örneğini çağırmak gerekir; çünkü ilki ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

