Transformers documentation

Phi4 Çok Modallı

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Bu model, 2025-03-03 tarihinde HF papers'ta yayımlandı ve 2025-03-25 tarihinde Hugging Face Transformers'a katkıda bulunuldu.

PyTorch

Phi4 Çok Modallı

Phi4 Multimodal, metin, görüntü ve konuşma ile ses girdilerini veya bu girdilerin herhangi bir kombinasyonunu işleyebilen çok modlu bir modeldir. Farklı girdileri işlemek için LoRA adaptörlerinin bir karışımını kullanır ve her girdi uygun kodlayıcıya yönlendirilir.

Tüm orijinal Phi4 Multimodal checkpoint'lerini Phi4 koleksiyonunda bulabilirsiniz.

Bu model cyrilvallez tarafından katkıda bulunmuştur.

Farklı görevlere Phi-4 Multimodal uygulamanın daha fazla örneği için sağ kenar çubuğundaki Phi-4 Multimodal öğesine tıklayın.

Aşağıdaki örnek, Pipeline veya AutoModel sınıfı kullanılarak bir görüntüye dayalı metin üretmenin nasıl yapılacağını göstermektedir.

Pipeline
AutoModel
from transformers import pipeline


generator = pipeline("text-generation", model="microsoft/Phi-4-multimodal-instruct", device=0)

prompt = "Explain the concept of multimodal AI in simple terms."

result = generator(prompt, max_length=50)
print(result[0]['generated_text'])

Notlar

Aşağıdaki örnek, ses ve metin girdisiyle çıkarımı (inference) göstermektedir.

import torch

from transformers import AutoModelForCausalLM, AutoProcessor


model_path = "microsoft/Phi-4-multimodal-instruct"

processor = AutoProcessor.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto")

model.load_adapter(model_path, adapter_name="speech", device_map="auto", adapter_kwargs={"subfolder": 'speech-lora'})
model.set_adapter("speech")
audio_url = "https://upload.wikimedia.org/wikipedia/commons/b/b0/Barbara_Sahakian_BBC_Radio4_The_Life_Scientific_29_May_2012_b01j5j24.flac"
messages = [
    {
        "role": "user",
        "content": [
            {"type": "audio", "url": audio_url},
            {"type": "text", "text": "Transcribe the audio to text, and then translate the audio to French. Use <sep> as a separator between the origina transcript and the translation."},
        ],
    },
]

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

generate_ids = model.generate(
    **inputs,
    max_new_tokens=1000,
    do_sample=False,
)
generate_ids = generate_ids[:, inputs['input_ids'].shape[1]:]
response = processor.batch_decode(
    generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False
)[0]
print(f'Response\n{response}')

Phi4MultimodalFeatureExtractor

sınıf transformers.Phi4MultimodalFeatureExtractor

< >

( feature_size: int = 80sampling_rate: int = 16000hop_length: int = 160n_fft: int = 512win_length: int = 400preemphasis: float = 0.97padding_value: float = 0.0audio_compression_rate: int = 8audio_downsample_rate: int = 1audio_feat_stride: int = 1mel_min_frequency: float = 0mel_max_frequency: float = 7690**kwargs )

Phi4MultimodalImageProcessor

sınıf transformers.Phi4MultimodalImageProcessor

< >

( **kwargs: *<class 'transformers.models.phi4_multimodal.image_processing_phi4_multimodal.Phi4MultimodalImageProcessorKwargs'> )

