waleedmohd's picture
Update app.py
8bd3a9c verified
raw
history blame
2.13 kB
import gradio as gr
from huggingface_hub import InferenceClient
# Use Arabic-optimized model
client = InferenceClient("aubmindlab/aragpt2-base")
def respond(
message: str,
history: list[list[str]], # Updated format
system_message="أنت مساعد مفيد يتحدث العربية",
max_tokens=512,
temperature=0.7,
top_p=0.95,
):
# Force Arabic responses
prompt = f"باللغة العربية: {message}"
# Format history in messages format
messages = [{"role": "system", "content": system_message}]
for user_msg, bot_msg in history:
if user_msg:
messages.append({"role": "user", "content": user_msg})
if bot_msg:
messages.append({"role": "assistant", "content": bot_msg})
messages.append({"role": "user", "content": prompt})
# Generate Arabic response
response = ""
for chunk in client.text_generation(
prompt=prompt,
max_new_tokens=max_tokens,
stream=True,
temperature=temperature,
repetition_penalty=1.2,
):
response += chunk
yield response
# Mobile-optimized Arabic interface
demo = gr.ChatInterface(
respond,
additional_inputs=[
gr.Textbox(value="أنت مساعد عربي مفيد", label="الرسالة النظام"),
gr.Slider(minimum=1, maximum=512, value=256, label="الحد الأقصى للكلمات"),
gr.Slider(minimum=0.1, maximum=1.0, value=0.5, label="الابتكار"),
gr.Slider(minimum=0.1, maximum=1.0, value=0.9, label="الدقة"),
],
css="""
.gradio-container {direction: rtl;}
textarea {font-family: 'Amiri', serif;}
""",
examples=[
["ما هو أفضل حل للزراعة في السودان؟"], # Sudan example
["كيف يمكن تطوير الذكاء الاصطناعي في السعودية؟"] # KSA example
]
)
if __name__ == "__main__":
# Correct launch parameters
demo.launch(
share=True, # Enable shareable link
server_name="0.0.0.0", # Allow external access
server_port=7860 # Default Gradio port
)