Spaces:
Sleeping
Sleeping
from langchain.tools import StructuredTool | |
from tools.wiki_search import ( | |
GetPageSectionContentInput, | |
GetPageTitleExcerptSectionsInput, | |
SearchWikipediaEn, | |
WikipediaOpensearchInput, | |
) | |
class ToolsCollection: | |
def get_tools(needed_tools: list[str]) -> list: | |
tools = [] | |
for nt in needed_tools: | |
if nt == "wikipedia_opensearch": | |
tools.append( | |
StructuredTool( | |
name="wikipedia_opensearch", | |
func=SearchWikipediaEn.wikipedia_opensearch, | |
description=SearchWikipediaEn.wikipedia_opensearch.__doc__, | |
args_schema=WikipediaOpensearchInput, | |
) | |
) | |
elif nt == "get_page_title_excerpt_sections": | |
tools.append( | |
StructuredTool( | |
name="get_page_title_excerpt_sections", | |
func=SearchWikipediaEn.get_page_title_excerpt_sections, | |
description=SearchWikipediaEn.get_page_title_excerpt_sections.__doc__, | |
args_schema=GetPageTitleExcerptSectionsInput, | |
) | |
) | |
elif nt == "get_page_section_content": | |
tools.append( | |
StructuredTool( | |
name="get_page_section_content", | |
func=SearchWikipediaEn.get_page_section_content, | |
description=SearchWikipediaEn.get_page_section_content.__doc__, | |
args_schema=GetPageSectionContentInput, | |
) | |
) | |
return tools | |