LLM·2 dk okuma·

LensVLM-9B: Uzun Bağlamı Görsellerle Sıkıştırma ve Çok Adımlı Araç Çağırma

Paylaş
LLMEdumints Blog

Apple tarafından açık kaynaklı olarak sunulan LensVLM-9B, uzun bağlamlı çok modlu belgeleri görsel temsiller halinde sıkıştırarak yalnızca sorguyla ilgili sayfaları çözümleyen yenilikçi bir vizyon-dil modelidir (VLM). Modelin Hugging Face üzerindeki sohbet şablonu (chat_template_jinja) incelendiğinde; çok modlu veri işleme, özel belirteç yönetimi (pad_token: <|endoftext|>, unk_token: null) ve kuralları katı bir şekilde tanımlanmış araç çağırma (tool calling) mekanizması dikkat çekmektedir.

Çok Modlu İçerik Yönetimi ve Sistem Kısıtlamaları

Modelin Jinja şablonundaki render_content makrosu metin, görsel ve video girdilerini ayrıştırırken belirli kurallara dayanır. Görseller |vision_start|> |image_pad|> |vision_end|> ve videolar |vision_start|> |video_pad|> |vision_end|> özel belirteçleriyle etiketlenir; ayrıca her görsel öğe Picture 1, Video 1 biçiminde numaralandırılarak modele aktarılır.

Yazılım geliştiriciler ve istem mühendisleri açısından en kritik kısıtlama, sistem iletilerinin (system message) kesinlikle görsel veya video içeremeyeceğidir. Şablon, sistem içeriğinde bir görsel ya da video tespit ettiğinde doğrudan raise_exception çalıştırarak akışı durdurur. Bu mimari karar, ajan sistemlerinde sistem talimatlarının görsel tabanlı prompt injection saldırılarından yalıtılmasını ve güvenli kalmasını sağlar.

Araç Çağırma ve 4 Temel Davranış Kuralı

LensVLM-9B, araç kullanımını XML tabanlı yapılandırılmış bir sözdizimi ile yönetir. Ajan sistemlerinde fonksiyon çağrılarının kararlı yürütülmesi için şablondaki <IMPORTANT> bloğunda tanımlanan 4 temel kural şunlardır:

  • Biçimsel Standart: Fonksiyon çağrıları mutlaka belirtilen XML formatında olmalı; <tool_call> ana etiketleri içerisine iç içe geçmiş bir <function=...> </function> bloğu ve parametreler yerleştirilmelidir.
  • Zorunlu Parametreler: Çağrılan fonksiyonun ihtiyaç duyduğu tüm zorunlu parametreler eksiksiz bir şekilde tanımlanmalıdır.
  • Ön Akıl Yürütme (Reasoning): Model, fonksiyon çağrısından önce doğal dilde isteğe bağlı bir akıl yürütme sunabilir; ancak çağrı tamamlandıktan sonra kesinlikle herhangi bir metin eklenemez.
  • Sessiz Normal Yanıt: Kullanılabilecek bir fonksiyon bulunmadığında, model soruyu mevcut bilgi birikimiyle normal biçimde yanıtlamalı ve kullanıcıya fonksiyon çağırma mekanizmasından kesinlikle bahsetmemelidir.

Geliştiriciler İçin Pratik Çıkarımlar

Bu şablon tasarımı, üretim ortamında çalışan yapay zeka ajanları için önemli mühendislik avantajları barındırır. Akıl yürütmenin fonksiyon çağrısından önce gelmesi (Chain-of-Thought), modelin argümanları üretmeden önce planlama yapmasını sağlayarak parametre hatalarını ve halüsinasyon riskini belirgin şekilde azaltır. Şablonda tanımlanan multi_step_tool bayrağı ve geçmiş mesaj taraması, modelin çok adımlı görevlerde önceki araç çıktılarını bağlamda tutarak otonom döngüleri kesintisiz sürdürmesine olanak tanır. JSON yerine XML tabanlı parametre bloklarının tercih edilmesi ise üretim API'lerinde tırnak işaretleri ve kaçış karakterlerinden kaynaklanan ayrıştırma (parsing) hatalarını minimuma indirir.

[Orijinal kaynağa buradan ulaşabilirsiniz.](https://huggingface.co/apple/LensVLM-9B)


Bu konuyu derinlemesine öğrenmek isterseniz: Tool Calling ve Multi-Step Agent'lar modülüne göz atın.

Paylaş

Bu konuyu daha derinlemesine öğrenmek ister misin?

Edumints'teki ücretsiz kursları incele ve bugün başla.

Kurslara Göz At →