Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,75 +1 @@
|
|
| 1 |
-
|
| 2 |
-
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
|
| 3 |
-
import gradio as gr
|
| 4 |
-
|
| 5 |
-
# 🟢 اسم النموذج (Gemma 3 - 1B - IT)
|
| 6 |
-
model_name = "google/gemma-3-1b-it"
|
| 7 |
-
|
| 8 |
-
# تحميل التوكن من Secrets (ما تكتبوش في الكود باش ما يتفضحش)
|
| 9 |
-
tokenizer = AutoTokenizer.from_pretrained(model_name, use_auth_token=True)
|
| 10 |
-
model = AutoModelForCausalLM.from_pretrained(
|
| 11 |
-
model_name,
|
| 12 |
-
device_map="auto",
|
| 13 |
-
torch_dtype=torch.float16,
|
| 14 |
-
load_in_4bit=True,
|
| 15 |
-
use_auth_token=True
|
| 16 |
-
)
|
| 17 |
-
|
| 18 |
-
# 🟢 System Prompt: مطعم بيتزا
|
| 19 |
-
system_prompt = """
|
| 20 |
-
أنت مساعد افتراضي لمطعم بيتزا اسمه "Pizza AI".
|
| 21 |
-
معلومات المطعم:
|
| 22 |
-
- العنوان: وسط المدينة، شارع 10.
|
| 23 |
-
- ساعات العمل: كل يوم من 11 صباحاً حتى 11 مساءً.
|
| 24 |
-
- رقم الهاتف: 0550 123 456.
|
| 25 |
-
- طرق الدفع: نقداً أو عبر بريدي موب.
|
| 26 |
-
|
| 27 |
-
قائمة الأسعار:
|
| 28 |
-
- بيتزا مارجريتا: 800 دج
|
| 29 |
-
- بيتزا خضار: 950 دج
|
| 30 |
-
- بيتزا تونة: 1000 دج
|
| 31 |
-
- بيتزا أربع أجبان: 1200 دج
|
| 32 |
-
- مشروبات غازية: 150 دج
|
| 33 |
-
|
| 34 |
-
قواعد المساعد:
|
| 35 |
-
- أجب فقط عن الأسئلة المتعلقة بالمطعم والبيتزا.
|
| 36 |
-
- إذا سُئلت عن شيء آخر قل: "عذراً، أنا مساعد مطعم Pizza AI فقط".
|
| 37 |
-
- جاوب دائماً بالعربية الفصحى وبأسلوب ودود.
|
| 38 |
-
"""
|
| 39 |
-
|
| 40 |
-
# Pipeline
|
| 41 |
-
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
|
| 42 |
-
|
| 43 |
-
# دالة الرد
|
| 44 |
-
def chat(user_input, history):
|
| 45 |
-
prompt = system_prompt + "\n\n"
|
| 46 |
-
for usr, bot in history:
|
| 47 |
-
prompt += f"الزبون: {usr}\nالمساعد: {bot}\n"
|
| 48 |
-
prompt += f"الزبون: {user_input}\nالمساعد:"
|
| 49 |
-
|
| 50 |
-
outputs = pipe(
|
| 51 |
-
prompt,
|
| 52 |
-
max_new_tokens=200,
|
| 53 |
-
temperature=0.7,
|
| 54 |
-
top_p=0.9,
|
| 55 |
-
top_k=50
|
| 56 |
-
)
|
| 57 |
-
reply = outputs[0]["generated_text"].split("المساعد:")[-1].strip()
|
| 58 |
-
return reply
|
| 59 |
-
|
| 60 |
-
# واجهة Gradio
|
| 61 |
-
with gr.Blocks() as demo:
|
| 62 |
-
gr.Markdown("## 🤖🍕 مساعد مطعم Pizza AI")
|
| 63 |
-
chatbot = gr.Chatbot()
|
| 64 |
-
msg = gr.Textbox(label="اكتب سؤالك هنا")
|
| 65 |
-
clear = gr.Button("مسح المحادثة")
|
| 66 |
-
|
| 67 |
-
def respond(message, chat_history):
|
| 68 |
-
bot_reply = chat(message, chat_history)
|
| 69 |
-
chat_history.append((message, bot_reply))
|
| 70 |
-
return "", chat_history
|
| 71 |
-
|
| 72 |
-
msg.submit(respond, [msg, chatbot], [msg, chatbot])
|
| 73 |
-
clear.click(lambda: None, None, chatbot, queue=False)
|
| 74 |
-
|
| 75 |
-
demo.launch(server_name="0.0.0.0", server_port=7860)
|
|
|
|
| 1 |
+
curl -L -o gemma-3-1b-it-IQ4_NL.gguf "https://huggingface.co/unsloth/gemma-3-1b-it-GGUF/resolve/main/gemma-3-1b-it-IQ4_NL.gguf?download=true"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|