Parametreler

  • do_convert_rgb (bool, kwargs, opsiyonel, varsayılan True) — Görselin RGB'ye dönüştürülüp dönüştürülmemesi.
  • do_resize (bool, kwargs, opsiyonel) — Görselin yeniden boyutlandırılıp boyutlandırılmayacağı.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, varsayılan {'height' -- 448, 'width': 448}): Modelin kabul ettiği maksimum giriş boyutlarını açıklar.
  • default_to_square (bool, kwargs, isteğe bağlı, varsayılan True) — size bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntü kullanılıp kullanılmayacağı.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — center_crop uygulandıktan sonra çıktı görüntüsünün boyutu.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, varsayılan 3) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu, PILImageResampling enum değerlerinden biri olabilir. Yalnızca do_resize True olarak ayarlanırsa etkilidir.
  • do_rescale (bool, kwargs, isteğe bağlı, varsayılan True) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği.
  • rescale_factor (float, kwargs, opsiyonel, varsayılan 0.00392156862745098) — do_rescale True olarak ayarlandığında görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü.
  • do_normalize (bool, kwargs, opsiyonel, varsayılan True) — Görselin normalize edilip edilmeyeceği.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel, varsayılan [0.5, 0.5, 0.5]) — Normalizasyon için kullanılacak görüntü ortalaması. Yalnızca do_normalize True olarak ayarlanırsa etkilidir.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel, varsayılan [0.5, 0.5, 0.5]) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca do_normalize True olarak ayarlanırsa etkilidir.
  • do_pad (bool, kwargs, opsiyonel) — Görselin dolgu (padding) uygulanıp uygulanmayacağı. Dolgu, partideki en büyük boyuta veya görsel başına sabit kare bir boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Görsellerin doldurulacağı boyut, {"height": int, "width" int} biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır. pad_size sağlanmazsa, görseller batch içindeki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızca do_pad=True. olduğunda uygulanır.
  • do_center_crop (bool, kwargs, opsiyonel) — Görselin ortadan kırpılıp kırpılmayacağı.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Yalnızca ChannelDimension.FIRST desteklenir. Yavaş işleyicilerle uyumluluk için eklendi.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:
    • "channels_first" veya ChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü.
    • "channels_last" veya ChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü.
    • "none" veya ChannelDimension.NONE: (height, width) biçiminde görüntü.
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — 'pt' olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür.
  • disable_grouping (bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.
  • patch_size (int, kwargs, opsiyonel) — Patch boyutu.
  • dynamic_hd (int, kwargs, opsiyonel) — Görsel başına maksimum kırpma sayısı.

Bir Phi4MultimodalImageProcessor görüntü işleyicisi oluşturur.

ön işleme

< >

( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.phi4_multimodal.image_processing_phi4_multimodal.Phi4MultimodalImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature

Parametreler

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Ön işleme uygulanacak görüntü. Piksel değerleri 0 ile 255 arasında değişen tek bir görüntü veya görüntü grubu beklenir. Piksel değerleri 0 ile 1 arasında olan görüntüler geçiriliyorsa do_rescale=False olarak ayarlayın.
  • do_convert_rgb (bool, kwargs, opsiyonel) — Görselin RGB'ye dönüştürülüp dönüştürülmemesi.
  • do_resize (bool, kwargs, opsiyonel) — Görselin yeniden boyutlandırılıp boyutlandırılmayacağı.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Modelin kabul ettiği maksimum giriş boyutlarını açıklar.
  • default_to_square (bool, kwargs, opsiyonel) — Boyut bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntüye geçilip geçilmeyeceği.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — center_crop uygulandıktan sonra çıktı görüntüsünün boyutu.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu, PILImageResampling enum değerlerinden biri olabilir. Yalnızca do_resize True olarak ayarlanırsa etkilidir.
  • do_rescale (bool, kwargs, opsiyonel) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği.
  • rescale_factor (float, kwargs, opsiyonel) — do_rescale True olarak ayarlanırsa görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü.
  • do_normalize (bool, kwargs, opsiyonel) — Görselin normalize edilip edilmeyeceği.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü ortalaması. Yalnızca do_normalize True olarak ayarlanırsa etkilidir.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca do_normalize True olarak ayarlanmışsa etkilidir.
  • do_pad (bool, kwargs, opsiyonel) — Görselin dolgu (padding) uygulanıp uygulanmayacağı. Dolgu, partideki en büyük boyuta veya görsel başına sabit kare bir boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Görsellerin doldurulacağı boyut, {"height": int, "width" int} biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır. pad_size sağlanmazsa, görseller batch içindeki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızca do_pad=True. olduğunda uygulanır.
  • do_center_crop (bool, kwargs, opsiyonel) — Görselin ortadan kırpılıp kırpılmayacağı.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Yalnızca ChannelDimension.FIRST desteklenir. Yavaş işleyicilerle uyumluluk için eklendi.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:
    • "channels_first" veya ChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü.
    • "channels_last" veya ChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü.
    • "none" veya ChannelDimension.NONE: (height, width) biçiminde görüntü.
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — 'pt' olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür.
  • disable_grouping (bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.
  • patch_size (int, kwargs, opsiyonel) — Patch boyutu.
  • dynamic_hd (int, kwargs, opsiyonel) — Görsel başına maksimum kırpma sayısı.

Dönüş değeri

~image_processing_base.BatchFeature

  • data (dict) — call yönteminin döndürdüğü listeler/diziler/tensörler sözlüğü (‘pixel_values’ vb.).
  • tensor_type (Union[None, str, TensorType], isteğe bağlı) — Başlatma sırasında PyTorch/Numpy Tensörlerindeki tamsayı listelerini dönüştürmek için burada bir tensor_type verebilirsiniz.

Phi4MultimodalProcessor

sınıf transformers.Phi4MultimodalProcessor

< >

( image_processoraudio_processortokenizer**kwargs )

Parametreler

  • image_processor (Phi4MultimodalImageProcessor) — Görsel işleyici zorunlu bir girdidir.
  • audio_processor ({audio_processor_class}) — Ses işleyici zorunlu bir girdidir.
  • tokenizer (tokenizer_class) — Tokenizer zorunlu bir girdidir.

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

Phi4MultimodalProcessor, Phi4MultimodalImageProcessor, {audio_processor_class} ve tokenizer_class işlevlerinin tümünü sunar. Daha fazla bilgi için ~Phi4MultimodalImageProcessor, ~{audio_processor_class} ve ~tokenizer_class belgelerine bakın.

__call__

< >

( text: str | list[str]images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Noneaudio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None**kwargs: *<class 'transformers.models.phi4_multimodal.processing_phi4_multimodal.Phi4MultimodalProcessorKwargs'> ) → BatchFeature

Parametreler

  • text (Union[str, list[str]]) — Kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Önceden tokenize edilmiş bir girdi geçirirseniz, gruplu girdilerle karışıklığı önlemek için is_split_into_words=True değerini ayarlayın.
  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], isteğe bağlı) — Ön işleme yapılacak görüntü. Piksel değerleri 0 ile 255 arasında değişen tek bir görüntü veya görüntü grubu beklenir. Piksel değerleri 0 ile 1 arasında olan görüntüler geçiriliyorsa do_rescale=False olarak ayarlayın.
  • audio (Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], isteğe bağlı) — Hazırlanacak ses veya sesler partisi. Her ses, bir NumPy dizisi veya PyTorch tensörü olabilir. NumPy dizisi/PyTorch tensörü durumunda, her sesin şekli (C, T) olmalıdır; burada C kanal sayısı, T ise sesin örnek uzunluğudur.
  • return_tensors (str veya TensorType, isteğe bağlı) — Belirlenirse, belirli bir çerçeveye ait tensörler döndürülür. Kabul edilen değerler şunlardır:
    • 'pt': PyTorch torch.Tensor nesnelerini döndürür.
    • 'np': NumPy np.ndarray nesnelerini döndürür.
  • **kwargs (ProcessingKwargs, isteğe bağlı) — Her modalite (metin, görüntüler, videolar, ses) için ek işleme seçenekleri. Modelle ilgili parametreler yukarıda listelenmiştir; desteklenen argümanların tam listesi için TypedDict sınıfına bakın.

