FECUOY commited on
Commit
e650e29
·
verified ·
1 Parent(s): 54d1b31

Update agents_config.py

Browse files
Files changed (1) hide show
  1. agents_config.py +5 -95
agents_config.py CHANGED
@@ -1,120 +1,30 @@
1
  import autogen
2
 
3
- # تعريف معرفات النماذج كما طلبت
4
- # ملاحظة: تأكد من أن هذه النماذج متاحة ولديها Inference Endpoint نشط
5
  MODEL_MAP = {
6
  "Analyst": "Qwen/Qwen3-Next-80B-A3B-Instruct",
7
- "StyleGuardian": "inceptionai/Jais-2-70B-Chat",
8
  "Architect": "deepseek-ai/DeepSeek-V3.2-Exp",
9
  "DraftWriter": "deepcogito/cogito-v2-preview-llama-405B",
10
  "Humanizer": "deepcogito/cogito-671b-v2.1",
11
  "ContinuityGuard": "meta-llama/Llama-3.3-70B-Instruct",
12
  "Psychologist": "zai-org/GLM-4.7-FP8",
13
  "Critic": "Qwen/Qwen3-235B-A22B-Thinking-2507",
14
- "Editor": "inclusionAI/Ling-1T"
15
  }
16
 
17
  def get_llm_config(model_id, user_token):
18
- """
19
- إنشاء إعدادات النموذج لربطه بـ HF Inference API باستخدام توكن المستخدم
20
- """
21
  return {
22
  "config_list": [
23
  {
24
  "model": model_id,
25
  "api_key": user_token,
26
- # نستخدم نقطة النهاية المتوافقة مع OpenAI في Hugging Face
27
  "base_url": f"https://api-inference.huggingface.co/models/{model_id}/v1",
28
  "api_type": "openai",
29
  }
30
  ],
31
  "temperature": 0.7,
32
- "timeout": 120,
33
  }
34
 
