Simon Willison
Simon Willison
Added in this commit: https://github.com/simonw/llm/commit/218bd10d6d469b8c8a0305c5e2f048cab218d74b I think this is the problem: https://github.com/simonw/llm/blob/218bd10d6d469b8c8a0305c5e2f048cab218d74b/docs/conf.py#L37 But that should be installed already? I don't think it needs to be added to requirements.
Oh maybe it's the path that Python is running on when it runs the Sphinx commands? In RTD it may not have my `llm` stuff installed and available.
That fixed it on `/en/latest/`: https://llm.datasette.io/en/latest/plugins/advanced-model-plugins.html#supporting-tools I'm going to `!stable-docs` to deploy it to live.
Ugh that didn't fix it on the stable branch at all, because I didn't cause the `.readthedocs.yml` to update in that branch... and I accidentally deployed this section there too...
Turns out I need this for: - #1139 > The one catch is that Toolbox methods automatically turn into `ClassName_method_name` tools - but here we don't want that, we need...
Two ways this could work: - Dynamic. There's a method which can combine additional tools with tools introspected from the methods on the class. - Static: a toolbox has a...
**Decision**: the static path. I'm going to have this `__init_subclass__` method expand to handle the introspection and population of a `self._tools` property: https://github.com/simonw/llm/blob/fd2f0ffbcd93176811ccc6fc0897b67f6bc570f3/llm/models.py#L175-L200
Changed my mind: I'm not going to do this in `__init_subclass__`. I'm going to have just two methods: - `.tools()` - returns a list of `llm.Tool` instances. It introspects these...
... actually that new design doesn't quite work. For the `llm tools` command we need to be able to show a list of available tools within each toolbox class, but...