Commit graph

849 commits

Author SHA1 Message Date
Simon Willison
bd2180df7d
llm chat --tool and --functions (#1062)
* Tool support for llm chat, closes #1004
2025-05-20 21:30:27 -07:00
Simon Willison
e48a5b9f11 Rename "echo" to "simple-echo", refs #1061 2025-05-20 20:55:54 -07:00
Simon Willison
4be2bbdc0e Ensure test does not fail due to random sort order of plugins 2025-05-20 20:53:35 -07:00
Simon Willison
a31ae86c20 Refactor in prep for chat tools, refs #1004 2025-05-20 20:23:48 -07:00
Simon Willison
a3414ed15d llm install --pre option, closes #1060 2025-05-20 18:25:42 -07:00
Simon Willison
f879b816e4 llm plugins --hook X option, closes #1047 2025-05-18 14:50:34 -04:00
Simon Willison
f320de1b0c LLM_TOOLS_DEBUG env var, closes #1045 2025-05-17 22:38:15 -04:00
Simon Willison
a888efa271 Ran cog, refs #1037 2025-05-15 10:41:06 -04:00
Simon Willison
ad7dc2ef71 Enable vision for o3 and o4-mini, closes #1037 2025-05-15 10:22:13 -04:00
Simon Willison
2df619e7d8 --chain-limit option, closes #1025 2025-05-13 21:52:39 -04:00
Simon Willison
114d567da5 Release 0.26a0
Refs #937, #988, #991, #992, #994, #995, #997, #998, #999, #1002, #1003, #1005, #1007, #1008, #1010, #1012, #1016, #1017, #1019, #1021, #1022, #1023, #1024
2025-05-13 20:37:22 -04:00
Simon Willison
471eb67326 Slim initial python API docs for tools and chains, closes #1022 2025-05-13 17:19:30 -07:00
Simon Willison
92b0c6b99c Basic tool usage docs using --functions
Refs #1022, #995, #1016
2025-05-13 17:19:30 -07:00
Simon Willison
c1a66eed60 Tests run on Click < 8.2.0
Refs #1024, #1023
2025-05-13 17:19:30 -07:00
Simon Willison
c81f0560e0 Fixed remaining mypy problems, refs #1023
Refs https://github.com/simonw/llm/pull/996#issuecomment-2878191352
2025-05-13 17:19:30 -07:00
Simon Willison
96f910bb30 Fix for TypeError: 'coroutine' object is not iterable 2025-05-13 17:19:30 -07:00
Simon Willison
511892b30c Fix for Error binding parameter 2: type 'coroutine' is not supported 2025-05-13 17:19:30 -07:00
Simon Willison
a029e0b70c AsyncModel.chain() raises NotImplementedError, closes #1021 2025-05-13 17:19:30 -07:00
github-actions[bot]
89c99df39c Ran cog 2025-05-13 17:19:30 -07:00
Simon Willison
bed617cd62 Enable tools for o3, o3-mini, o4-mini, refs #988 2025-05-13 17:19:30 -07:00
Simon Willison
c586f389e1 Better display of --tools-debug/--td
Refs https://github.com/simonw/llm/issues/1005#issuecomment-2878164610
2025-05-13 17:19:30 -07:00
Simon Willison
d986f98416 Better output for --ta/--tools-approve
Refs https://github.com/simonw/llm/issues/1005#issuecomment-2878163701
2025-05-13 17:19:30 -07:00
Simon Willison
88b806ae1a Got multi-tool OpenAI chat working, in no-stream mode too
Refs #1017, #1019
2025-05-13 17:19:30 -07:00
Simon Willison
5ae20bd549 Guard against chunk=None from models
Bug that I encountered while working on #1019
2025-05-13 17:19:30 -07:00
Simon Willison
a880c123bd --tools is now --functions, can be path, can be multiple
Closes #1016
2025-05-13 17:19:30 -07:00
Simon Willison
1efb14f294 Upgrade condense-json
Refs https://github.com/simonw/llm/issues/1003#issuecomment-2873322525
Refs https://github.com/simonw/condense-json/issues/5
2025-05-13 17:19:30 -07:00
Simon Willison
a50de8b57a ChainResponse.log_to_db() method and test, refs #1017, #1003 2025-05-13 17:19:30 -07:00
Simon Willison
5162cabbe1 First test for tools, plus vcr+syrupy, refs #1017 2025-05-13 17:19:30 -07:00
Simon Willison
0ff24b34c4 dict() is now model_dump() 2025-05-13 17:19:30 -07:00
Simon Willison
9dae58d05d llm logs tool output, long form, refs #1012 2025-05-13 17:19:30 -07:00
Simon Willison
d9629167bd llm logs tools output for --json and --short
Refs #1012
2025-05-13 17:19:30 -07:00
Simon Willison
7efe51fcb4 Rename --python-tools to --tools, closes #1008 2025-05-13 17:19:30 -07:00
Simon Willison
336948f8fe Better visible error message for cancel
Refs #1005
2025-05-13 17:19:30 -07:00
Simon Willison
9650c5de10 Removed obsolete details() method, closes #1007 2025-05-13 17:19:30 -07:00
Simon Willison
e319069503 Initial implementation of --td and --ta, refs #1005
Uses new mechanism from #1007
2025-05-13 17:19:30 -07:00
Simon Willison
ea4df34563 New response.excute_tool_calls(), refs #1007 2025-05-13 17:19:30 -07:00
Simon Willison
387f89d88b Load tool stuff from database, refs #1010 2025-05-13 17:19:30 -07:00
Simon Willison
db642d3013 Ensure all responses have a ULID 2025-05-13 17:19:30 -07:00
Simon Willison
288dcb8d46 llm models --tools filter 2025-05-13 17:19:30 -07:00
github-actions[bot]
e8894b19f5 Ran cog 2025-05-13 17:19:30 -07:00
Simon Willison
9d3bbb05a8 Show tool support on 'llm models --options' 2025-05-13 17:19:30 -07:00
Simon Willison
f994196b32 tool_calls_or_raise()
Refs #992, #998, #999
2025-05-13 17:19:30 -07:00
Simon Willison
32cab986ea Log tool stuff to the database, refs #1003 2025-05-13 17:19:30 -07:00
Simon Willison
4abd6e0faf Made a start on tools.md docs, refs #997
Also documented register_tools() plugin hook, refs #991
2025-05-13 17:19:30 -07:00
Simon Willison
0f114be5f0 --python-tools option on prompt and tools, closes #995 2025-05-13 17:19:30 -07:00
github-actions[bot]
f486547341 Ran cog 2025-05-13 17:19:30 -07:00
Simon Willison
8d5fc87028 llm tools and llm tools --json, closes #994 2025-05-13 17:19:30 -07:00
Simon Willison
4ae6d45f3a First working prototype of llm -T toolname
Refs https://github.com/simonw/llm/issues/990#issuecomment-2870630946
2025-05-13 17:19:30 -07:00
Simon Willison
290c0f13f3 register_tools() hook, get_tools() utility
Refs #991
2025-05-13 17:19:30 -07:00
Simon Willison
8a3c461e46 model.chain() method, tools=[func1, func2]
Also fixed mypy errors, but had to drop AsyncResponse for the moment.

Refs https://github.com/simonw/llm/issues/937#issuecomment-2870479021
2025-05-13 17:19:30 -07:00