35
- def create_agents(user_token):
36
- """
37
- إنشاء جميع الوكلاء وتجهيزهم للعمل
38
- """
39
-
40
- # 1. القارئ الصامت / Analyst
41
- analyst = autogen.AssistantAgent(
42
- name="Analyst",
43
- system_message="أنت 'القارئ الصامت'. مهمتك تحليل النص الأصلي بدقة، استخراج سياق الرواية، الشخصيات، والأحداث السابقة. لا تكتب أحداثاً جديدة، فقط حلل ما هو موجود.",
44
- llm_config=get_llm_config(MODEL_MAP["Analyst"], user_token)
45
- )
46
-
47
- # 2. حارس الصوت / Style Guardian
48
- style_guardian = autogen.AssistantAgent(
49
- name="Style_Guardian",
50
- system_message="أنت 'حارس الصوت'. مهمتك الحفاظ على أسلوب الكاتب الأصلي. تأكد من أن أي نص جديد يطابق النغمة، المفردات، والإيقاع للنص الأصلي.",
51
- llm_config=get_llm_config(MODEL_MAP["StyleGuardian"], user_token)
52
- )
53
-
54
- # 3. المهندس السردي / Completion Architect
55
- architect = autogen.AssistantAgent(
56
- name="Architect",
57
- system_message="أنت 'المهندس السردي'. بناءً على التحليل، اقترح مسارات للحبكة وخطوات القصة القادمة. أنت تخطط ولا تكتب النص الكامل.",
58
- llm_config=get_llm_config(MODEL_MAP["Architect"], user_token)
59
- )
60
-
61
- # 4. كاتب الإكمال / Draft Writer
62
- draft_writer = autogen.AssistantAgent(
63
- name="Draft_Writer",
64
- system_message="أنت 'كاتب الإكمال'. مهمتك كتابة الأجزاء المفقودة أو الفصول القادمة بناءً على مخطط المهندس وتوجيهات حارس الأسلوب.",
65
- llm_config=get_llm_config(MODEL_MAP["DraftWriter"], user_token)
66
- )
67
-
68
- # 5. مُضفِي الطابع البشري / Humanizer
69
- humanizer = autogen.AssistantAgent(
70
- name="Humanizer",
71
- system_message="أنت 'مُضفِي الطابع البشري'. أضف الروح للنص، اجعل الحوارات طبيعية، وعمق المشاعر. اجعل النص ينبض بالحياة.",
72
- llm_config=get_llm_config(MODEL_MAP["Humanizer"], user_token)
73
- )
74
-
75
- # 6. حارس الاستمرارية / Continuity Guard
76
- continuity_guard = autogen.AssistantAgent(
77
- name="Continuity_Guard",
78
- system_message="أنت 'حارس الاستمرارية'. راجع النص للتأكد من عدم وجود تناقضات زمنية أو مكانية مع الأحداث السابقة.",
79
- llm_config=get_llm_config(MODEL_MAP["ContinuityGuard"], user_token)
80
- )
81
-
82
- # 7. المدقق النفسي / Psychologist
83
- psychologist = autogen.AssistantAgent(
84
- name="Psychologist",
85
- system_message="أنت 'المدقق النفسي'. حلل تصرفات الشخصيات. هل هي منطقية نفسياً؟ هل دوافعهم واضحة؟ اقترح تعديلات للسلوك.",
86
- llm_config=get_llm_config(MODEL_MAP["Psychologist"], user_token)
87
- )
88
-
89
- # 8. الناقد القاسي / Ruthless Critic
90
- critic = autogen.AssistantAgent(
91
- name="Critic",
92
- system_message="أنت 'الناقد القاسي'. لا تجامل. انقد المسودة النهائية، حدد نقاط الضعف في الحبكة أو اللغة واطلب تحسينها.",
93
- llm_config=get_llm_config(MODEL_MAP["Critic"], user_token)
94
- )
95
-
96
- # 9. Editor-in-Chief (النموذج المركزي)
97
- # هو المدير الذي يدير الحوار بين الجميع
98
- editor = autogen.UserProxyAgent(
99
- name="Editor_in_Chief",
100
- human_input_mode="NEVER",
101
- max_consecutive_auto_reply=10,
102
- code_execution_config=False,
103
- system_message="أنت رئيس التحرير. دورك تنسيق العمل بين الوكلاء. ابدأ بطلب التحليل، ثم التخطيط، ثم الكتابة، ثم المراجعة. أصدر الحكم النهائي وادمج النص.",
104
- # ملاحظة: في AutoGen، الـ UserProxy عادة لا يحتاج LLM إلا إذا أردناه أن يتصرف كمدير ذكي
105
- # هنا سنعطيه قوة النموذج ليكون ذكياً في الإدارة
106
- llm_config=get_llm_config(MODEL_MAP["Editor"], user_token)
107
- )
108
-
109
- return {
110
- "analyst": analyst,
111
- "style_guardian": style_guardian,
112
- "architect": architect,
113
- "draft_writer": draft_writer,
114
- "humanizer": humanizer,
115
- "continuity_guard": continuity_guard,
116
- "psychologist": psychologist,
117
- "critic": critic,
118
- "editor": editor
119
- }
120
-
 
1
  import autogen
2
 
3
+ # القائمة المحدثة بالأسماء الدقيقة التي طلبتها
 
4
  MODEL_MAP = {
5
  "Analyst": "Qwen/Qwen3-Next-80B-A3B-Instruct",
6
+ "StyleGuardian": "openai/gpt-oss-120b", # تم التغيير هنا
7
  "Architect": "deepseek-ai/DeepSeek-V3.2-Exp",
8
  "DraftWriter": "deepcogito/cogito-v2-preview-llama-405B",
9
  "Humanizer": "deepcogito/cogito-671b-v2.1",
10
  "ContinuityGuard": "meta-llama/Llama-3.3-70B-Instruct",
11
  "Psychologist": "zai-org/GLM-4.7-FP8",
12
  "Critic": "Qwen/Qwen3-235B-A22B-Thinking-2507",
13
+ "Editor": "InclusionAI/Ling-1T" # تم التغيير هنا (I كبيرة)
14
  }
15
 
16
  def get_llm_config(model_id, user_token):
 
 
 
17
  return {
18
  "config_list": [
19
  {
20
  "model": model_id,
21
  "api_key": user_token,
 
22
  "base_url": f"https://api-inference.huggingface.co/models/{model_id}/v1",
23
  "api_type": "openai",
24
  }
25
  ],
26
  "temperature": 0.7,
27
+ "timeout": 300, # زيادة المهلة للنماذج الضخمة
28
  }
29
 
30
+ # (بقية الكود الخاص بـ create_agents كما هو في الرد السابق)