import gradio as gr from transformers import AutoTokenizer, AutoModelForCausalLM # Load the model and tokenizer model_name = "migueldeguzmandev/GPT2XL_RLLMv19-4" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) # Set the pad token ID to the EOS token ID model.config.pad_token_id = model.config.eos_token_id # Define the inference function def generate_response(input_text, temperature): # Tokenize the input text inputs = tokenizer(input_text, return_tensors="pt") input_ids = inputs["input_ids"] attention_mask = inputs["attention_mask"] # Generate the model's response output = model.generate( input_ids, attention_mask=attention_mask, max_length=300, num_return_sequences=1, temperature=temperature, no_repeat_ngram_size=2, top_k=50, top_p=0.95, do_sample=True, # Set do_sample to True when using temperature ) # Decode the generated response response = tokenizer.decode(output[0], skip_special_tokens=True) return response # Create the Gradio interface interface = gr.Interface( fn=generate_response, inputs=[ gr.Textbox(label="User Input"), gr.Slider(minimum=0.000000000000000000000000001, maximum=1.0, value=0.7, step=0.1, label="Temperature"), ], outputs=gr.Textbox(label="Model Response"), title="TestOnlyRLLMv19Layer4", description=( """ RLLMv19 is a spin-off experiment focusing on improving GPT2XL's robustness to jailbreaks. The 4th layer of RLLMv19 is compared to the 4th layer of RLLMv3. Why RLLMv3? This prototype demonstrated a capability to resist jailbreak attacks up to 67.8%, which you can read more about (here). """ ), ) # Launch the interface without the share option interface.launch()