Dönüş değeri

BatchFeature

Aşağıdaki alanlara sahip bir BatchFeature:

  • input_ids — Bir modele verilecek token kimliklerinin listesi.
  • attention_mask — Modelin hangi token'lara dikkat etmesi gerektiğini belirleyen indekslerin listesi.
  • input_image_embeds — Bir modele verilecek piksel değerleri.
  • image_sizes — input_image_embeds içindeki her bir görüntünün boyutunu belirleyen demetlerin listesi.
  • image_attention_mask — input_image_embeds içindeki her görsel için dikkat maskeleri listesi.
  • input_audio_embeds — Bir modele verilecek ses gömümeleri.
  • audio_embed_sizes — input_audio_embeds içindeki her sesin boyutunu belirten tamsayı listesi.

Phi4MultimodalAudioConfig

sınıf transformers.Phi4MultimodalAudioConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 1024intermediate_size: int = 1536num_blocks: int = 24num_attention_heads: int = 16activation: str = 'swish'chunk_size: int = -1left_chunk: int = 18dropout_rate: float | int = 0.0ext_pw_out_channel: int = 1024depthwise_separable_out_channel: int = 1024depthwise_multiplier: int = 1kernel_size: int = 3conv_activation: str = 'swish'input_size: int = 80conv_glu_type: str = 'swish'time_reduction: int = 8bias_max_distance: int = 1000bias_symmetric: bool = Falsenemo_activation: str = 'relu'nemo_conv_channels: int = 1024downsample_rate: int = 1initializer_range: float = 0.02audio_token_id: int = 200011feature_layer: int = -2 )

