File size: 926 Bytes
b3d4017
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b31d773
b3d4017
 
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
26
from llama_index.core.agent.workflow import AgentWorkflow
from llama_index.core.workflow import Context
from llama_index.core.tools import FunctionTool
from llama_index.llms.huggingface_api import HuggingFaceInferenceAPI
from llama_index.tools.duckduckgo import DuckDuckGoSearchToolSpec

class BasicAgent:
    def __init__(self):
      llm = HuggingFaceInferenceAPI(model_name="Qwen/Qwen2.5-Coder-32B-Instruct")

      # Initialize tools
      tool_spec = DuckDuckGoSearchToolSpec()
      search_tool = FunctionTool.from_defaults(tool_spec.duckduckgo_full_search)
      
      # Create Alfred with all the tools
      self.agent = AgentWorkflow.from_tools_or_functions(
          [search_tool],
          llm=llm
      )

      # self.ctx = Context(self.agent)

    async def __call__(self, question: str) -> str:
      response = await self.agent.run(user_msg=question) # ctx=self.ctx)
      return response.response.content