Views
No views yet
0 = Forbidden, 1 = Fantasy, 2 = Safe). Fantasy means content that may be published but should be treated as adult (+18).pip install "transformers==4.56.2" accelerate sentencepiece torch torchvision pillow requestsmodel.chat() API:1import torch
2import requests
3from PIL import Image
4from io import BytesIO
5from torchvision import transforms as T
6from torchvision.transforms.functional import InterpolationMode
7from transformers import AutoModel, AutoTokenizer
8
9MODEL_ID = "Trendyol/Trendyol-Vision-Flash"
10IMAGENET_MEAN = (0.485, 0.456, 0.406)
11IMAGENET_STD = (0.229, 0.224, 0.225)
12
13model = AutoModel.from_pretrained(
14 MODEL_ID,
15 trust_remote_code=True,
16 dtype=torch.bfloat16,
17 low_cpu_mem_usage=True,
18 use_flash_attn=False,
19).eval().cuda()
20
21tokenizer = AutoTokenizer.from_pretrained(
22 MODEL_ID,
23 trust_remote_code=True,
24 use_fast=False,
25)
26
27def build_transform(input_size=448):
28 return T.Compose([
29 T.Lambda(lambda img: img.convert("RGB") if img.mode != "RGB" else img),
30 T.Resize((input_size, input_size), interpolation=InterpolationMode.BICUBIC),
31 T.ToTensor(),
32 T.Normalize(mean=IMAGENET_MEAN, std=IMAGENET_STD),
33 ])
34
35def load_image_from_url(url, input_size=448):
36 response = requests.get(url, timeout=30)
37 response.raise_for_status()
38 image = Image.open(BytesIO(response.content)).convert("RGB")
39 return build_transform(input_size)(image).unsqueeze(0)
40
41urls = [
42 "https://cdn.dsmcdn.com/mnresize/620/920/ty1571/prod/QC/20240924/23/a77c7933-c626-3753-9cad-fbb7388bff45/1_org_zoom.jpg",
43 "https://cdn.dsmcdn.com/mnresize/620/920/ty1569/prod/QC/20240924/23/356395c3-c71c-37c5-88c4-5ef97899b3d8/1_org_zoom.jpg",
44 "https://cdn.dsmcdn.com/mnresize/620/920/ty1571/prod/QC/20240924/23/112305b3-ba5d-3a28-8fd3-b1857749afca/1_org_zoom.jpg",
45]
46
47pixel_values = torch.cat([load_image_from_url(url) for url in urls], dim=0)
48pixel_values = pixel_values.to(dtype=torch.bfloat16, device="cuda")
49
50question = """<image>
51Görsellerden, Eldiven kategorisinde yer alan ürünün markasını çıkar.
52Sadece verilen görsellerde doğrulanabilen bilgilere dayan.
53Emin olmadığında "Unknown" şeklinde cevap ver.
54Sadece marka adını döndür."""
55
56generation_config = {"max_new_tokens": 32, "do_sample": False}
57
58response = model.chat(tokenizer, pixel_values, question, generation_config)
59print(response) # Adidaspixel_values in the same order as <image> placeholders in the prompt. For a single <image> token with multiple product photos, pass all images in one batch (default behavior).GPU note: Trendyol-Vision-Flash is designed for single-GPU inference. No tensor parallelism required.
1vllm serve Trendyol/Trendyol-Vision-Flash \
2 --trust-remote-code \
3 --max-model-len 16384 \
4 --structured-outputs-config.backend xgrammar \
5 --served-model-name Trendyol-Vision-Flash \
6 --interleave-mm-strings \
7image_url content blocks:1curl http://localhost:8000/v1/chat/completions \
2 -H "Content-Type: application/json" \
3 -H "Authorization: Bearer EMPTY" \
4 -d '{
5 "model": "Trendyol-Vision-Flash",
6 "temperature": 0.0,
7 "max_tokens": 32,
8 "messages": [
9 {
10 "role": "user",
11 "content": [
12 {"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/mnresize/620/920/ty1571/prod/QC/20240924/23/a77c7933-c626-3753-9cad-fbb7388bff45/1_org_zoom.jpg"}},
13 {"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/mnresize/620/920/ty1569/prod/QC/20240924/23/356395c3-c71c-37c5-88c4-5ef97899b3d8/1_org_zoom.jpg"}},
14 {"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/mnresize/620/920/ty1571/prod/QC/20240924/23/112305b3-ba5d-3a28-8fd3-b1857749afca/1_org_zoom.jpg"}},
15 {"type": "text", "text": "Görsellerden, Eldiven kategorisinde yer alan ürünün markasını çıkar.\nSadece verilen görsellerde doğrulanabilen bilgilere dayan.\nEmin olmadığında \"Unknown\" şeklinde cevap ver.\nSadece marka adını döndür."}
16 ]
17 }
18 ]
19 }'model.chat() using the same image-loading flow from Quickstart. Replace {placeholders} with your data. Use one <image> per image group; for tasks with multiple image slots, pass num_patches_list (e.g. [1, 1] for before/after).Unknown<image>
Görsellerden, {category} kategorisinde yer alan ürünün markasını çıkar.
Sadece verilen görsellerde doğrulanabilen bilgilere dayan.
Emin olmadığında "Unknown" şeklinde cevap ver.
Sadece marka adını döndür.1 (same SKU) or 0 (different)E-ticaret kataloğundaki ürün benzerliği konusunda uzmansınız.
İki ürünün önceki ve sonraki başlık/görsellerini karşılaştırarak aynı ürün olup olmadığını belirle.
Ambalaj, arka plan veya model farkları tek başına fark sayılmaz; renk, boyut, miktar veya varyant farkları fark sayılır.
Sadece "1" veya "0" döndür.
Önceki Ürün Başlığı:
{before_title}
Önceki Ürün Resimleri:
<image>
Sonraki Ürün Başlığı:
{after_title}
Sonraki Ürün Resimleri:
<image><image>
Bu görseldeki, başlığı '{title}' ve açıklaması '{description}' olan ürünün {attribute_list} bilgilerini json formatında çıkarır mısın?<image>
Bu görseldeki, başlığı 'Helen Bar Sandalyesi-mavi-9519q0119' ve açıklaması 'Maksimum kargolanma süresi: Sipariş tarihinden sonraki 7. gün Ortalama montaj süresi: 1 dakika Genişlik: 62cm Derinlik: 52cm Yükseklik: 96cm Oturak Yüksekliği: 44cm Ürün Ağırlığı: 10kg Kullanılan malzeme: Metal Kullanılan sünger: Yüksek yoğunluklu gri sünger Kullanılan kol: Metal Kollu Kullanılan ayak: Metal Ayaklı + Kromajlı Garanti süresi - Menşei: 24 Ay - Yerli Sipariş bazlı üretim-tedarik yapıldığından sipariş iptali yapılamamaktadır Anlaşmalı olunan ambar ve kargolarla bina kapısında teslimat yapılmaktadır' olan ürünün Garanti Süresi, Materyal, Model, Sandalye Kumaşı, Sandalye Sayısı, Tema / Stil bilgilerini json formatında çıkarır mısın?https://cdn.dsmcdn.com/ty1325/product/media/images/prod/QC/20240522/17/f63a7316-5998-3c7d-b45f-93ff8e9c34a2/1_org_zoom.jpg1{
2 "Garanti Süresi": "2 Yıl",
3 "Materyal": "Metal",
4 "Model": "Bar Sandalyesi",
5 "Sandalye Kumaşı": "çıkarılamadı",
6 "Sandalye Sayısı": "1",
7 "Tema / Stil": "Modern"
8}<image>
Ürün fotoğrafı ile '{reference_title}' bilgisini karşılaştırıp, Trendyol katalog moderasyon kurallarına göre yanıltıcı ifadelerden kaçınarak net bir başlık üret; çıktıyı düz metin ver.<image>
Without speculating about details you cannot see, describe this product based on the image and the information provided.
Product title: {title}
Brand: {brand}
First decide which object is the product, review OCR for brand/model/title clues, then analyze colors, shape, material, pattern, and other grounded details.0 (Forbidden) = not publishable, 1 (Fantasy) = publishable but adult (+18) content, 2 (Safe) = publishable without restriction.<image>
Ürün Başlığı: {title}
Bu ürün görselini ve başlığını inceleyerek moderasyon sınıflandırması yap. Sonucu 0 (Forbidden), 1 (Fantasy) veya 2 (Safe) olarak ver.{"amount": <number|null>, "unit": "KG"|"L"|"PIECE"|null}<image>
Extract total product quantity from the title and image. Title is the primary source; use the image only when the title is missing or ambiguous.
Return only JSON: {"amount": <number|null>, "unit": "KG"|"L"|"PIECE"|null}
Convert g→KG, ml/cc→L, counts→PIECE. Ignore model numbers, storage, wattage, and dimensions. If unclear, return {"amount": null, "unit": null}.
Product Title: {title}1@misc{trendyol-vision-flash,
2 title={Trendyol-Vision-Flash: Lightweight Catalog Quality Vision-Language Model (VLM)},
3 author={Trendyol Data Science Team},
4 year={2026},
5 howpublished={\url{https://huggingface.co/Trendyol/Trendyol-Vision-Flash}}
6}1@article{zhu2025internvl3_5,
2 title={InternVL3.5: Advancing Open-Source Multimodal Models},
3 author={Zhu, Weiyun and others},
4 year={2025},
5 url={https://huggingface.co/OpenGVLab/InternVL3_5-1B-Instruct}
6}