| import autogen |
|
|
| |
| MODEL_MAP = { |
| "Analyst": "Qwen/Qwen3-Next-80B-A3B-Instruct", |
| "StyleGuardian": "openai/gpt-oss-120b", |
| "Architect": "deepseek-ai/DeepSeek-V3.2-Exp", |
| "DraftWriter": "deepcogito/cogito-v2-preview-llama-405B", |
| "Humanizer": "deepcogito/cogito-671b-v2.1", |
| "ContinuityGuard": "meta-llama/Llama-3.3-70B-Instruct", |
| "Psychologist": "zai-org/GLM-4.7-FP8", |
| "Critic": "Qwen/Qwen3-235B-A22B-Thinking-2507", |
| "Editor": "inclusionAI/Ling-1T" |
| } |
|
|
| 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): |
| |
| def create_asst(name, msg, model_key): |
| return autogen.AssistantAgent( |
| name=name, |
| system_message=msg, |
| llm_config=get_llm_config(MODEL_MAP[model_key], user_token) |
| ) |
|
|
| agents = { |
| "analyst": create_asst("Analyst", "أنت المحلل البنيوي للنص.", "Analyst"), |
| "style_guardian": create_asst("Style_Guardian", "أنت حارس الأسلوب الأدبي.", "StyleGuardian"), |
| "architect": create_asst("Architect", "أنت مهندس الحبكة السردية.", "Architect"), |
| "draft_writer": create_asst("Draft_Writer", "أنت كاتب المسودة الأولية.", "DraftWriter"), |
| "humanizer": create_asst("Humanizer", "أنت خبير الأنسنة والتفاصيل الحسية.", "Humanizer"), |
| "continuity_guard": create_asst("Continuity_Guard", "أنت مراقب الاستمرارية ومنطق الأحداث.", "ContinuityGuard"), |
| "psychologist": create_asst("Psychologist", "أنت محلل الدوافع النفسية للشخصيات.", "Psychologist"), |
| "critic": create_asst("Critic", "أنت الناقد الأدبي الصارم.", "Critic"), |
| } |
|
|
| |
| agents["editor"] = autogen.UserProxyAgent( |
| name="Editor_In_Chief", |
| human_input_mode="NEVER", |
| max_consecutive_auto_reply=15, |
| code_execution_config=False, |
| llm_config=get_llm_config(MODEL_MAP["Editor"], user_token), |
| system_message="أنت رئيس التحرير المسؤول عن دمج كل مساهمات الوكلاء في نص روائي واحد متكامل." |
| ) |
|
|
| return agents |
|
|