Spaces:
Sleeping
Sleeping
Delete app.py
Browse files
app.py
DELETED
|
@@ -1,92 +0,0 @@
|
|
| 1 |
-
import gradio as gr
|
| 2 |
-
from PIL import Image
|
| 3 |
-
import os
|
| 4 |
-
|
| 5 |
-
# Try to load transformers chat model; fallback if unavailable
|
| 6 |
-
try:
|
| 7 |
-
chat_pipeline = None
|
| 8 |
-
|
| 9 |
-
except Exception:
|
| 10 |
-
chat_pipeline = None
|
| 11 |
-
|
| 12 |
-
SAFEAD_IFRAME = "https://huggingface.co/spaces/Gulzhanatali/SafeAd_AI"
|
| 13 |
-
|
| 14 |
-
TEXT = {
|
| 15 |
-
"kz": {
|
| 16 |
-
"title": "SafeAd_AI — Қауіпсіз жарнама",
|
| 17 |
-
"info": "Бұл бөлім SafeAd_AI жобасының ақпараттық парағы. Мұнда интернеттегі қауіпті жарнамалар және қауіпсіздік жөнінде қысқаша мәлімет бар.",
|
| 18 |
-
"check_title": "Жарнаманы тексеру",
|
| 19 |
-
"chat_title": "Чат-бот",
|
| 20 |
-
"iframe_note": "Төменде сіздің SafeAd_AI тексеру құралын көресіз (басқа Space):",
|
| 21 |
-
"open_ext": "Тікелей ашу"
|
| 22 |
-
},
|
| 23 |
-
"en": {
|
| 24 |
-
"title": "SafeAd_AI — Safe Advertising",
|
| 25 |
-
"info": "This section contains information about the SafeAd_AI project and internet advertising safety.",
|
| 26 |
-
"check_title": "Ad checking tool",
|
| 27 |
-
"chat_title": "Chat-bot",
|
| 28 |
-
"iframe_note": "Below you can see the SafeAd_AI checking tool (another Space):",
|
| 29 |
-
"open_ext": "Open externally"
|
| 30 |
-
}
|
| 31 |
-
}
|
| 32 |
-
|
| 33 |
-
def get_lang_text(lang_code):
|
| 34 |
-
return TEXT.get(lang_code, TEXT["kz"])
|
| 35 |
-
|
| 36 |
-
def chat_reply(message, history, lang):
|
| 37 |
-
if chat_pipeline is not None:
|
| 38 |
-
try:
|
| 39 |
-
out = chat_pipeline(message, max_length=100, num_return_sequences=1)
|
| 40 |
-
reply = out[0].get("generated_text", out[0].get("text", str(out[0])))
|
| 41 |
-
except Exception as e:
|
| 42 |
-
reply = "Chat model error: " + str(e)
|
| 43 |
-
else:
|
| 44 |
-
if lang == "kz":
|
| 45 |
-
reply = ("Сәлем! Бұл чат-бот жарнамалар мен интернет қауіпсіздігі туралы сұрақтарға қысқаша жауап береді. "
|
| 46 |
-
"Сұрағыңызды нақты қойыңыз — мысалы, «Бұл жарнама қауіпті ме?»")
|
| 47 |
-
else:
|
| 48 |
-
reply = ("Hi! This chatbot gives short answers about ads and internet safety. "
|
| 49 |
-
"Ask a clear question like: 'Is this ad dangerous?'")
|
| 50 |
-
history = history or []
|
| 51 |
-
history.append((message, reply))
|
| 52 |
-
return history, ""
|
| 53 |
-
|
| 54 |
-
with gr.Blocks() as demo:
|
| 55 |
-
lang = gr.Radio(["kz", "en"], value="kz", label="Тіл / Language")
|
| 56 |
-
|
| 57 |
-
title_kz = gr.Markdown(get_lang_text("kz")["title"])
|
| 58 |
-
title_en = gr.Markdown(get_lang_text("en")["title"], visible=False)
|
| 59 |
-
|
| 60 |
-
def switch_lang(choice):
|
| 61 |
-
if choice == "kz":
|
| 62 |
-
title_kz.visible = True
|
| 63 |
-
title_en.visible = False
|
| 64 |
-
else:
|
| 65 |
-
title_kz.visible = False
|
| 66 |
-
title_en.visible = True
|
| 67 |
-
return None
|
| 68 |
-
|
| 69 |
-
lang.change(fn=switch_lang, inputs=lang, outputs=[])
|
| 70 |
-
|
| 71 |
-
with gr.Tabs():
|
| 72 |
-
with gr.TabItem("ℹ️ Info / Ақпарат"):
|
| 73 |
-
gr.Markdown("### " + get_lang_text("kz")["info"])
|
| 74 |
-
gr.Markdown("### " + get_lang_text("en")["info"])
|
| 75 |
-
gr.Markdown("- Автор: Арман Аслан, 11-сынып")
|
| 76 |
-
gr.Markdown("- Ғылыми жетекші: Әли Гүлжанат")
|
| 77 |
-
gr.Markdown("- Жоба: SafeAd_AI")
|
| 78 |
-
with gr.TabItem("🔍 Check / Тексеру"):
|
| 79 |
-
gr.Markdown(get_lang_text("kz")["iframe_note"])
|
| 80 |
-
iframe_html = f"<iframe src='{SAFEAD_IFRAME}' style='width:100%;height:700px;border:1px solid #ddd'/>"
|
| 81 |
-
gr.HTML(iframe_html)
|
| 82 |
-
gr.Markdown(f"[{get_lang_text('kz')['open_ext']}]({SAFEAD_IFRAME})")
|
| 83 |
-
with gr.TabItem("💬 Chat / Чат-бот"):
|
| 84 |
-
chat_history = gr.Chatbot()
|
| 85 |
-
msg = gr.Textbox(label="Сұрақ / Question")
|
| 86 |
-
send_btn = gr.Button("Жіберу / Send")
|
| 87 |
-
def on_send(message, history, selected_lang):
|
| 88 |
-
return chat_reply(message, history, selected_lang)
|
| 89 |
-
send_btn.click(fn=on_send, inputs=[msg, chat_history, lang], outputs=[chat_history, msg])
|
| 90 |
-
|
| 91 |
-
if __name__ == "__main__":
|
| 92 |
-
demo.launch()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|