# LFM3-VL

## Genel Bakış

LFM3-VL, [Liquid AI](https://liquid.ai/) tarafından [LFM3](./lfm3) üzerine geliştirilen görme-dil modeli ailesidir. Görselleri ve videoları metinle birlikte, orijinal çözünürlüklerinde alır.

## Mimari

LFM3-VL, bir görme kodlayıcıdan, bir projeksiyondan ve bir LFM3 dil modelinden oluşur. Görme kodlayıcı, kendisi bir Liquid hibrididir: doğrusal bir yama parçalayıcısının ardından, her bir karedeki yama ızgarası üzerinde 2D döner gömme kullanılımlı kapılı derinlikli 2D konvolüsyon katmanları ve çift yönlü gruplu-sorgu dikkat katmanları gelir. Görüntüler, Qwen2-VL'nin dinamik çözünürlük ön işleme yöntemiyle 16x16'lık yamalara bölünür; videolar ise ek olarak ardışık kareleri eşleştirir ve her karenin başına zaman damgasını ekler. Projeksiyon, her 2x2'lik yama özelliği bloğunu bir katman normu ve iki katmanlı bir MLP ile tek bir dil belirteçine birleştirir.

## Örnek

Aşağıdaki örnek, `AutoModelForImageTextToText` sınıfını kullanarak bir yanıt üretmenin nasıl yapılacağını gösterir.

```python
from transformers import AutoModelForImageTextToText, AutoProcessor

# Load model and processor
model_id = "LiquidAI/LFM3-VL-2B"
model = AutoModelForImageTextToText.from_pretrained(model_id, device_map="auto")
processor = AutoProcessor.from_pretrained(model_id)

# Load image and create conversation
conversation = [
    {
        "role": "user",
        "content": [
            {"type": "image", "image": "https://www.ilankelman.org/stopsigns/australia.jpg"},
            {"type": "text", "text": "What is in this image?"},
        ],
    },
]

# Generate answer
inputs = processor.apply_chat_template(
    conversation,
    add_generation_prompt=True,
    return_tensors="pt",
    return_dict=True,
    tokenize=True,
).to(model.device, model.dtype)

outputs = model.generate(**inputs, max_new_tokens=64)
processor.batch_decode(outputs, skip_special_tokens=True)[0]
```

## Lfm3VlProcessor[[transformers.Lfm3VlProcessor]]

#### transformers.Lfm3VlProcessor[[transformers.Lfm3VlProcessor]]

```python
transformers.Lfm3VlProcessor(image_processor = None, tokenizer = None, video_processor = None, chat_template = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/lfm3_vl/processing_lfm3_vl.py#L30)

**Parametreler:**

image_processor (`Qwen2VLImageProcessor`) : Görüntü işleyici zorunlu bir girdidir.

tokenizer (`tokenizer_class`) : Tokenizer zorunlu bir girdidir.

video_processor (`Qwen3VLVideoProcessor`) : Video işleyici zorunlu bir girdidir.

chat_template (`str`) : Bir sohbet içindeki mesaj listelerini tokenize edilebilir bir metne dönüştürmek için kullanılan bir Jinja şablonu.

Bir görüntü işleyiciyi, bir belirteç oluşturucuyu ve bir video işleyiciyi tek bir işleyicide birleştiren bir Lfm3VlProcessor oluşturur.

[Lfm3VlProcessor](/docs/transformers/v5.23.0/tr/model_doc/lfm3_vl#transformers.Lfm3VlProcessor), [Qwen2VLImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/qwen2_vl#transformers.Qwen2VLImageProcessor), `tokenizer_class` ve [Qwen3VLVideoProcessor](/docs/transformers/v5.23.0/tr/model_doc/qwen3_vl#transformers.Qwen3VLVideoProcessor) işlevlerinin tümünü sunar. Daha fazla bilgi için [~Qwen2VLImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/qwen2_vl#transformers.Qwen2VLImageProcessor), `~tokenizer_class` ve [~Qwen3VLVideoProcessor](/docs/transformers/v5.23.0/tr/model_doc/qwen3_vl#transformers.Qwen3VLVideoProcessor) belgelerine bakın.

#### post_process_image_text_to_text[[transformers.Lfm3VlProcessor.post_process_image_text_to_text]]

```python
post_process_image_text_to_text(generated_outputs, skip_special_tokens = True, clean_up_tokenization_spaces = False, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/lfm3_vl/processing_lfm3_vl.py#L140)

**Parametreler:**

generated_outputs (`torch.Tensor` veya `np.ndarray`) : Modelin `generate` fonksiyonunun çıktısı. Çıktının `(batch_size, sequence_length)` veya `(sequence_length,)` biçiminde bir tensör olması beklenir.

skip_special_tokens (`bool`, *isteğe bağlı*, varsayılan `True`) : Çıktıda özel jetonların kaldırılıp kaldırılmayacağını belirtir. Tokenizer'ın `batch_decode` yöntemine aktarılan argüman.

clean_up_tokenization_spaces (`bool`, *isteğe bağlı*, varsayılan `False`) : Tokenizasyon boşluklarının temizlenip temizlenmeyeceğini belirtir. Tokenizer'ın `batch_decode` yöntemine aktarılan argüman.

- ****kwargs** : Tokenizer'ın `batch_decode method`'una iletilecek ek argümanlar.

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

Çözümlenmiş metin.

Modelin çıktısını işleyerek metni çözümlen.

## Lfm3VlConfig[[transformers.Lfm3VlConfig]]

#### transformers.Lfm3VlConfig[[transformers.Lfm3VlConfig]]

```python
transformers.Lfm3VlConfig(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, vision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, text_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, image_token_id: int = 125030, video_token_id: int = 125029, vision_start_token_id: int = 125009, vision_end_token_id: int = 125010, projector_hidden_act: str = 'gelu', projector_hidden_size: int = 4096, projector_bias: bool = True, tie_word_embeddings: bool = True)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/lfm3_vl/configuration_lfm3_vl.py#L63)

**Parametreler:**

vision_config (`Union[dict, ~configuration_utils.PreTrainedConfig]`, *isteğe bağlı*) : Görüntü iskeletinin yapılandırma nesnesi veya sözlüğü.

text_config (`Union[dict, ~configuration_utils.PreTrainedConfig]`, *isteğe bağlı*) : Metin omurgasının yapılandırma nesnesi veya sözlüğü.

image_token_id (`int`, *isteğe bağlı*, varsayılan `125030`) : Girdi görselleri için yer tutucu olarak kullanılan görsel jeton indeksi.

video_token_id (`int`, *isteğe bağlı*, varsayılan `125029`) : Girdi videoları için yer tutucu olarak kullanılan video jeton indeksi.

vision_start_token_id (`int`, *isteğe bağlı*, varsayılan `125009`) : Çok modlu giriş dizisinde görsel bir segmentin başlangıcını işaretleyen Token kimliği.

vision_end_token_id (`int`, *isteğe bağlı*, varsayılan `125010`) : Çok modlu giriş dizisinde görsel bir segmentin sonunu işaretleyen Token kimliği.

projector_hidden_act (`str`, *isteğe bağlı*, varsayılan `gelu`) : Çok modlu projeksiyoncu tarafından kullanılan aktivasyon fonksiyonu.

projector_hidden_size (`int`, *opsiyonel*, varsayılan `4096`) : Metin ve görme projeksiyon katmanlarının boyutluluğu.

projector_bias (`bool`, *isteğe bağlı*, varsayılan `True`) : Çok modlu projeksiyonda sapma (bias) kullanılıp kullanılmayacağı.

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

Bu, bir Lfm3VlModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Lfm3 Vl modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, [LiquidAI/LFM3-VL-2B](https://huggingface.co/LiquidAI/LFM3-VL-2B) modelinin yapılandırmasına benzer bir yapılandırma elde etmenizi sağlar.

Yapılandırma nesneleri [PreTrainedConfig](/docs/transformers/v5.23.0/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/v5.23.0/tr/main_classes/configuration#transformers.PreTrainedConfig) belgesini okuyun.

## Lfm3VlVisionConfig[[transformers.Lfm3VlVisionConfig]]

#### transformers.Lfm3VlVisionConfig[[transformers.Lfm3VlVisionConfig]]

```python
transformers.Lfm3VlVisionConfig(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, hidden_size: int = 1024, intermediate_size: int = 2560, in_channels: int = 3, patch_size: int | list[int] | tuple[int, int] = 16, spatial_merge_size: int = 2, temporal_patch_size: int | list[int] | tuple[int, int] = 2, initializer_range: float = 0.02, rope_parameters: dict | None = None, num_hidden_layers: int = 14, num_attention_heads: int = 16, num_key_value_heads: int = 8, layer_types: list[str] | None = None, conv_kernel_size: int = 3, norm_eps: float = 1e-05)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/lfm3_vl/configuration_lfm3_vl.py#L29)

**Parametreler:**

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

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

in_channels (`int`, *opsiyonel*, varsayılan `3`) : Girdi kanal sayısı.

patch_size (`Union[int, list[int], tuple[int, int]]`, *isteğe bağlı*, varsayılan `16`) : Her yamanın boyutu (çözünürlüğü).

spatial_merge_size (`int`, *isteğe bağlı*, varsayılan `2`) : Komşu yamaları birleştirerek görsel jeton sayısını azaltmak için kullanılan uzamsal birleştirme penceresinin boyutu.

temporal_patch_size (`Union[int, list[int], tuple[int, int]]`, *isteğe bağlı*, varsayılan `2`) : Video girdileri için 3D yama gömümünde kullanılan zamansal yama boyutu.

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

rope_parameters (`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.

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

num_attention_heads (`int`, *isteğe bağlı*, varsayılan `16`) : 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.

layer_types (`list[str]`, *isteğe bağlı*) : Her katman indeksini katman türüyle açıkça eşleyen bir liste. Sağlanmazsa, yapılandırma değerlerine göre otomatik olarak oluşturulur.

conv_kernel_size (`int`, *isteğe bağlı*, varsayılan 3) : Her karedeki yama ızgarası üzerinde derinlik içi konvolüsyonun çekirdek boyutu.

norm_eps (`float`, *opsiyonel*, varsayılan `1e-05`) : Katman normalizasyonu katmanları tarafından kullanılan epsilon.

Bu, bir Lfm3VlModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Lfm3 Vl modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, [LiquidAI/LFM3-VL-2B](https://huggingface.co/LiquidAI/LFM3-VL-2B) modelinin yapılandırmasına benzer bir yapılandırma elde etmenizi sağlar.

Yapılandırma nesneleri [PreTrainedConfig](/docs/transformers/v5.23.0/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/v5.23.0/tr/main_classes/configuration#transformers.PreTrainedConfig) belgesini okuyun.

## Lfm3VlVisionModel[[transformers.Lfm3VlVisionModel]]

#### transformers.Lfm3VlVisionModel[[transformers.Lfm3VlVisionModel]]

```python
transformers.Lfm3VlVisionModel(config: Lfm3VlVisionConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/lfm3_vl/modeling_lfm3_vl.py#L398)

**Parametreler:**

config ([Lfm3VlVisionConfig](/docs/transformers/v5.23.0/tr/model_doc/lfm3_vl#transformers.Lfm3VlVisionConfig)) : 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/v5.23.0/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine göz atın.

LFM3-VL görme kodlayıcısı: her görüntü veya video karesinin yamaları üzerinde, doğrusal yama gömme ile gömülmüş, kapılı konvolüsyon ve çift yönlü dikkat katmanlarından oluşan bir yığın.

Bu model [PreTrainedModel](/docs/transformers/v5.23.0/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.Lfm3VlVisionModel.forward]]

```python
forward(pixel_values: Tensor, grid_thw: Tensor, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/lfm3_vl/modeling_lfm3_vl.py#L424)

**Parametreler:**

pixel_values (`torch.Tensor`, şekli `(num_patches, in_channels * temporal_patch_size * patch_size**2)`) : Birleştirme bloklarına göre gruplandırılmış, her görüntü veya videonun düzleştirilmiş yamaları.

grid_thw (`torch.LongTensor`, şekli `(num_images_or_videos, 3)`) : Her görüntü veya videonun yama ızgarasının zaman, yükseklik ve genişlik boyutları.

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

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

[Lfm3VlVisionModel](/docs/transformers/v5.23.0/tr/model_doc/lfm3_vl#transformers.Lfm3VlVisionModel) 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.
- **pooler_output** (`torch.Tensor`, şekli `(batch_size, hidden_size)`) -- Sıralamanın ilk token'ının (sınıflandırma token'ı) son katman gizli durumu, yardımcı ön eğitim görevi için kullanılan katmanlardan geçirildikten sonraki hali. Örneğin BERT ailesi modelleri için, bu, sınıflandırma token'ının doğrusal bir katman ve tanh aktivasyon fonksiyonundan geçirildikten sonraki halini döndürür. Doğrusal katman ağırlıkları, ön eğitim sırasında bir sonraki cümle tahmini (sınıflandırma) hedefinden eğitilir.
- **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.

## Lfm3VlModel[[transformers.Lfm3VlModel]]

#### transformers.Lfm3VlModel[[transformers.Lfm3VlModel]]

```python
transformers.Lfm3VlModel(config: Lfm3VlConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/lfm3_vl/modeling_lfm3_vl.py#L521)

**Parametreler:**

config ([Lfm3VlConfig](/docs/transformers/v5.23.0/tr/model_doc/lfm3_vl#transformers.Lfm3VlConfig)) : 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/v5.23.0/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine göz atın.

Üzerinde herhangi bir özel head olmadan ham hidden-state çıktısı üreten çıplak Lfm3 Vl Model.

Bu model [PreTrainedModel](/docs/transformers/v5.23.0/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.Lfm3VlModel.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.FloatTensor] = None, pixel_values: typing.Optional[torch.FloatTensor] = None, image_grid_thw: typing.Optional[torch.LongTensor] = None, pixel_values_videos: typing.Optional[torch.FloatTensor] = None, video_grid_thw: typing.Optional[torch.LongTensor] = None, use_cache: bool | None = None, mm_encoder_outputs: dict[str, transformers.modeling_outputs.BaseModelOutputWithPooling] | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/lfm3_vl/modeling_lfm3_vl.py#L602)

**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/v5.23.0/tr/model_doc/auto#transformers.AutoTokenizer) kullanılarak elde edilebilir. Ayrıntılar için [PreTrainedTokenizer.encode()](/docs/transformers/v5.23.0/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) ve [PreTrainedTokenizer.__call__()](/docs/transformers/v5.23.0/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/v5.23.0/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/v5.23.0/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.FloatTensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi seçebilirsiniz. Bu, `input_ids` dizinlerini 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.

pixel_values (`torch.FloatTensor`, şekli `(batch_size, num_channels, image_size, image_size)`, *isteğe bağlı*) : Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri [Qwen2VLImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/qwen2_vl#transformers.Qwen2VLImageProcessor) kullanılarak elde edilebilir. Ayrıntılar için [Qwen2VLImageProcessor.__call__()](/docs/transformers/v5.23.0/tr/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) bölümüne bakın ([Lfm3VlProcessor](/docs/transformers/v5.23.0/tr/model_doc/lfm3_vl#transformers.Lfm3VlProcessor), görüntü işleme için [Qwen2VLImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/qwen2_vl#transformers.Qwen2VLImageProcessor) kullanır).

image_grid_thw (`torch.LongTensor`, şekli `(num_images, 3)`, *isteğe bağlı*) : LLM'deki her bir görüntünün özellik şeklinin zaman, yükseklik ve genişlik değerleri.

pixel_values_videos (`torch.FloatTensor`, şekli `(batch_size, num_frames, num_channels, frame_size, frame_size)`, *isteğe bağlı*) : Girdi videosuna karşılık gelen tensörler. Videolar için piksel değerleri [Qwen3VLVideoProcessor](/docs/transformers/v5.23.0/tr/model_doc/qwen3_vl#transformers.Qwen3VLVideoProcessor) kullanılarak elde edilebilir. Ayrıntılar için [Qwen3VLVideoProcessor.__call__()](/docs/transformers/v5.23.0/tr/model_doc/molmo2#transformers.Molmo2VideoProcessor.__call__) bölümüne bakın ([Lfm3VlProcessor](/docs/transformers/v5.23.0/tr/model_doc/lfm3_vl#transformers.Lfm3VlProcessor), videoları işlemek için [Qwen3VLVideoProcessor](/docs/transformers/v5.23.0/tr/model_doc/qwen3_vl#transformers.Qwen3VLVideoProcessor) kullanır).

video_grid_thw (`torch.LongTensor`, şekli `(num_videos, 3)`, *isteğe bağlı*) : LLM'deki her bir video için özellik şeklinin zamansal, yükseklik ve genişlik boyutları.

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`).

mm_encoder_outputs (`dict[str, ~modeling_outputs.BaseModelOutputWithPooling]`, *isteğe bağlı*) : Anahtarları desteklenen modaliteler, değerleri ise o modalite için kodlanmış çıktılar olan bir sözlük. Her kodlanmış çıktı, (`pooler_output`, *isteğe bağlı*: `last_hidden_states`, *isteğe bağlı*: `hidden_states`, *isteğe bağlı*: `attentions`) `pooler_output` `(batch_size, sequence_length, hidden_size)` boyutunda, *isteğe bağlı*) şeklindedir ve kodlayıcının çok modlu özelliklerinin metin gömme (embedding) değerleriyle birleştirilmiş bir dizisidir.

**Dönüş:** `Lfm3VlModelOutputWithPast` veya `tuple(torch.Tensor)`

`Lfm3VlModelOutputWithPast` veya bir `torch.Tensor` demeti (eğer `return_dict=False` geçirildiyse veya `config.return_dict=False` ise), yapılandırma ([Lfm3VlConfig](/docs/transformers/v5.23.0/tr/model_doc/lfm3_vl#transformers.Lfm3VlConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[Lfm3VlModel](/docs/transformers/v5.23.0/tr/model_doc/lfm3_vl#transformers.Lfm3VlModel) 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/v5.23.0/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.
- **image_pooler_output** (`torch.FloatTensor`, *isteğe bağlı*) -- `(num_image_tokens, hidden_size)` boyutunda bir `torch.FloatTensor`. Görüntü kodlayıcısı tarafından üretilen ve dil modelinin gizli boyutuna yansıtılan görüntü özellikleri.
- **video_pooler_output** (`torch.FloatTensor`, *isteğe bağlı*) -- `(num_video_tokens, hidden_size)` boyutunda bir `torch.FloatTensor`. Görüntü kodlayıcısı tarafından üretilen ve dil modelinin gizli boyutuna yansıtılan video özellikleri.

## Lfm3VlForConditionalGeneration[[transformers.Lfm3VlForConditionalGeneration]]

#### transformers.Lfm3VlForConditionalGeneration[[transformers.Lfm3VlForConditionalGeneration]]

```python
transformers.Lfm3VlForConditionalGeneration(config: Lfm3VlConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/lfm3_vl/modeling_lfm3_vl.py#L682)

**Parametreler:**

config ([Lfm3VlConfig](/docs/transformers/v5.23.0/tr/model_doc/lfm3_vl#transformers.Lfm3VlConfig)) : 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/v5.23.0/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine göz atın.

Bir görme omurgası ve bir dil modelinden oluşan LFM3_VL modeli.

Bu model [PreTrainedModel](/docs/transformers/v5.23.0/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.Lfm3VlForConditionalGeneration.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.FloatTensor] = None, pixel_values: typing.Optional[torch.FloatTensor] = None, image_grid_thw: typing.Optional[torch.LongTensor] = None, pixel_values_videos: typing.Optional[torch.FloatTensor] = None, video_grid_thw: typing.Optional[torch.LongTensor] = None, labels: typing.Optional[torch.LongTensor] = None, use_cache: bool | None = None, logits_to_keep: typing.Union[int, torch.Tensor] = 0, mm_encoder_outputs: dict[str, transformers.modeling_outputs.BaseModelOutputWithPooling] | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/lfm3_vl/modeling_lfm3_vl.py#L723)

**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/v5.23.0/tr/model_doc/auto#transformers.AutoTokenizer) kullanılarak elde edilebilir. Ayrıntılar için [PreTrainedTokenizer.encode()](/docs/transformers/v5.23.0/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) ve [PreTrainedTokenizer.__call__()](/docs/transformers/v5.23.0/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/v5.23.0/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/v5.23.0/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.FloatTensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi seçebilirsiniz. Bu, `input_ids` dizinlerini 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.

pixel_values (`torch.FloatTensor`, şekli `(batch_size, num_channels, image_size, image_size)`, *isteğe bağlı*) : Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri [Qwen2VLImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/qwen2_vl#transformers.Qwen2VLImageProcessor) kullanılarak elde edilebilir. Ayrıntılar için [Qwen2VLImageProcessor.__call__()](/docs/transformers/v5.23.0/tr/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) bölümüne bakın ([Lfm3VlProcessor](/docs/transformers/v5.23.0/tr/model_doc/lfm3_vl#transformers.Lfm3VlProcessor), görüntü işleme için [Qwen2VLImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/qwen2_vl#transformers.Qwen2VLImageProcessor) kullanır).

image_grid_thw (`torch.LongTensor`, şekli `(num_images, 3)`, *isteğe bağlı*) : LLM'deki her bir görüntünün özellik şeklinin zaman, yükseklik ve genişlik değerleri.

pixel_values_videos (`torch.FloatTensor`, şekli `(batch_size, num_frames, num_channels, frame_size, frame_size)`, *isteğe bağlı*) : Girdi videosuna karşılık gelen tensörler. Videolar için piksel değerleri [Qwen3VLVideoProcessor](/docs/transformers/v5.23.0/tr/model_doc/qwen3_vl#transformers.Qwen3VLVideoProcessor) kullanılarak elde edilebilir. Ayrıntılar için [Qwen3VLVideoProcessor.__call__()](/docs/transformers/v5.23.0/tr/model_doc/molmo2#transformers.Molmo2VideoProcessor.__call__) bölümüne bakın ([Lfm3VlProcessor](/docs/transformers/v5.23.0/tr/model_doc/lfm3_vl#transformers.Lfm3VlProcessor), videoları işlemek için [Qwen3VLVideoProcessor](/docs/transformers/v5.23.0/tr/model_doc/qwen3_vl#transformers.Qwen3VLVideoProcessor) kullanır).

video_grid_thw (`torch.LongTensor`, şekli `(num_videos, 3)`, *isteğe bağlı*) : LLM'deki her bir video için özellik şeklinin zamansal, yükseklik ve genişlik boyutları.

labels (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler `[0, ..., config.vocab_size]` aralığında olmalı ya da -100 olmalı (`input_ids` docstring'ine bakın). Endeksleri `-100` olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca `[0, ..., config.vocab_size]` aralığında etiketlere sahip tokenlar için 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`).

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.

mm_encoder_outputs (`dict[str, ~modeling_outputs.BaseModelOutputWithPooling]`, *isteğe bağlı*) : Anahtarları desteklenen modaliteler, değerleri ise o modalite için kodlanmış çıktılar olan bir sözlük. Her kodlanmış çıktı, (`pooler_output`, *isteğe bağlı*: `last_hidden_states`, *isteğe bağlı*: `hidden_states`, *isteğe bağlı*: `attentions`) `pooler_output` `(batch_size, sequence_length, hidden_size)` boyutunda, *isteğe bağlı*) şeklindedir ve kodlayıcının çok modlu özelliklerinin metin gömme (embedding) değerleriyle birleştirilmiş bir dizisidir.

**Dönüş:** `Lfm3VlCausalLMOutputWithPast` veya `tuple(torch.Tensor)`

`Lfm3VlCausalLMOutputWithPast` veya bir `torch.Tensor` demeti (`return_dict=False` geçirildiğinde veya `config.return_dict=False` olduğunda), yapılandırma ([Lfm3VlConfig](/docs/transformers/v5.23.0/tr/model_doc/lfm3_vl#transformers.Lfm3VlConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[Lfm3VlForConditionalGeneration](/docs/transformers/v5.23.0/tr/model_doc/lfm3_vl#transformers.Lfm3VlForConditionalGeneration) 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/v5.23.0/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.
- **image_pooler_output** (`torch.FloatTensor`, *isteğe bağlı*) -- `(num_image_tokens, hidden_size)` boyutunda bir `torch.FloatTensor`. Görüntü kodlayıcısı tarafından üretilen ve dil modelinin gizli boyutuna yansıtılan görüntü özellikleri.
- **video_pooler_output** (`torch.FloatTensor`, *isteğe bağlı*) -- `(num_video_tokens, hidden_size)` boyutunda bir `torch.FloatTensor`. Görüntü kodlayıcısı tarafından üretilen ve dil modelinin gizli boyutuna yansıtılan video özellikleri.

Örnek:

```python
>>> from transformers import AutoProcessor, AutoModelForImageTextToText

>>> model = AutoModelForImageTextToText.from_pretrained("LiquidAI/LFM3-VL-2B")
>>> processor = AutoProcessor.from_pretrained("LiquidAI/LFM3-VL-2B")

>>> conversation = [
...     {
...         "role": "user",
...         "content": [
...             {"type": "image", "url": "https://www.ilankelman.org/stopsigns/australia.jpg"},
...             {"type": "text", "text": "What is in this image?"},
...         ],
...     },
... ]

>>> inputs = processor.apply_chat_template(
...     conversation, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt"
... ).to(model.device, model.dtype)

>>> outputs = model.generate(**inputs, max_new_tokens=45)
>>> processor.batch_decode(outputs, skip_special_tokens=True)[0]
```

