import os import gradio as gr from fastapi import FastAPI, Request, File, UploadFile from fastapi.responses import StreamingResponse, HTMLResponse from openai import OpenAI app = FastAPI() # واجهة المستخدم (HTML/React) - متجاوبة تماماً للهواتف HTML_UI = """ Neural Vault
""" @app.get("/") async def ui(): return HTMLResponse(HTML_UI) @app.post("/v1/chat/completions") async def chat_api(request: Request): body = await request.json() # استخدام توكن النظام كاحتياطي أو توكن المستخدم إذا توفر api_key = os.getenv("HF_TOKEN") client = OpenAI( base_url="https://router.huggingface.co/hf-inference/v1", api_key=api_key ) def stream_gen(): resp = client.chat.completions.create( model="huihui-ai/Mistral-Small-24B-Instruct-2501-abliterated", messages=body.get("messages", []), stream=True ) for chunk in resp: if chunk.choices[0].delta.content: yield f"data: {chunk.choices[0].delta.content}\n\n" yield "data: [DONE]\n\n" return StreamingResponse(stream_gen(), media_type="text/event-stream") # إعداد واجهة Gradio كمدخل with gr.Blocks() as auth_interface: gr.Markdown("# مرحبا بك في الدهليز") # زر الدخول المذكور في ملفك gr.LoginButton("الدخول عبر Hugging Face") app = gr.mount_gradio_app(app, auth_interface, path="/auth") if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=7860)