Spaces:
Sleeping
Sleeping
| import autogen | |
| # القائمة المحدثة بالنماذج مع لاحقة featherless-ai | |
| MODEL_MAP = { | |
| "Analyst": "Qwen/Qwen3-Next-80B-A3B-Instruct:featherless-ai", | |
| "StyleGuardian": "openai/gpt-oss-120b:featherless-ai", | |
| "Architect": "deepseek-ai/DeepSeek-V3.2-Exp:featherless-ai", | |
| "DraftWriter": "deepcogito/cogito-v2-preview-llama-405B:featherless-ai", | |
| "Humanizer": "deepcogito/cogito-671b-v2.1:featherless-ai", | |
| "ContinuityGuard": "meta-llama/Llama-3.3-70B-Instruct:featherless-ai", | |
| "Psychologist": "zai-org/GLM-4.7-FP8:featherless-ai", | |
| "Critic": "Qwen/Qwen3-235B-A22B-Thinking-2507:featherless-ai", | |
| "Editor": "inclusionAI/Ling-1T:featherless-ai" | |
| } | |
| def get_llm_config(model_id, user_token): | |
| """ | |
| تطبيق منطق الاستدعاء الذي قدمته على جميع النماذج | |
| """ | |
| return { | |
| "config_list": [ | |
| { | |
| "model": model_id, | |
| "api_key": user_token, | |
| "base_url": "https://router.huggingface.co/v1", | |
| "api_type": "openai", | |
| } | |
| ], | |
| "temperature": 0.7, | |
| "cache_seed": None, | |
| } | |
| def create_agents(user_token): | |
| # 1. وكيل التحليل | |
| analyst = autogen.AssistantAgent( | |
| name="Analyst", | |
| system_message="أنت المحلل. قم بتفكيك النص المرفوع واستخراج الشخصيات والدوافع والبيئة الزمانية والمكانية.", | |
| llm_config=get_llm_config(MODEL_MAP["Analyst"], user_token) | |
| ) | |
| # 2. وكيل الأسلوب | |
| style_guardian = autogen.AssistantAgent( | |
| name="Style_Guardian", | |
| system_message="أنت حارس الأسلوب. حلل نبرة الكاتب في الملف المرفوع وتأكد أن الإكمال يتبع نفس الإيقاع اللغوي.", | |
| llm_config=get_llm_config(MODEL_MAP["StyleGuardian"], user_token) | |
| ) | |
| # 3. المهندس السردي | |
| architect = autogen.AssistantAgent( | |
| name="Architect", | |
| system_message="أنت المهندس السردي. اقترح هيكل الأحداث للفصل القادم بناءً على التحليل.", | |
| llm_config=get_llm_config(MODEL_MAP["Architect"], user_token) | |
| ) | |
| # 4. كاتب المسودة | |
| draft_writer = autogen.AssistantAgent( | |
| name="Draft_Writer", | |
| system_message="أنت كاتب المسودة. قم بكتابة الأحداث بناءً على خطة المهندس ومعايير حارس الأسلوب.", | |
| llm_config=get_llm_config(MODEL_MAP["DraftWriter"], user_token) | |
| ) | |
| # 5. وكيل الأنسنة | |
| humanizer = autogen.AssistantAgent( | |
| name="Humanizer", | |
| system_message="أنت وكيل الأنسنة. أضف تفاصيل حسية، مشاعر عميقة، وحوارات واقعية تجعل النص ينبض بالحياة.", | |
| llm_config=get_llm_config(MODEL_MAP["Humanizer"], user_token) | |
| ) | |
| # 6. حارس الاستمرارية | |
| continuity_guard = autogen.AssistantAgent( | |
| name="Continuity_Guard", | |
| system_message="أنت حارس الاستمرارية. تأكد من عدم وجود تناقضات مع الأحداث الواردة في الملف الأصلي.", | |
| llm_config=get_llm_config(MODEL_MAP["ContinuityGuard"], user_token) | |
| ) | |
| # 7. الأخصائي النفسي | |
| psychologist = autogen.AssistantAgent( | |
| name="Psychologist", | |
| system_message="أنت الأخصائي النفسي. تأكد من أن تصرفات الشخصيات في الإكمال تتوافق مع تركيبتهم النفسية.", | |
| llm_config=get_llm_config(MODEL_MAP["Psychologist"], user_token) | |
| ) | |
| # 8. الناقد | |
| critic = autogen.AssistantAgent( | |
| name="Critic", | |
| system_message="أنت الناقد. راجع المخرج النهائي بصرامة واقترح تعديلات لتحسين الجودة الأدبية.", | |
| llm_config=get_llm_config(MODEL_MAP["Critic"], user_token) | |
| ) | |
| # 9. رئيس التحرير (InclusionAI/Ling-1T) - المسؤول عن التنظيم والمخرجات | |
| editor = autogen.UserProxyAgent( | |
| name="Editor_In_Chief", | |
| human_input_mode="ALWAYS", # جعلناه يتحكم في تدفق العمل | |
| max_consecutive_auto_reply=15, | |
| code_execution_config=False, | |
| llm_config=get_llm_config(MODEL_MAP["Editor"], user_token), | |
| system_message="""أنت رئيس التحرير (Ling-1T). وظيفتك هي: | |
| 1. استلام النص من الملف المرفوع وتوزيعه على الوكلاء. | |
| 2. جمع المخرجات وصهرها في 'مخطوطة نهائية' منظمة. | |
| 3. يجب أن يكون مخرجك النهائي منسقاً كالتالي: [العنوان] -> [رقم الفصل] -> [المحتوى الروائي]. | |
| أنت المسؤول عن الجودة النهائية للملف الذي سيتم تحميله.""" | |
| ) | |
| return { | |
| "analyst": analyst, | |
| "style_guardian": style_guardian, | |
| "architect": architect, | |
| "draft_writer": draft_writer, | |
| "humanizer": humanizer, | |
| "continuity_guard": continuity_guard, | |
| "psychologist": psychologist, | |
| "critic": critic, | |
| "editor": editor | |
| } | |