OSOL_LoRA-Chat / app.py
Artaccann's picture
Create app.py
59a586a verified
import os
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import gradio as gr
# Základní model (3B varianta LLaMA 3.2)
base_model_name = "unsloth/Llama-3.2-3B"
tokenizer = AutoTokenizer.from_pretrained(base_model_name)
model = AutoModelForCausalLM.from_pretrained(
base_model_name,
device_map="auto", # důležité pro GPU
torch_dtype=torch.float16, # nebo bfloat16, pokud máš A100
)
# Načtení LoRA adaptéru
lora_model_path = "Artaccann/OSOL_backend" # <- správně s malým "b", repozitář Hugging Face je case-sensitive!
model = PeftModel.from_pretrained(
model,
lora_model_path,
device_map="auto",
torch_dtype=torch.float16,
)
model.eval() # vypne trénovací režim
# Jednoduchá funkce pro odpověď
def chat(user_input):
prompt = f"{user_input}"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(**inputs, max_new_tokens=250)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
return response
# UI rozhraní
gr.Interface(
fn=chat,
inputs="text",
outputs="text",
title="OSOL AI Chatbot",
description="Mluvíš s postavou z OSOL, která používá LoRA přizpůsobenou pro tento projekt."
)