FD900 commited on
Commit
1c4cf5d
·
verified ·
1 Parent(s): 30ae186

Update agent.py

Browse files
Files changed (1) hide show
  1. agent.py +22 -42
agent.py CHANGED
@@ -1,49 +1,29 @@
 
1
  import json
2
- from pathlib import Path
3
- from smolagents import Agent
4
- from smolagents.core.task import Task
5
- from mistral_hf_wrapper import HuggingFaceModel
6
 
7
- # Import tools
8
- from tools import (
9
- chess_tools,
10
- classifier_tool,
11
- content_retriever_tool,
12
- get_attachments_tool,
13
- google_search_tools,
14
- speech_recognition_tool,
15
- youtube_video_tool,
16
- )
17
 
18
- # Load GAIA task list from metadata.jsonl
19
- def load_tasks(path: str = "metadata.jsonl") -> list[Task]:
20
- with open(path, "r", encoding="utf-8") as f:
21
- return [Task(**json.loads(line)) for line in f]
22
 
23
- # Configure Mistral Inference Endpoint wrapper
24
- model = HuggingFaceModel(
25
- endpoint_url="https://api-inference.huggingface.co/models/mistralai/Mistral-7B-Instruct-v0.1"
26
- )
27
 
28
- # List of tool instances
29
- tools = [
30
- chess_tools.ImageToChessBoardFENTool(),
31
- classifier_tool.ClassifierTool(),
32
- content_retriever_tool.ContentRetrieverTool(),
33
- get_attachments_tool.GetAttachmentTool(),
34
- google_search_tools.GoogleSearchTool(),
35
- google_search_tools.GoogleSiteSearchTool(),
36
- speech_recognition_tool.SpeechRecognitionTool(),
37
- youtube_video_tool.YouTubeVideoTool(),
38
- ]
39
 
40
- # Build the agent
41
- agent = Agent(
42
- model=model,
43
- tools=tools,
44
- system_message="You are a helpful AI agent solving GAIA benchmark tasks. Only return the answer, no extra explanation."
45
- )
46
 
47
- # Core solve function
48
- def solve_task(task: Task) -> str:
49
- return agent.run(task.question, task_id=task.task_id)
 
 
 
1
+ import os
2
  import json
 
 
 
 
3
 
4
+ from tools import TOOLS
5
+ from metadata import load_metadata
6
+ from mistral_inference import query_mistral
 
 
 
 
 
 
 
7
 
8
+ API_URL = os.getenv("HF_MISTRAL_URL")
9
+ API_TOKEN = os.getenv("HF_TOKEN")
 
 
10
 
11
+ HEADERS = {
12
+ "Authorization": f"Bearer {API_TOKEN}",
13
+ "Content-Type": "application/json"
14
+ }
15
 
16
+ # Load all tasks from metadata.jsonl
17
+ def load_tasks():
18
+ return load_metadata("metadata.jsonl")
 
 
 
 
 
 
 
 
19
 
20
+ # Solve a single task
21
+ def solve_task(task, tools=TOOLS):
22
+ system_prompt = "You are a helpful agent. Use reasoning, tools if needed, and return the answer only."
23
+ user_prompt = task["question"]
 
 
24
 
25
+ response = query_mistral(API_URL, HEADERS, system_prompt, user_prompt)
26
+ return {
27
+ "task_id": task["question_id"],
28
+ "submitted_answer": response.strip()
29
+ }