Artaccann commited on
Commit
59a586a
·
verified ·
1 Parent(s): a0fd5d7

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -0
app.py ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import torch
3
+ from transformers import AutoTokenizer, AutoModelForCausalLM
4
+ from peft import PeftModel
5
+ import gradio as gr
6
+
7
+ # Základní model (3B varianta LLaMA 3.2)
8
+ base_model_name = "unsloth/Llama-3.2-3B"
9
+ tokenizer = AutoTokenizer.from_pretrained(base_model_name)
10
+ model = AutoModelForCausalLM.from_pretrained(
11
+ base_model_name,
12
+ device_map="auto", # důležité pro GPU
13
+ torch_dtype=torch.float16, # nebo bfloat16, pokud máš A100
14
+ )
15
+
16
+ # Načtení LoRA adaptéru
17
+ lora_model_path = "Artaccann/OSOL_backend" # <- správně s malým "b", repozitář Hugging Face je case-sensitive!
18
+ model = PeftModel.from_pretrained(
19
+ model,
20
+ lora_model_path,
21
+ device_map="auto",
22
+ torch_dtype=torch.float16,
23
+ )
24
+
25
+ model.eval() # vypne trénovací režim
26
+
27
+ # Jednoduchá funkce pro odpověď
28
+ def chat(user_input):
29
+ prompt = f"{user_input}"
30
+ inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
31
+ with torch.no_grad():
32
+ outputs = model.generate(**inputs, max_new_tokens=250)
33
+ response = tokenizer.decode(outputs[0], skip_special_tokens=True)
34
+ return response
35
+
36
+ # UI rozhraní
37
+ gr.Interface(
38
+ fn=chat,
39
+ inputs="text",
40
+ outputs="text",
41
+ title="OSOL AI Chatbot",
42
+ description="Mluvíš s postavou z OSOL, která používá LoRA přizpůsobenou pro tento projekt."
43
+ )