From 8c2393f909e9fa9d3535e2388455ca419eea133c Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Sat, 10 May 2025 11:54:40 -0700 Subject: [PATCH] Stash function in tool.implementation Refs https://github.com/simonw/llm/issues/935#issuecomment-2869084490 --- llm/models.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/llm/models.py b/llm/models.py index 5e121cf..2591727 100644 --- a/llm/models.py +++ b/llm/models.py @@ -109,6 +109,7 @@ class Attachment: class Tool: name: str description: Optional[str] = None + implementation: Optional[Callable] = None input_schema: Dict = field(default_factory=dict) output_schema: Dict = field(default_factory=dict) @@ -172,6 +173,7 @@ class Tool: return cls( name=name or function.__name__, description=function.__doc__ or None, + implementation=function, input_schema=input_schema, output_schema=output_schema, )