LiquidAI
Collection
6 items โข Updated
How to use rahul7star/LFM2.5-VL-3B-tool-sft-merged with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("image-text-to-text", model="rahul7star/LFM2.5-VL-3B-tool-sft-merged", trust_remote_code=True)
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) # pip install -U transformers accelerate
# Load model directly
from transformers import AutoProcessor, AutoModelForMultimodalLM
processor = AutoProcessor.from_pretrained("rahul7star/LFM2.5-VL-3B-tool-sft-merged", trust_remote_code=True)
model = AutoModelForMultimodalLM.from_pretrained("rahul7star/LFM2.5-VL-3B-tool-sft-merged", trust_remote_code=True, device_map="auto")
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=256)
print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:]))How to use rahul7star/LFM2.5-VL-3B-tool-sft-merged with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "rahul7star/LFM2.5-VL-3B-tool-sft-merged"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "rahul7star/LFM2.5-VL-3B-tool-sft-merged",
"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 run hf.co/rahul7star/LFM2.5-VL-3B-tool-sft-merged
How to use rahul7star/LFM2.5-VL-3B-tool-sft-merged with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "rahul7star/LFM2.5-VL-3B-tool-sft-merged" \
--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": "rahul7star/LFM2.5-VL-3B-tool-sft-merged",
"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 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 "rahul7star/LFM2.5-VL-3B-tool-sft-merged" \
--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": "rahul7star/LFM2.5-VL-3B-tool-sft-merged",
"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"
}
}
]
}
]
}'How to use rahul7star/LFM2.5-VL-3B-tool-sft-merged with Docker Model Runner:
docker model run hf.co/rahul7star/LFM2.5-VL-3B-tool-sft-merged
from transformers import pipeline
from IPython.display import display, Markdown
from PIL import Image
import requests
from io import BytesIO
# Load model
pipe = pipeline(
"image-text-to-text",
model="rahul7star/LFM2.5-VL-3B-tool-sft-merged",
trust_remote_code=True,
)
# Conversation history
messages = []
def chat(user_text, image_url=None):
global messages
content = []
if image_url:
content.append({
"type": "image",
"url": image_url,
})
content.append({
"type": "text",
"text": user_text,
})
messages.append({
"role": "user",
"content": content,
})
output = pipe(text=messages)
# Pipeline output is normally a list containing the generated conversation
result = output[0]
if isinstance(result, dict) and "generated_text" in result:
generated = result["generated_text"]
else:
generated = result
# If the pipeline returns the complete conversation,
# extract the assistant's latest message.
if isinstance(generated, list):
assistant_message = generated[-1]
if isinstance(assistant_message, dict):
assistant_content = assistant_message.get("content", "")
else:
assistant_content = str(assistant_message)
else:
assistant_content = str(generated)
messages.append({
"role": "assistant",
"content": [
{
"type": "text",
"text": assistant_content,
}
],
})
print("\nAssistant:")
print(assistant_content)
return assistant_content
# Test with image
image_url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"
chat(
"What animal is on the candy?",
image_url=image_url,
)
This lfm2_vl model was trained 2x faster with Unsloth and Huggingface's TRL library.