|
import gradio as gr |
|
import torch |
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
|
|
|
|
tokenizer = AutoTokenizer.from_pretrained("bilalRahib/TinyLLama-NSFW-Chatbot") |
|
model = AutoModelForCausalLM.from_pretrained("bilalRahib/TinyLLama-NSFW-Chatbot") |
|
model.eval() |
|
|
|
|
|
def generate_response(prompt, max_new_tokens=100, temperature=0.8, top_p=0.95): |
|
inputs = tokenizer(prompt, return_tensors="pt") |
|
with torch.no_grad(): |
|
output = model.generate( |
|
inputs["input_ids"], |
|
attention_mask=inputs.get("attention_mask", None), |
|
max_new_tokens=max_new_tokens, |
|
temperature=temperature, |
|
top_p=top_p, |
|
do_sample=True, |
|
pad_token_id=tokenizer.eos_token_id, |
|
) |
|
return tokenizer.decode(output[0], skip_special_tokens=True) |
|
|
|
|
|
iface = gr.Interface( |
|
fn=generate_response, |
|
inputs=[ |
|
gr.Textbox(label="Enter your prompt", placeholder="Type a message..."), |
|
gr.Slider(20, 300, value=100, label="Max New Tokens"), |
|
gr.Slider(0.1, 1.5, value=0.8, label="Temperature"), |
|
gr.Slider(0.5, 1.0, value=0.95, label="Top-p"), |
|
], |
|
outputs="text", |
|
title="TinyLLama NSFW Chatbot", |
|
description="A chatbot using TinyLLama NSFW fine-tuned model.", |
|
) |
|
|
|
|
|
if __name__ == "__main__": |
|
iface.launch() |
|
|
|
|