Spaces:
Runtime error
Runtime error
| import os | |
| import gradio as gr | |
| from llama_cpp import Llama | |
| from huggingface_hub import hf_hub_download | |
| # ========================= | |
| # LOAD MODEL | |
| # ========================= | |
| model_path = hf_hub_download( | |
| repo_id="Mikecode123/ALX", | |
| filename="qwen2-1_5b-instruct-q4_0.gguf", | |
| token=os.getenv("HF_TOKEN") | |
| ) | |
| llm = Llama( | |
| model_path=model_path, | |
| n_ctx=2048, | |
| n_threads=2 | |
| ) | |
| # ========================= | |
| # CHAT FUNCTION (FIXED) | |
| # ========================= | |
| def chat(message, history): | |
| # convert Gradio tuple history -> messages format | |
| messages = [] | |
| for user, bot in history: | |
| messages.append({"role": "user", "content": user}) | |
| messages.append({"role": "assistant", "content": bot}) | |
| messages.append({"role": "user", "content": message}) | |
| output = llm.create_chat_completion( | |
| messages=messages, | |
| max_tokens=300, | |
| temperature=0.7 | |
| ) | |
| reply = output["choices"][0]["message"]["content"] | |
| history.append((message, reply)) | |
| return history, history | |
| # ========================= | |
| # UI (FIXED GRADIO 4) | |
| # ========================= | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# 🧠 Living Legend AI Chat") | |
| chatbot = gr.Chatbot() | |
| msg = gr.Textbox() | |
| state = gr.State([]) | |
| def respond(message, history): | |
| new_history, updated_state = chat(message, history) | |
| return "", new_history, updated_state | |
| msg.submit(respond, [msg, state], [msg, chatbot, state]) | |
| demo.launch() |