import torchfrom transformers import AutoProcessor, Qwen3VLForConditionalGeneration model = Qwen3VLForConditionalGeneration.from_pretrained( "RamManavalan/Qwen3-VL-Embedding-8B-FP8", dtype=torch.bfloat16, trust_remote_code=True, device_map="auto",)processor = AutoProcessor.from_pretrained( "RamManavalan/Qwen3-VL-Embedding-8B-FP8", trust_remote_code=True,) # Prepare inputmessages = [ {"role": "system", "content": [{"type": "text", "text": "Represent the user's input."}]}, {"role": "user", "content": [{"type": "text", "text": "Your text here"}]}]prompt = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)inputs = processor(text=[prompt], return_tensors="pt", padding=True).to(model.device) # Get embedding (last-token pooling)with torch.no_grad(): outputs = model.model(**inputs, output_hidden_states=True) # Get the last non-padding token seq_len = inputs['attention_mask'].sum(dim=1) - 1 embedding = outputs.last_hidden_state[0, seq_len[0]] embedding = torch.nn.functional.normalize(embedding, p=2, dim=-1) print(f"Embedding shape: {embedding.shape}") # (4096,)