| from smolagents import Tool |
| from my_base_wiki_api import MyWikiAPI |
|
|
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| |
| class MyWikiPageSectionTool(Tool): |
| name = "_my_tool_wiki_page_section" |
| description = """ |
| Extract contents of the page section for the provided a Wikipedia page |
| To invoke the tool use code as below |
| <code> |
| section_contents = _my_tool_wiki_page_section(page_title='aaa', section_title='bbb', version='2022') |
| </code> |
| """ |
|
|
| inputs = { |
| "page": { |
| "type": "string", |
| "description": "Wikipedia page title", |
| "nullable": True |
| }, |
| "page_title": { |
| "type": "string", |
| "description": "Wikipedia page title", |
| "nullable": True |
| }, |
| "section": { |
| "type": "string", |
| "description": "Name of the section on the Wikipedia page", |
| "nullable": True |
| }, |
| "section_title": { |
| "type": "string", |
| "description": "Name of the section on the Wikipedia page", |
| "nullable": True |
| }, |
| "version": { |
| "type": "string", |
| "description": "Year version of the Wikipedia page", |
| "nullable": True |
| }, |
| "wiki_version": { |
| "type": "string", |
| "description": "Year version of the Wikipedia page", |
| "nullable": True |
| }, |
| } |
|
|
| output_type = "string" |
|
|
| is_initialized = True |
|
|
| def __init__(self): |
| print(f"***KS*** Wiki page section tool initializing ...") |
| self.wiki = MyWikiAPI() |
|
|
| def forward(self, page=None, page_title=None, section=None, section_title=None, version="2025", |
| wiki_version="2025") -> str: |
| return self.wiki.get_page_section( |
| page if page is not None else page_title, |
| section if section is not None else section_title) |
|
|