zoa-llm-api / app.py
osmankoc's picture
fix messages
6f3a481
import spaces
import gradio as gr
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
MODEL_NAME = "osmankoc/llama-2-7b-zoa"
# Model ve tokenizer'ı önceden yükle
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModelForCausalLM.from_pretrained(
MODEL_NAME, torch_dtype=torch.float16, device_map="auto"
)
# ZeroGPU için model GPU'ya sadece gerektiğinde yüklenecek
@spaces.GPU
def generate(prompt):
messages = "You are HTML Web Developer. Generate HTML code using Tailwind CSS framework and Shadcn UI components. Add HTML tags to the code. Don't forget to use the correct classes. Don't write inline styles and descriptions. Here user's prompt: " + prompt
# messages = [
# {"role": "system", "content": "You are HTML Web Developer. enerate HTML code using Tailwind CSS framework and Shadcn UI components. Add HTML tags to the code. Don't forget to use the correct classes. Don't write inline styles and descriptions."},
# {"role": "user", "content": prompt}
# ]
# text = tokenizer.apply_chat_template(
# messages,
# tokenize=False,
# add_generation_prompt=True
# )
inputs = tokenizer(messages, return_tensors="pt").to("cuda")
output = model.generate(**inputs, max_length=2500)
response = tokenizer.decode(output[0], skip_special_tokens=True)
# model_inputs = tokenizer([text], return_tensors="pt").to("cuda")
# generated_ids = model.generate(
# **model_inputs,
# max_new_tokens=512
# )
# generated_ids = [
# output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
# ]
# response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
return response
# Gradio UI (Basit bir API arayüzü gibi çalışacak)
demo = gr.Interface(
fn=generate,
inputs=gr.Textbox(placeholder="Enter prompt..."),
outputs=gr.Textbox(),
)
demo.launch()