webai / app.py
arpusa123's picture
Update app.py
bb972c6 verified
Raw
History Blame Contribute Delete
1.46 kB
import gradio as gr
import spaces
import torch
from transformers import pipeline
MODELS = {
"Qwen2.5-0.5B": "Qwen/Qwen2.5-0.5B-Instruct",
"Qwen2.5-1B": "Qwen/Qwen2.5-1B-Instruct",
"Llama-3.2-1B": "meta-llama/Llama-3.2-1B-Instruct",
"Gemma-3-1B": "google/gemma-3-1b-it",
}
loaded = {}
def get_model(name):
if name not in loaded:
loaded[name] = pipeline(
"text-generation",
model=MODELS[name],
torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,
device_map="auto" if torch.cuda.is_available() else None,
)
return loaded[name]
@spaces.GPU
def generate(model, prompt, max_tokens, temperature):
pipe = get_model(model)
result = pipe(
prompt,
max_new_tokens=max_tokens,
temperature=temperature,
do_sample=temperature > 0,
return_full_text=False,
)
return result[0]["generated_text"]
demo = gr.Interface(
fn=generate,
inputs=[
gr.Dropdown(
choices=list(MODELS.keys()),
value="Qwen2.5-0.5B",
label="Model",
),
gr.Textbox(lines=8, label="Prompt"),
gr.Slider(1, 512, value=128, step=1, label="Max Tokens"),
gr.Slider(0.0, 2.0, value=0.7, step=0.1, label="Temperature"),
],
outputs=gr.Textbox(lines=12, label="Response"),
title="Micro Tier LLM API",
)
if __name__ == "__main__":
demo.launch()