Spaces:
Running on Zero
Running on Zero
| import gradio as gr | |
| import torch | |
| import spaces | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| REPO = "prathamkode/particle-1.0" | |
| tok = AutoTokenizer.from_pretrained(REPO) | |
| model = AutoModelForCausalLM.from_pretrained( | |
| REPO, | |
| torch_dtype=torch.float32, | |
| device_map="cpu", | |
| ) | |
| model.eval() | |
| def _zero_gpu_placeholder(): | |
| return None | |
| def chat(message, history): | |
| messages = [{"role": m["role"], "content": m["content"]} for m in history] | |
| messages.append({"role": "user", "content": message}) | |
| prompt = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) | |
| ids = tok(prompt, return_tensors="pt") | |
| ids.pop("token_type_ids", None) | |
| out = model.generate( | |
| **ids, | |
| max_new_tokens=64, | |
| do_sample=True, | |
| temperature=0.7, | |
| top_k=50, | |
| pad_token_id=tok.pad_token_id, | |
| eos_token_id=tok.eos_token_id, | |
| ) | |
| text = tok.decode(out[0], skip_special_tokens=False) | |
| if "<|assistant|>" in text: | |
| text = text.split("<|assistant|>")[-1] | |
| return text.replace("<|endoftext|>", "").replace("<|padding|>", "").strip() | |
| demo = gr.ChatInterface(chat, title="particle-1.0") | |
| if __name__ == "__main__": | |
| demo.launch(ssr_mode=False) |