How to use from
vLLM
Install from pip and serve model
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "wudq/EmoCaliber"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/chat/completions" \
	-H "Content-Type: application/json" \
	--data '{
		"model": "wudq/EmoCaliber",
		"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/wudq/EmoCaliber
Quick Links

Welcome to EmoCaliber, an MLLM for reliable visual emotion comprehension.

Paper: EmoCaliber: Advancing Reliable Visual Emotion Comprehension via Confidence Verbalization and Calibration Code / Project Page: https://github.com/wdqqdw/EmoCaliber

Given an image, EmoCaliber is trained to produce structured affective reasoning following this pipeline: (1) identifying prominent visual elements in the image; (2) providing detailed descriptions of human subjects, if present; (3) describing contextual elements beyond the subjects; (4) discussing how these elements interact; and (5) deriving an emotional conclusion based on the preceding observations. The final emotion prediction integrates these visual cues. After outputting the prediction, EmoCaliber also emits a confidence score wrapped in a <confidence> tag, which reflects the model’s self-assessed certainty about its answer.

EmoCaliber is implemented based on Qwen2.5-VL-7B and can perform both inference and training in an identical manner.

Standard prompt templates:

For emotion recognition:

{
  "conversations": [
    {
      "role": "user",
      "content": [
        {"type": "image", "image": "IMAGE_PATH"},
        {
          "type": "text",
          "text": "Which emotion might this image evoke? Choose the most likely one from ['EMOTION_CATEGORIES']. Think step by step. Respond in the format: <think>{your reasoning}</think><answer>{your final answer}</answer>."
        }
      ]
    }
  ]
}

For sentiment analysis:

{
  "conversations": [
    {
      "role": "user",
      "content": [
        {"type": "image", "image": "IMAGE_PATH"},
        {
          "type": "text",
          "text": "What sentiment might this image evoke? Choose the most likely one from ['positive', 'negative']. Think step by step. Respond in the format: <think>{your reasoning}</think><answer>{your final answer}</answer>."
        }
      ]
    }
  ]
}
Downloads last month
22
Safetensors
Model size
8B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for wudq/EmoCaliber