Spaces:
Runtime error
Runtime error
import gradio as gr | |
from transformers import pipeline | |
import torch | |
import subprocess | |
import spaces | |
# Install flash-attn | |
subprocess.run('pip install flash-attn --no-build-isolation', env={'FLASH_ATTENTION_SKIP_CUDA_BUILD': "TRUE"}, shell=True) | |
# Initialize the model pipeline | |
generator = pipeline('text-generation', model='mistralai/Mistral-7B-v0.1', torch_dtype=torch.bfloat16) | |
def generate_text(prompt, temperature, top_p, top_k, repetition_penalty, max_length): | |
# Generate text using the model | |
generator.model.cuda() | |
generator.device = torch.device("cuda") | |
outputs = generator( | |
prompt, | |
do_sample=True, | |
max_new_tokens=max_length, | |
temperature=temperature, | |
top_p=top_p, | |
top_k=top_k, | |
repetition_penalty=repetition_penalty, | |
return_full_text=False | |
) | |
# Extract the generated text and return it | |
generated_text = outputs[0]['generated_text'] | |
generator.model.cpu() | |
generator.device = torch.device("cpu") | |
return generated_text | |
# Create the Gradio interface | |
iface = gr.Interface( | |
fn=generate_text, | |
inputs=[ | |
gr.Textbox(label="Prompt", lines=2, placeholder="Type a prompt..."), | |
gr.Slider(minimum=0.1, maximum=2.0, step=0.01, value=0.8, label="Temperature"), | |
gr.Slider(minimum=0.0, maximum=1.0, step=0.01, value=0.95, label="Top p"), | |
gr.Slider(minimum=0, maximum=100, step=1, value=40, label="Top k"), | |
gr.Slider(minimum=1.0, maximum=2.0, step=0.01, value=1.10, label="Repetition Penalty"), | |
gr.Slider(minimum=5, maximum=4096, step=5, value=1024, label="Max Length") | |
], | |
outputs=gr.Textbox(label="Generated Text"), | |
title="Text Completion Model", | |
description="Try out the Mistral-7B model for free! Note this is the pretrained model and is not fine-tuned for instruction." | |
) | |
iface.launch() |