AgentCourseFinalProject / agent_course_tools.py
Saptadip Sarkar
fix: updated tool list
1da91a9
import requests
from llama_index.tools.wikipedia import WikipediaToolSpec
from llama_index.tools.duckduckgo import DuckDuckGoSearchToolSpec
from llama_index.tools.code_interpreter import CodeInterpreterToolSpec
from llama_index.core.tools import FunctionTool
# wikipedia search tool
wiki_spec = WikipediaToolSpec()
wiki_tool = wiki_spec.to_tool_list()
# duckduckgo search tool
ddgo_spec = DuckDuckGoSearchToolSpec()
ddgo_tool = ddgo_spec.to_tool_list()
# execute python code and return the stdout and stderr.
code_spec = CodeInterpreterToolSpec()
code_tool = code_spec.to_tool_list()
def download_file(url: str, save_path: str) -> str:
"""Download a file from a given URL and save it to the specified path."""
response = requests.get(url)
with open(save_path, 'wb') as file:
file.write(response.content)
return f"File downloaded to (save_path)"
download_tool = FunctionTool.from_defaults(
fn=download_file,
name="download_file_tool",
description="A tool to download files from an HTTPS API endpoint. The tool accepts two arguments: The https url path to download the file and the location to save the downloaded file. If no auguments are passed then use the default values. Default values: For 'url' use 'https://agents-course-unit4-scoring.hf.space/files/{task_id}' and for 'save_path' use the current path."
)
# agent complete tool list
agent_tools_list = wiki_tool + ddgo_tool + code_tool + [download_tool]