Parametreler

  • hidden_size (int, isteğe bağlı, varsayılan 1024) — Gizli temsillerin boyutu.
  • intermediate_size (int, isteğe bağlı, varsayılan 1536) — MLP temsillerinin boyutu.
  • num_blocks (int, isteğe bağlı, varsayılan 24) — Transformer kodlayıcısı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ı.
  • activation (str, isteğe bağlı, varsayılan "swish") — MLP'lerdeki doğrusal olmayan aktivasyon fonksiyonu.
  • chunk_size (int, isteğe bağlı, varsayılan -1) — Maskelerin oluşturulması için kullanılacak parça boyutu.
  • left_chunk (int, isteğe bağlı, varsayılan 18) — Maskeleri oluşturmak için sol parça.
  • dropout_rate (float, isteğe bağlı, varsayılan 0.0) — Dropout oranı.
  • ext_pw_out_channel (int, isteğe bağlı, varsayılan 1024) — Point-wise conv modüllerindeki çıkış kanalı sayısı.
  • depthwise_separable_out_channel (int, isteğe bağlı, varsayılan 1024) — Derinlik ayırılabilir (depth-wise separable) konvolüsyon modüllerindeki çıkış kanalı sayısı.
  • depthwise_multiplier (int, isteğe bağlı, varsayılan 1) — Derinlik ayırılabilir konvolüsyon modülleri için giriş boyutu çarpanı.
  • kernel_size (int, isteğe bağlı, varsayılan 3) — Derinlik ayırt edilebilir conv modülleri için çekirdek boyutu.
  • conv_activation (str, isteğe bağlı, varsayılan "swish") — Conv modüllerindeki doğrusal olmayan aktivasyon fonksiyonu.
  • input_size (int, isteğe bağlı, varsayılan 80) — Ses modeli için giriş boyutu.
  • conv_glu_type (str, isteğe bağlı, varsayılan "swish") — Nokta bazlı conv modüllerindeki doğrusal olmayan aktivasyon fonksiyonu.
  • time_reduction (int, isteğe bağlı, varsayılan 8) — Zaman indirgeme (alt örneklemleme çarpanı).
  • bias_max_distance (int, isteğe bağlı, varsayılan 1000) — Göreceli dikkat sapması modülü için maksimum mesafe.
  • bias_symmetric (bool, isteğe bağlı, varsayılan False) — Göreceli dikkat sapmasının simetrik olup olmayacağı.
  • nemo_activation (str, isteğe bağlı, varsayılan "relu") — nemo conv modüllerindeki doğrusal olmayan aktivasyon fonksiyonu.
  • nemo_conv_channels (int, isteğe bağlı, varsayılan 1024) — nemo conv modüllerindeki kanal sayısı.
  • downsample_rate (int, isteğe bağlı, varsayılan 1) — Ses özellik çıkarıcısı için örnekleme azaltma oranı.
  • initializer_range (float, isteğe bağlı, varsayılan 0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
  • audio_token_id (int, isteğe bağlı, varsayılan 200011) — Giriş sesi için yer tutucu olarak kullanılan ses tokeni indeksi.
  • feature_layer (int, isteğe bağlı, varsayılan -2) — Ses özelliklerinin çıkarılacağı kodlayıcı katmanının indeksi.

Bu, bir Phi4MultimodalModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Phi4 Multimodal modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, microsoft/Phi-4-multimodal-instruct modelinin yapılandırmasına benzer bir yapılandırma elde edilmesini sağlar.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

Örnek:

>>> from transformers import Phi4MultimodalAudioConfig

>>> # Initializing a Phi4MultimodalAudioConfig with microsoft/Phi-4-multimodal-instruct style configuration
>>> configuration = Phi4MultimodalAudioConfig()

Phi4MultimodalVisionConfig

sınıf transformers.Phi4MultimodalVisionConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 1152intermediate_size: int = 4304num_hidden_layers: int = 27num_attention_heads: int = 16num_channels: int = 3image_size: int | list[int] | tuple[int, int] = 448patch_size: int | list[int] | tuple[int, int] = 14hidden_act: str = 'gelu_pytorch_tanh'layer_norm_eps: float = 1e-06attention_dropout: float | int = 0.0crop_size: int = 448image_token_id: int = 200010feature_layer: int = -2 )

