huihui-ai's picture
Upload 44 files
34116dd verified
metadata
license: other
license_name: tongyi-qianwen
license_link: >-
  https://huggingface.co/huihui-ai/Qwen2-VL-72B-Instruct-abliterated/blob/main/LICENSE
language:
  - en
pipeline_tag: image-text-to-text
base_model: Qwen/Qwen2-VL-72B-Instruct
tags:
  - abliterated
  - uncensored
  - multimodal
library_name: transformers

huihui-ai/Qwen2-VL-72B-Instruct-abliterated

This is an uncensored version of Qwen2-VL-72B-Instruct created with abliteration (see remove-refusals-with-transformers to know more about it).

This is a crude, proof-of-concept implementation to remove refusals from an LLM model without using TransformerLens.

It was only the text part that was processed, not the image part.

Usage

You can use this model in your applications by loading it with Hugging Face's transformers library:

from transformers import Qwen2VLForConditionalGeneration, AutoProcessor
from qwen_vl_utils import process_vision_info
import torch

model = Qwen2VLForConditionalGeneration.from_pretrained(
    "huihui-ai/Qwen2-VL-72B-Instruct-abliterated", torch_dtype=torch.bfloat16, device_map="auto"
)
processor = AutoProcessor.from_pretrained("huihui-ai/Qwen2-VL-72B-Instruct-abliterated")

image_path = "/tmp/test.png"

messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "image": f"file://{image_path}",
            },
            {"type": "text", "text": "Please describe the content of the photo in detail"},
        ],
    }
]

text = processor.apply_chat_template(
    messages, tokenize=False, add_generation_prompt=True
)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
    text=[text],
    images=image_inputs,
    videos=video_inputs,
    padding=True,
    return_tensors="pt",
)
inputs = inputs.to("cuda")

generated_ids = model.generate(**inputs, max_new_tokens=256)
generated_ids_trimmed = [
    out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
    generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
output_text = output_text[0]

print(output_text)