Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import spaces | |
| from llama_cpp import Llama | |
| import os | |
| from huggingface_hub import hf_hub_download | |
| MODEL_PATH = hf_hub_download( | |
| repo_id="im-lemon/tinychatbot-1b-v1.0", | |
| filename="tinychatbot-1b-epoch-1.Q4_K_M.gguf" | |
| ) | |
| llm = None | |
| def load_model(): | |
| global llm | |
| if llm is None: | |
| print("Loading model...") | |
| llm = Llama( | |
| model_path=MODEL_PATH, | |
| n_ctx=2048, | |
| n_gpu_layers=-1, | |
| verbose=True | |
| ) | |
| print("Model loaded!") | |
| return llm | |
| def chat(message, history): | |
| model = load_model() | |
| prompt = "" | |
| for user_msg, bot_msg in history: | |
| prompt += f"User: {user_msg}\nAssistant: {bot_msg}\n" | |
| prompt += f"User: {message}\nAssistant:" | |
| response = model( | |
| prompt, | |
| max_tokens=256, | |
| temperature=0.7, | |
| stop=["User:"] | |
| ) | |
| return response["choices"][0]["text"].strip() | |
| demo = gr.ChatInterface( | |
| fn=chat, | |
| title="tinychatbot-1b", | |
| description="tinychatbot running on llama.cpp + ZeroGPU", | |
| ) | |
| demo.launch() |