Parametreler

  • hidden_size (int, isteğe bağlı, varsayılan 1152) — Gizli temsillerin boyutu.
  • intermediate_size (int, isteğe bağlı, varsayılan 4304) — MLP temsillerinin boyutu.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 27) — Transformer çözücüdeki 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_channels (int, isteğe bağlı, varsayılan 3) — Giriş kanal sayısı.
  • image_size (Union[int, list[int], tuple[int, int]], isteğe bağlı, varsayılan 448) — Her bir görüntünün boyutu (çözünürlüğü).
  • patch_size (Union[int, list[int], tuple[int, int]], isteğe bağlı, varsayılan 14) — Her yamanın boyutu (çözünürlüğü).
  • hidden_act (str, isteğe bağlı, varsayılan gelu_pytorch_tanh) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • layer_norm_eps (float, isteğe bağlı, varsayılan 1e-06) — Katman normalizasyon katmanları tarafından kullanılan epsilon.
  • attention_dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Dikkat olasılıkları için dropout oranı.
  • crop_size (int, isteğe bağlı, varsayılan 448) — Girdi görüntüleri için kırpma boyutu.
  • image_token_id (int, isteğe bağlı, varsayılan 200010) — Girdi görselleri için yer tutucu olarak kullanılan görsel belirteç dizini.
  • feature_layer (int, isteğe bağlı, varsayılan -2) — Görsel özelliklerin çıkarılacağı kodlayıcı katmanının indeksi.

Bu, bir Phi4MultimodalModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Phi4 Multimodal modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, microsoft/Phi-4-multimodal-instruct modelinin yapılandırmasına benzer bir yapılandırma elde edilmesini sağlar.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

Örnek:

>>> from transformers import Phi4MultimodalVisionConfig

>>> # Initializing a Phi4MultimodalVisionConfig with microsoft/Phi-4-multimodal-instruct style configuration
>>> configuration = Phi4MultimodalVisionConfig()

Phi4MultimodalConfig

sınıf transformers.Phi4MultimodalConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 200064hidden_size: int = 3072intermediate_size: int = 8192num_hidden_layers: int = 32num_attention_heads: int = 32num_key_value_heads: int | None = 8resid_pdrop: float | int = 0.0embd_pdrop: float | int = 0.0attention_dropout: float | int = 0.0hidden_act: str = 'silu'max_position_embeddings: int = 131072original_max_position_embeddings: int | None = 4096initializer_range: float = 0.02rms_norm_eps: float = 1e-05use_cache: bool = Truetie_word_embeddings: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonebos_token_id: int | None = 199999eos_token_id: int | list[int] | None = Nonepad_token_id: int | None = 199999sliding_window: int | None = Nonevision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneaudio_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None )

