Spaces:
Runtime error
Runtime error
| import os | |
| import asyncio | |
| from fastapi import FastAPI, Request | |
| from fastapi.middleware.cors import CORSMiddleware | |
| import gradio as gr | |
| from openai import OpenAI | |
| # 1. إعداد الخادم والربط مع الواجهة الخارجية (Lovable) | |
| app = FastAPI() | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], # يسمح لـ Lovable بالوصول للـ API | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| # 2. إعداد محرك Ling-1T | |
| # تأكد من إضافة SILICONFLOW_API_KEY في Settings -> Secrets في Hugging Face | |
| client = OpenAI( | |
| api_key=os.environ.get("SILICONFLOW_API_KEY"), | |
| base_url="https://api.siliconflow.cn/v1" | |
| ) | |
| async def chat(request: Request): | |
| try: | |
| data = await request.json() | |
| user_message = data.get("message", "") | |
| # محاكاة لعملية التفكير والخطوات (يمكن تطويرها لربطها بـ AWorld حقيقياً) | |
| # هذا الهيكل هو ما سيحرك مكونات Lovable | |
| # طلب الرد من Ling-1T | |
| completion = client.chat.completions.create( | |
| model="inclusionAI/Ling-1T", | |
| messages=[ | |
| {"role": "system", "content": "أنت وكيل ذكاء اصطناعي متطور (Manus Clone). ردودك يجب أن تكون منظمة وتساعد في بناء التطبيقات."}, | |
| {"role": "user", "content": user_message} | |
| ] | |
| ) | |
| ai_response = completion.choices[0].message.content | |
| # بناء الرد المتعدد المكونات | |
| # ملاحظة: Lovable سيبحث عن هذه الحقول لتحديث الواجهة | |
| full_payload = { | |
| "reply": ai_response, | |
| "agent_status": "completed", | |
| "steps": [ | |
| {"id": 1, "text": "تحليل الطلب في دهليز يوسف", "status": "success"}, | |
| {"id": 2, "text": "استدعاء عقل Ling-1T", "status": "success"}, | |
| {"id": 3, "text": "توليد الاستجابة النهائية", "status": "success"} | |
| ], | |
| "code": "/* الكود المولد يظهر هنا إذا وجد */", | |
| "terminal_output": "Process finished with exit code 0" | |
| } | |
| return full_payload | |
| except Exception as e: | |
| return {"reply": f"حدث جليتش في النظام: {str(e)}", "agent_status": "error"} | |
| # 3. واجهة Gradio (تستخدم هنا كغطاء للمنفذ وللإدارة البسيطة) | |
| def admin_panel(text): | |
| return f"الخادم يعمل... آخر رسالة استقبلها: {text}" | |
| demo = gr.Interface( | |
| fn=admin_panel, | |
| inputs="text", | |
| outputs="text", | |
| title="AWorld Backend (Ling-1T)", | |
| description="هذه المساحة تعمل الآن كـ API لواجهة Lovable" | |
| ) | |
| # ربط FastAPI مع Gradio ليعملا على نفس المنفذ 7860 | |
| app = gr.mount_gradio_app(app, demo, path="/") | |
| if __name__ == "__main__": | |
| import uvicorn | |
| # التزام بالمنفذ 7860 لبيئة Hugging Face | |
| uvicorn.run(app, host="0.0.0.0", port=7860) | |