DocumentToolkit
Document toolkit for parsing documents and support Q&A.
Support backends:
- Chunkr: https://github.com/lumina-ai-inc/chunkr
-
pymupdf: https://github.com/pymupdf/PyMuPDF
-
[ ] unify the filepath cache logic (also suppoort audio_toolkit, image_toolkit)
DocumentToolkit
Bases: AsyncBaseToolkit
Source code in utu/tools/document_toolkit.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | |
tools_map
property
tools_map: dict[str, Callable]
Lazy loading of tools map. - collect tools registered by @register_tool
__init__
__init__(config: ToolkitConfig = None) -> None
Initialize the DocumentToolkit, with configed parser and llm.
Source code in utu/tools/document_toolkit.py
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
document_qa
async
document_qa(
document_path: str, question: str | None = None
) -> str
Get file content summary or answer questions about attached document.
Supported file types: pdf, docx, pptx, xlsx, xls, ppt, doc
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
document_path
|
str
|
Local path or URL to a document. |
required |
question
|
str
|
The question to answer. If not provided, return a summary of the document. |
None
|
Source code in utu/tools/document_toolkit.py
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | |
get_tools_map_func
get_tools_map_func() -> dict[str, Callable]
Get tools map. It will filter tools by config.activated_tools if it is not None.
Source code in utu/tools/base.py
36 37 38 39 40 41 42 43 44 45 | |
get_tools_in_agents
get_tools_in_agents() -> list[FunctionTool]
Get tools in openai-agents format.
Source code in utu/tools/base.py
47 48 49 50 51 52 53 54 55 56 57 58 | |
get_tools_in_openai
get_tools_in_openai() -> list[dict]
Get tools in OpenAI format.
Source code in utu/tools/base.py
60 61 62 63 | |
get_tools_in_mcp
get_tools_in_mcp() -> list[Tool]
Get tools in MCP format.
Source code in utu/tools/base.py
65 66 67 68 | |
call_tool
async
call_tool(name: str, arguments: dict) -> str
Call a tool by its name.
Source code in utu/tools/base.py
70 71 72 73 74 75 76 | |