Download app.py from Mr-profik/Profik-AI: direct link, hf CLI and curl.
- Browser
- Download file 1.14 kB
-
https://huggingface.co/spaces/Mr-profik/Profik-AI/resolve/main/app.py
- Command line
-
hf download hf://spaces/Mr-profik/Profik-AI/app.py
-
curl -L -o app.py https://huggingface.co/spaces/Mr-profik/Profik-AI/resolve/main/app.py
1.14 kB
| import spaces | |
| import torch | |
| import gradio as gr | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| MODEL = "Qwen/Qwen2.5-7B-Instruct" | |
| SYSTEM = "Тебя зовут Profik AI. Ты помощник, отвечаешь на русском языке, понятно и по делу." | |
| tok = AutoTokenizer.from_pretrained(MODEL) | |
| model = AutoModelForCausalLM.from_pretrained(MODEL, dtype=torch.bfloat16) | |
| model.to | |
| ("cuda") | |
| def txt(c): return c if isinstance(c, str) else "".join(p.get("text", "") for p in c if isinstance(p, dict)) | |
| def build(message, history): return [{"role": "system", "content": SYSTEM}] + [{"role": m["role"], "content": txt(m["content"])} for m in history] + [{"role": "user", "content": txt(message)}] | |
| def chat(message, history): text = tok.apply_chat_template(build(message, history), tokenize=False, add_generation_prompt=True); ids = tok(text, return_tensors="pt").input_ids.to("cuda"); out = model.generate(ids, max_new_tokens=512, do_sample=True, temperature=0.7); return tok.decode(out[0][ids.shape[1]:].cpu(), skip_special_tokens=True) | |
| gr.ChatInterface(chat, title="Profik AI").launch() |