Image-Text-to-Text
Transformers
Safetensors
qwen2_5_vl
agent
action
vlm
conversational
text-generation-inference
Instructions to use saiadarsh/proxy-lite-3b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use saiadarsh/proxy-lite-3b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="saiadarsh/proxy-lite-3b") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForImageTextToText processor = AutoProcessor.from_pretrained("saiadarsh/proxy-lite-3b") model = AutoModelForImageTextToText.from_pretrained("saiadarsh/proxy-lite-3b") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use saiadarsh/proxy-lite-3b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "saiadarsh/proxy-lite-3b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "saiadarsh/proxy-lite-3b", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/saiadarsh/proxy-lite-3b
- SGLang
How to use saiadarsh/proxy-lite-3b with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "saiadarsh/proxy-lite-3b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "saiadarsh/proxy-lite-3b", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "saiadarsh/proxy-lite-3b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "saiadarsh/proxy-lite-3b", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use saiadarsh/proxy-lite-3b with Docker Model Runner:
docker model run hf.co/saiadarsh/proxy-lite-3b
File size: 4,693 Bytes
5d0ea32 | 1 2 3 4 | {
"chat_template": "{% set image_count = namespace(value=0) %}{% set video_count = namespace(value=0) %}{{- '<|im_start|>' + messages[0].role + '\n' }}{%- if messages[0]['content'] is string %}{{ messages[0]['content'] }}{%- else %}{%- for content in messages[0]['content'] %}{%- if content.type == 'image' or ('image' in content) or ('image_url' in content) %}{% set image_count.value = image_count.value + 1 %}{%- if add_vision_id %}Picture {{ image_count.value }}:{%- endif %}<|vision_start|><|image_pad|><|vision_end|>{%- elif content.type == 'video' or ('video' in content) %}{% set video_count.value = video_count.value + 1 %}{%- if add_vision_id %}Video {{ video_count.value }}:{%- endif %}<|vision_start|><|video_pad|><|vision_end|>{%- elif 'text' in content %}{{ content.text }}{%- endif %}{%- endfor %}{%- endif %}{%- if messages[0].tool_calls %}{%- for tool_call in messages[0].tool_calls %}{%- if tool_call.function is defined %}{%- set tool_call = tool_call.function %}{%- endif %}<tool_call>{\"name\": \"{{ tool_call.name }}\", \"arguments\": {{ tool_call.arguments | tojson }}} </tool_call>{%- endfor %}{%- endif %}{{- '<|im_end|>\n' }}{%- if tools %}{{- '<|im_start|>system\n' }}{{- \"\n\n# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>\" }}{%- for tool in tools %}{{- \"\n\" }}{{- tool | tojson }}{%- endfor %}{{- \"\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n\" }}<tool_call>{\"name\": <function-name>, \"arguments\": <args-json-object>}</tool_call>{{- '<|im_end|>\n' }}{%- endif %}{%- for message in messages[1:] %}{%- if (message.role == \"user\") or (message.role == \"system\") or (message.role == \"assistant\" and not message.tool_calls) %}{{- '<|im_start|>' + message.role + '\n' }}{%- if message.content is string %}{{ message.content }}{%- else %}{%- for content in message.content %}{%- if content.type == 'image' or ('image' in content) or ('image_url' in content) %}{% set image_count.value = image_count.value + 1 %}{%- if add_vision_id %}Picture {{ image_count.value }}:{%- endif %}<|vision_start|><|image_pad|><|vision_end|>{%- elif content.type == 'video' or ('video' in content) %}{% set video_count.value = video_count.value + 1 %}{%- if add_vision_id %}Video {{ video_count.value }}:{%- endif %}<|vision_start|><|video_pad|><|vision_end|>{%- elif 'text' in content %}{{ content.text }}{%- endif %}{%- endfor %}{%- endif %}{{- '<|im_end|>\n' }}{%- elif message.role == \"assistant\" %}{{- '<|im_start|>' + message.role }}{%- if message.content %}{% if message.content is string %}{{ '\n' + message.content }}{% else %}{%- for content in message.content %}{%- if content.type == 'image' or ('image' in content) or ('image_url' in content) %}{% set image_count.value = image_count.value + 1 %}{%- if add_vision_id %}Picture {{ image_count.value }}:{%- endif %}<|vision_start|><|image_pad|><|vision_end|>{%- elif content.type == 'video' or ('video' in content) %}{% set video_count.value = video_count.value + 1 %}{%- if add_vision_id %}Video {{ video_count.value }}:{%- endif %}<|vision_start|><|video_pad|><|vision_end|>{%- elif 'text' in content %}{{ content.text }}{%- endif %}{%- endfor %}{% endif %}{%- endif %}{%- for tool_call in message.tool_calls %}{%- if tool_call.function is defined %}{%- set tool_call = tool_call.function %}{%- endif %}<tool_call>{\"name\": \"{{ tool_call.name }}\", \"arguments\": {{ tool_call.arguments | tojson }}} </tool_call>{%- endfor %}{{- '<|im_end|>\n' }}{%- elif message.role == \"tool\" %}{%- if (loop.index0 == 0) or (messages[loop.index0].role != \"tool\") %}{{- '<|im_start|>user' }}{%- endif %}{{- '\n<tool_response>\n' }}{%- if message.content is string %}{{ message.content }}{%- else %}{%- for content in message.content %}{%- if content.type == 'image' or ('image' in content) or ('image_url' in content) %}{% set image_count.value = image_count.value + 1 %}{%- if add_vision_id %}Picture {{ image_count.value }}:{%- endif %}<|vision_start|><|image_pad|><|vision_end|>{%- elif content.type == 'video' or ('video' in content) %}{% set video_count.value = video_count.value + 1 %}{%- if add_vision_id %}Video {{ video_count.value }}:{%- endif %}<|vision_start|><|video_pad|><|vision_end|>{%- elif 'text' in content %}{{ content.text }}{%- endif %}{%- endfor %}{%- endif %}{{- '\n</tool_response>' }}{%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}{{- '<|im_end|>\n' }}{%- endif %}{%- endif %}{%- endfor %}{%- if add_generation_prompt %}{{- '<|im_start|>assistant\n' }}{%- endif %}"
}
|