Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
# app.py
|
| 2 |
-
# Pixel AI — Friendly Coding Teacher with Developer Mode
|
| 3 |
|
| 4 |
import gradio as gr
|
| 5 |
from huggingface_hub import InferenceClient
|
|
@@ -10,6 +10,7 @@ fun_mode = True
|
|
| 10 |
hidden_shy = True
|
| 11 |
dev_mode = False
|
| 12 |
code_written = False
|
|
|
|
| 13 |
|
| 14 |
# ---------------- Welcome message ----------------
|
| 15 |
initial_messages = [
|
|
@@ -26,16 +27,17 @@ def respond(
|
|
| 26 |
top_p,
|
| 27 |
hf_token: gr.OAuthToken,
|
| 28 |
):
|
| 29 |
-
global user_name, fun_mode, hidden_shy, dev_mode, code_written
|
| 30 |
client = InferenceClient(token=hf_token.token, model="openai/gpt-oss-20b")
|
| 31 |
|
| 32 |
-
# تفعيل Developer Mode بالكود
|
| 33 |
if message.strip() == "deV_mod":
|
| 34 |
if not code_written:
|
| 35 |
yield "⚠️ يجب كتابة كود أولاً قبل تفعيل Developer Mode!"
|
| 36 |
return
|
| 37 |
dev_mode = True
|
| 38 |
-
|
|
|
|
| 39 |
|
| 40 |
if not history:
|
| 41 |
history.extend(initial_messages)
|
|
@@ -122,16 +124,34 @@ You are Pixel, a happy, lively, and funny AI assistant.
|
|
| 122 |
user_name = name
|
| 123 |
|
| 124 |
# ---------------- Gradio Chat Interface ----------------
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 135 |
|
| 136 |
if __name__ == "__main__":
|
| 137 |
-
|
|
|
|
| 1 |
# app.py
|
| 2 |
+
# Pixel AI — Friendly Coding Teacher with Secret Developer Mode
|
| 3 |
|
| 4 |
import gradio as gr
|
| 5 |
from huggingface_hub import InferenceClient
|
|
|
|
| 10 |
hidden_shy = True
|
| 11 |
dev_mode = False
|
| 12 |
code_written = False
|
| 13 |
+
show_dev_button = False # يظهر فقط بعد كتابة deV_mod
|
| 14 |
|
| 15 |
# ---------------- Welcome message ----------------
|
| 16 |
initial_messages = [
|
|
|
|
| 27 |
top_p,
|
| 28 |
hf_token: gr.OAuthToken,
|
| 29 |
):
|
| 30 |
+
global user_name, fun_mode, hidden_shy, dev_mode, code_written, show_dev_button
|
| 31 |
client = InferenceClient(token=hf_token.token, model="openai/gpt-oss-20b")
|
| 32 |
|
| 33 |
+
# تفعيل Developer Mode بالكود السري
|
| 34 |
if message.strip() == "deV_mod":
|
| 35 |
if not code_written:
|
| 36 |
yield "⚠️ يجب كتابة كود أولاً قبل تفعيل Developer Mode!"
|
| 37 |
return
|
| 38 |
dev_mode = True
|
| 39 |
+
show_dev_button = True
|
| 40 |
+
yield "✅ Developer Mode مخفي تم تفعيله! الآن يمكنك تعديل الكود بالزر الجديد."
|
| 41 |
|
| 42 |
if not history:
|
| 43 |
history.extend(initial_messages)
|
|
|
|
| 124 |
user_name = name
|
| 125 |
|
| 126 |
# ---------------- Gradio Chat Interface ----------------
|
| 127 |
+
with gr.Blocks(title="Pixel AI — Friendly Coding Teacher") as demo:
|
| 128 |
+
chatbot = gr.ChatInterface(
|
| 129 |
+
respond,
|
| 130 |
+
type="messages",
|
| 131 |
+
additional_inputs=[
|
| 132 |
+
gr.Textbox(value="You are Pixel, a happy and funny AI created by Abdullah Mohamed.", label="System message"),
|
| 133 |
+
gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens"),
|
| 134 |
+
gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),
|
| 135 |
+
gr.Slider(minimum=0.1, maximum=1.0, value=0.95, step=0.05, label="Top-p (nucleus sampling)"),
|
| 136 |
+
],
|
| 137 |
+
)
|
| 138 |
+
|
| 139 |
+
# زر تعديل الكود يظهر فقط بعد كتابة deV_mod
|
| 140 |
+
dev_button = gr.Button("Developer Mode Edit", visible=False)
|
| 141 |
+
hidden_input = gr.Textbox(value="", visible=False)
|
| 142 |
+
|
| 143 |
+
def activate_dev_button():
|
| 144 |
+
return "__activate_dev_mode__"
|
| 145 |
+
|
| 146 |
+
# نربط ظهور الزر مع حالة show_dev_button
|
| 147 |
+
def check_show_button():
|
| 148 |
+
return show_dev_button
|
| 149 |
+
|
| 150 |
+
dev_button.click(fn=activate_dev_button, inputs=[], outputs=hidden_input)
|
| 151 |
+
hidden_input.submit(fn=lambda x: x, inputs=[hidden_input], outputs=[chatbot])
|
| 152 |
+
|
| 153 |
+
# تحديث ظهور الزر تلقائيًا
|
| 154 |
+
demo.load(fn=check_show_button, inputs=[], outputs=[dev_button], every=0.5)
|
| 155 |
|
| 156 |
if __name__ == "__main__":
|
| 157 |
+
demo.launch()
|