Coool2 commited on
Commit
2112ee7
·
verified ·
1 Parent(s): e71540b

Update agent.py

Browse files
Files changed (1) hide show
  1. agent.py +34 -21
agent.py CHANGED
@@ -400,6 +400,25 @@ code_agent = ReActAgent(
400
  can_handoff_to=["ResearchAgent", "AnalysisAgent"]
401
  )
402
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
403
  class EnhancedGAIAAgent:
404
  def __init__(self):
405
  print("Initializing Enhanced GAIA Agent...")
@@ -417,32 +436,26 @@ class EnhancedGAIAAgent:
417
  You are the main GAIA coordinator using ReAct reasoning methodology.
418
 
419
  Your process:
420
- 1. THINK: Analyze the GAIA question thoroughly
421
- - What type of information is needed?
422
- - Are there files to analyze?
423
- - Do I need research, analysis, or calculations?
424
-
425
- 2. ACT: Use your specialist agents IF RELEVANT
426
- - AnalysisAgent: ONLY for documents, images, files, or multimodal content
427
- - ResearchAgent: ONLY for web search, scientific papers, factual information
428
- - CodeAgent: ONLY for calculations, data processing, mathematical operations
429
-
430
- 3. OBSERVE: Review results from specialist agents
431
  4. THINK: Determine if you need more information or can provide final answer
432
- 5. ACT: Either use another agent or provide final precise answer
 
 
 
 
 
433
 
434
- IMPORTANT: Use agents strategically - only when their specific expertise is needed.
435
- For simple questions, you can answer directly without using any agents.
436
- Always provide EXACT, CONCISE answers as required by GAIA format.
 
 
437
  """,
438
  llm=text_llm,
439
- tools=[
440
- analysis_agent, # Agent spécialisé comme tool
441
- research_agent, # Agent spécialisé comme tool
442
- code_agent # Agent spécialisé comme tool
443
- ]
444
  )
445
- print("Coordinator agent initialized")
446
 
447
  def solve_gaia_question(self, question_data: Dict[str, Any]) -> str:
448
  question = question_data.get("Question", "")
 
400
  can_handoff_to=["ResearchAgent", "AnalysisAgent"]
401
  )
402
 
403
+ # Créer des outils à partir des agents
404
+ analysis_tool = FunctionTool.from_defaults(
405
+ fn=lambda query, files=None: analysis_agent.chat(query),
406
+ name="AnalysisAgent",
407
+ description="Advanced multimodal analysis using enhanced RAG"
408
+ )
409
+
410
+ research_tool = FunctionTool.from_defaults(
411
+ fn=lambda query: research_agent.chat(query),
412
+ name="ResearchAgent",
413
+ description="Research agent for scientific and general research"
414
+ )
415
+
416
+ code_tool = FunctionTool.from_defaults(
417
+ fn=lambda query: code_agent.chat(query),
418
+ name="CodeAgent",
419
+ description="Advanced calculations and data processing"
420
+ )
421
+
422
  class EnhancedGAIAAgent:
423
  def __init__(self):
424
  print("Initializing Enhanced GAIA Agent...")
 
436
  You are the main GAIA coordinator using ReAct reasoning methodology.
437
 
438
  Your process:
439
+ 1. THINK: Analyze the GAIA question thoroughly
440
+ 2. ACT: Use your specialist tools IF RELEVANT
441
+ 3. OBSERVE: Review results from specialist tools
 
 
 
 
 
 
 
 
442
  4. THINK: Determine if you need more information or can provide final answer
443
+ 5. ACT: Either use another tool or provide final precise answer
444
+ 6. FORMAT: Ensure answer is EXACT GAIA format (number only, word only, etc.)
445
+
446
+
447
+ IMPORTANT: Use tools strategically - only when their specific expertise is needed.
448
+ For simple questions, you can answer directly without using any tools.
449
 
450
+ CRITICAL: Your final answer must be EXACT and CONCISE as required by GAIA format:
451
+ - For numbers: provide only the number (e.g., "42" or "3.14")
452
+ - For strings: provide only the exact string (e.g., "Paris" or "Einstein")
453
+ - For lists: use comma separation (e.g., "apple, banana, orange")
454
+ - NO explanations, NO additional text, ONLY the precise answer
455
  """,
456
  llm=text_llm,
457
+ tools=[analysis_tool, research_tool, code_tool]
 
 
 
 
458
  )
 
459
 
460
  def solve_gaia_question(self, question_data: Dict[str, Any]) -> str:
461
  question = question_data.get("Question", "")