dlaima commited on
Commit
dc7f623
·
verified ·
1 Parent(s): d07e368

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -44
app.py CHANGED
@@ -17,68 +17,41 @@ DEFAULT_API_URL = "https://agents-course-unit4-scoring.hf.space"
17
  SYSTEM_PROMPT = """You are an agent solving the GAIA benchmark and you are required to provide exact answers.
18
  Rules to follow:
19
  1. Return only the exact requested answer: no explanation and no reasoning.
20
- 2. For yes/no questions, return exactly "Yes" or "No".
21
  3. For dates, use the exact format requested.
22
  4. For numbers, use the exact number, no other format.
23
  5. For names, use the exact name as found in sources.
24
  6. If the question has an associated file, process it accordingly.
25
  Examples of good responses:
26
- - "42"
27
- - "Yes"
28
- - "October 5, 2001"
29
- - "Buenos Aires"
30
- Never include phrases like "the answer is..." or "Based on my research".
31
  Only return the exact answer."""
32
 
33
  # Define agent tools
34
  audio_tool = AudioTranscriptionTool()
35
  image_tool = ImageAnalysisTool()
 
 
 
 
 
 
 
36
 
37
- class WikipediaTool(Tool):
38
- name = "wikipedia_search"
39
- description = "Search for facts using Wikipedia."
40
- inputs = {
41
- "query": {"type": "string", "description": "Search query"}
42
- }
43
- output_type = "string"
44
-
45
- def forward(self, query: str) -> str:
46
- return WikipediaSearcher().search(query)
47
-
48
- wiki_tool = WikipediaTool()
49
-
50
- tools = [audio_tool, image_tool, wiki_tool]
51
-
52
- # Define the custom agent using Mixtral on Hugging Face
53
- #class MyAgent(CodeAgent):
54
- # def __init__(self):
55
- # model = HfApiModel(
56
- # api_url="https://api-inference.huggingface.com/models/mistralai/Mixtral-8x7B-Instruct-v0.1",
57
- # api_key=os.getenv("HF_API_TOKEN")
58
- # )
59
- # super().__init__(model=model, tools=tools, system_prompt=SYSTEM_PROMPT)
60
-
61
- api_key = os.getenv("HF_API_TOKEN", "").strip()
62
-
63
 
 
64
  class MyAgent(CodeAgent):
65
  def __init__(self):
66
  model = HfApiModel(
67
- model="mistralai/Mixtral-8x7B-Instruct-v0.1", # pass model ID, not full URL
68
- api_key=api_key
69
  )
70
  super().__init__(model=model, tools=tools)
71
 
72
- def __call__(self, question_dict):
73
- question = question_dict.get("question", "")
74
- full_prompt = SYSTEM_PROMPT + "\n\n" + question
75
- new_input = question_dict.copy()
76
- new_input["question"] = full_prompt
77
- return super().__call__(new_input)
78
-
79
-
80
-
81
-
82
  # Evaluation + Submission function
83
  def run_and_submit_all(profile: gr.OAuthProfile | None):
84
  space_id = os.getenv("SPACE_ID")
 
17
  SYSTEM_PROMPT = """You are an agent solving the GAIA benchmark and you are required to provide exact answers.
18
  Rules to follow:
19
  1. Return only the exact requested answer: no explanation and no reasoning.
20
+ 2. For yes/no questions, return exactly \"Yes\" or \"No\".
21
  3. For dates, use the exact format requested.
22
  4. For numbers, use the exact number, no other format.
23
  5. For names, use the exact name as found in sources.
24
  6. If the question has an associated file, process it accordingly.
25
  Examples of good responses:
26
+ - \"42\"
27
+ - \"Yes\"
28
+ - \"October 5, 2001\"
29
+ - \"Buenos Aires\"
30
+ Never include phrases like \"the answer is...\" or \"Based on my research\".
31
  Only return the exact answer."""
32
 
33
  # Define agent tools
34
  audio_tool = AudioTranscriptionTool()
35
  image_tool = ImageAnalysisTool()
36
+ wikipedia_tool = Tool.from_function(
37
+ name="wikipedia_search",
38
+ description="Search for facts using Wikipedia.",
39
+ input_schema={"query": {"type": "string", "description": "Search query"}},
40
+ output_type="string",
41
+ forward=lambda query: WikipediaSearcher().search(query)
42
+ )
43
 
44
+ tools = [audio_tool, image_tool, wikipedia_tool]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
 
46
+ # Define the custom agent using Dolphin model (free Mixtral)
47
  class MyAgent(CodeAgent):
48
  def __init__(self):
49
  model = HfApiModel(
50
+ model="cognitivecomputations/dolphin-2.6-mixtral-8x7b",
51
+ api_key=os.getenv("HF_API_TOKEN", "").strip()
52
  )
53
  super().__init__(model=model, tools=tools)
54
 
 
 
 
 
 
 
 
 
 
 
55
  # Evaluation + Submission function
56
  def run_and_submit_all(profile: gr.OAuthProfile | None):
57
  space_id = os.getenv("SPACE_ID")