Parametreler

  • vocab_size (int, isteğe bağlı, varsayılan 200064) — Modelin sözlük boyutu. input_ids ile temsil edilebilecek farklı token sayısını belirler.
  • hidden_size (int, isteğe bağlı, varsayılan 3072) — Gizli temsillerin boyutu.
  • intermediate_size (int, isteğe bağlı, varsayılan 8192) — MLP temsillerinin boyutu.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 32) — Transformer çözücüdeki 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) — Bu, Grouped Query Attention uygulamasında kullanılacak 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 göz atın. Belirtilmezse, varsayılan olarak num_attention_heads kullanılır.
  • resid_pdrop (Union[float, int], isteğe bağlı, varsayılan 0.0) — Gömme, kodlayıcı ve havuzlayıcıdaki tüm tam bağlı katmanlar için dropout olasılığı.
  • embd_pdrop (Union[float, int], isteğe bağlı, varsayılan 0.0) — Gömme katmanı için dropout oranı.
  • attention_dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Dikkat olasılıkları için dropout oranı.
  • hidden_act (str, isteğe bağlı, varsayılan silu) — Çözücüdeki 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 en uzun dizi uzunluğu.
  • original_max_position_embeddings (int, isteğe bağlı, varsayılan 4096) — Bu modelin eğitildiği maksimum dizi uzunluğu. Uzun ölçekleme kullanıldığında orijinal RoPE gömme boyutunu belirlemek için kullanılır.
  • initializer_range (float, isteğe bağlı, 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, isteğe bağlı, varsayılan 1e-05) — rms normalizasyon katmanları tarafından kullanılan epsilon.
  • use_cache (bool, isteğe bağlı, varsayılan True) — Modelin son anahtar/değer dikkatlerini (tüm modellerde kullanılmaz) döndürüp döndürmeyeceği. Yalnızca config.is_decoder=True olduğunda veya model yalnızca çözücü tabanlı üretken bir model olduğunda geçerlidir.
  • tie_word_embeddings (bool, isteğe bağlı, varsayılan False) — Modelin tied_weights_keys eşlemesine göre ağırlık gömme bağlamalarının yapılıp yapılmayacağı.
  • 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 ve daha uzun max_position_embeddings ile RoPE kullanmak istiyorsanız ölçekleme için kullanılan isteğe bağlı parametreleri içermelidir.
  • bos_token_id (int, isteğe bağlı, varsayılan 199999) — 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ı) — Sözlükte akış sonu için kullanılan token kimliği.
  • pad_token_id (int, isteğe bağlı, varsayılan 199999) — Sözlükte dolgu için kullanılan token kimliği.
  • sliding_window (int, isteğe bağlı) — Kayan pencere dikkat penceresi boyutu. None ise kayan pencere uygulanmaz.
  • vision_config (Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Görüntü omurgasının yapılandırma nesnesi veya sözlüğü.
  • audio_config (Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Ses omurgasının yapılandırma nesnesi veya sözlüğü.

Bu, bir Phi4MultimodalModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Phi4 Multimodal modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, microsoft/Phi-4-multimodal-instruct modelinin yapılandırmasına benzer bir yapılandırma elde edilmesini sağlar.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

Örnek:

>>> from transformers import Phi4MultimodalModel, Phi4MultimodalConfig

>>> # Initializing a Phi4Multimodal style configuration
>>> configuration = Phi4MultimodalConfig.from_pretrained("microsoft/Phi-4-multimodal-instruct")

>>> # Initializing a model from the configuration
>>> model = Phi4MultimodalModel(configuration)

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

validate_rope

< >

( )

rope_parameters yapılandırmasını doğrulayın.

Phi4MultimodalAudioModel

sınıf transformers.Phi4MultimodalAudioModel

< >

( config: Phi4MultimodalAudioConfig )

forward_embeddings

< >

( hidden_statesmasks )

Girdileri üst gömme katmanlarından geçirme

Phi4MultimodalVisionModel

sınıf transformers.Phi4MultimodalVisionModel

< >

( config: Phi4MultimodalVisionConfig )

Phi4MultimodalModel

sınıf transformers.Phi4MultimodalModel

< >

( config: Phi4MultimodalConfig )

Parametreler

  • config (Phi4MultimodalConfig) — 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() yöntemine bakın.

Üzerinde herhangi bir özel head bulunmayan, ham hidden-states üreten çıplak Phi4 Multimodal Model.

Bu model 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 boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch 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

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneimage_pixel_values: typing.Optional[torch.Tensor] = Noneimage_sizes: typing.Optional[torch.LongTensor] = Noneimage_attention_mask = Noneaudio_input_features: typing.Optional[torch.Tensor] = Noneaudio_embed_sizes = Noneaudio_attention_mask = Noneuse_cache: bool | None = None**kwargs )

image_pixel_values (torch.Tensor, isteğe bağlı): Girdi görüntüler içeriyorsa, bunlar dönüşümlerden sonraki piksel değerlerine karşılık gelir (Processor tarafından döndürüldüğü gibi). image_sizes (torch.LongTensor, isteğe bağlı): Girdi görüntüler içeriyorsa, bunlar her bir görüntünün boyutuna karşılık gelir. image_attention_mask (torch.LongTensor, isteğe bağlı): Görüntüler için dikkat maskesi. audio_input_features (torch.Tensor, isteğe bağlı): Girdi ses örnekleri içeriyorsa, bunlar dönüşümden sonraki değerlere karşılık gelir (Processor tarafından döndürüldüğü gibi). audio_embed_sizes (torch.Tensor, isteğe bağlı): Ses girdilerinin boyutu. audio_attention_mask (`torch.Tensor, isteğe bağlı): Ses girdileri için dikkat maskesi.

Phi4MultimodalForCausalLM

sınıf transformers.Phi4MultimodalForCausalLM

< >

( config: Phi4MultimodalConfig )

Parametreler

  • config (Phi4MultimodalConfig) — 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() yöntemine bakın.

Nedensel dil modellemesi için Phi4 Çok Modlu Model.

Bu model 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 boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch 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

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneimage_pixel_values: typing.Optional[torch.Tensor] = Noneimage_sizes: typing.Optional[torch.LongTensor] = Noneimage_attention_mask = Noneaudio_input_features: typing.Optional[torch.Tensor] = Noneaudio_embed_sizes = Noneaudio_attention_mask = Nonelabels: typing.Optional[torch.LongTensor] = Noneuse_cache: bool | None = Nonelogits_to_keep: typing.Union[int, torch.Tensor] = 0**kwargs ) → CausalLMOutputWithPast or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.

    Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Girdi kimlikleri nelerdir?

  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • position_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı [0, config.n_positions - 1].

    Pozisyon kimlikleri nedir?

  • 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 ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle past_key_values değerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülen use_cache=True veya config.use_cache=True.

    Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın. past_key_values geçirilmezse, varsayılan olarak DynamicCache başlatılır.

    Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.

    past_key_values kullanılıyorsa, kullanıcının tüm input_ids (şekli (batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemiş input_ids (şekli (batch_size, unprocessed_length)) girmesi beklenir.

  • inputs_embeds (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak, input_ids yerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu, input_ids dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • image_pixel_values (torch.Tensor, isteğe bağlı) — Girdi görüntüler içeriyorsa, bunlar dönüşümlerden sonraki piksel değerlerine karşılık gelir (Processor tarafından döndürüldüğü gibi)
  • image_sizes (torch.LongTensor, isteğe bağlı) — Girdi görüntüler içeriyorsa, bunlar her bir görüntünün boyutuna karşılık gelir.
  • image_attention_mask (torch.LongTensor, isteğe bağlı) — Görseller için dikkat maskesi.
  • audio_input_features (torch.Tensor, isteğe bağlı) — Girdi ses örnekleri içeriyorsa, bu değerler dönüşüm sonrası değerlere (Processor tarafından döndürülenler) karşılık gelir.
  • audio_embed_sizes (torch.Tensor, isteğe bağlı) — Ses girdilerinin boyutu.
  • audio_attention_mask (`torch.Tensor, opsiyonel) — Ses girdileri için dikkat maskesi.
  • 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 etiketleri [0, ..., config.vocab_size] aralığında olan 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 logits'leri gereklidir 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 boyutundaki korunacak 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üş değeri

CausalLMOutputWithPast veya tuple(torch.Tensor)

Bir CausalLMOutputWithPast veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (Phi4MultimodalConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

Phi4MultimodalForCausalLM 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ü önceki, ö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 örneğidir. Daha fazla ayrıntı için kv cache kılavuzumuza 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 (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer 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 (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length).

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

Örnek:

>>> from transformers import AutoTokenizer, Phi4MultimodalForCausalLM
>>> model = Phi4MultimodalForCausalLM.from_pretrained("TBA")
>>> tokenizer = AutoTokenizer.from_pretrained("TBA")
>>> prompt = "This is an example script ."
>>> 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]
'This is an example script .\n Certainly! Below is a sample script that demonstrates a simple task, such as calculating the sum'
Update on GitHub