File size: 1,517 Bytes
cf74427
df25518
3022ab1
07f0062
3022ab1
d1b96c3
cf74427
 
692a76c
 
07f0062
 
df25518
3022ab1
07f0062
1c81e1e
 
07f0062
cf74427
692a76c
 
 
729cd77
cf74427
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from smolagents import (
    CodeAgent,
    GoogleSearchTool,
    InferenceClientModel,
    VisitWebpageTool,
    WikipediaSearchTool
)

class DRAgent:
    def __init__(self):
        self.system_prompt = "You are a general AI assistant. I will ask you a question. Report your thoughts, and finish your answer with the following template: FINAL ANSWER: [YOUR FINAL ANSWER]. YOUR FINAL ANSWER should be a number OR as few words as possible OR a comma separated list of numbers and/or strings. If you are asked for a number, don't use comma to write your number neither use units such as $ or percent sign unless specified otherwise. If you are asked for a string, don't use articles, neither abbreviations (e.g. for cities), and write the digits in plain text unless specified otherwise. If you are asked for a comma separated list, apply the above rules depending of whether the element to be put in the list is a number or a string."

        self.agent = CodeAgent(
            tools=[GoogleSearchTool(provider="serper"), WikipediaSearchTool(), VisitWebpageTool()],
            model=InferenceClientModel(
            model_id="MiniMaxAI/MiniMax-M2",
            provider="novita"
            ),
        )
        print("BasicAgent initialized.")
    def __call__(self, question: str) -> str:
        print(f"Agent received question (first 50 chars): {question[:50]}...")
        answer = self.agent.run(f"{self.system_prompt} \n {question}")
        print(f"Agent returning answer: {answer}")
        return answer