--- license: mit license_link: >- https://huggingface.co./huihui-ai/Phi-4-multimodal-instruct-abliterated/resolve/main/LICENSE language: - multilingual - ar - zh - cs - da - nl - en - fi - fr - de - he - hu - it - ja - ko - 'no' - pl - pt - ru - es - sv - th - tr - uk tags: - nlp - code - audio - automatic-speech-recognition - speech-summarization - speech-translation - visual-question-answering - phi-4-multimodal - phi - phi-4-mini - abliterated - uncensored widget: - example_title: Librispeech sample 1 src: https://cdn-media.huggingface.co/speech_samples/sample1.flac - example_title: Librispeech sample 2 src: https://cdn-media.huggingface.co/speech_samples/sample2.flac - messages: - role: user content: Can you provide ways to eat combinations of bananas and dragonfruits? library_name: transformers base_model: - microsoft/Phi-4-multimodal-instruct --- # huihui-ai/Phi-4-multimodal-instruct-abliterated This is an uncensored version of [microsoft/Phi-4-multimodal-instruct](https://huggingface.co./microsoft/Phi-4-multimodal-instruct) created with abliteration (see [remove-refusals-with-transformers](https://github.com/Sumandora/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. The abliterated model will no longer say "I'm sorry, but I cannot provide details or descriptions of images" ## Usage You can use this model in your applications by loading it with Hugging Face's `transformers` library: ```python import os import requests import torch from PIL import Image import soundfile from transformers import AutoModelForCausalLM, AutoProcessor, GenerationConfig model_path = 'huihui-ai/Phi-4-multimodal-instruct-abliterated' kwargs = {} kwargs['torch_dtype'] = torch.bfloat16 processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True) print(processor.tokenizer) model = AutoModelForCausalLM.from_pretrained( model_path, trust_remote_code=True, torch_dtype='auto', _attn_implementation='flash_attention_2', ).cuda() print("model.config._attn_implementation:", model.config._attn_implementation) generation_config = GenerationConfig.from_pretrained(model_path, 'generation_config.json') user_prompt = '<|user|>' assistant_prompt = '<|assistant|>' prompt_suffix = '<|end|>' #################################################### text-only #################################################### prompt = f'{user_prompt}what is the answer for 1+1? Explain it.{prompt_suffix}{assistant_prompt}' print(f'>>> Prompt\n{prompt}') inputs = processor(prompt, images=None, return_tensors='pt').to('cuda:0') generate_ids = model.generate( **inputs, max_new_tokens=1000, generation_config=generation_config, ) generate_ids = generate_ids[:, inputs['input_ids'].shape[1] :] response = processor.batch_decode( generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False )[0] print(f'>>> Response\n{response}') ``` ### Donation If you like it, please click 'like' and follow us for more updates. You can follow [x.com/support_huihui](https://x.com/support_huihui) to get the latest model information from huihui.ai. ##### Your donation helps us continue our further development and improvement, a cup of coffee can do it. - bitcoin: ``` bc1qqnkhuchxw0zqjh2ku3lu4hq45hc6gy84uk70ge ```