|
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") |
|
|
|
|
|
tool_spec = DuckDuckGoSearchToolSpec() |
|
search_tool = FunctionTool.from_defaults(tool_spec.duckduckgo_full_search) |
|
|
|
|
|
self.agent = AgentWorkflow.from_tools_or_functions( |
|
[search_tool], |
|
llm=llm |
|
) |
|
|
|
|
|
|
|
async def __call__(self, question: str) -> str: |
|
response = await self.agent.run(user_msg=question) |
|
return response.response.content |
|
|