Commit graph

834 commits

Author SHA1 Message Date
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
Simon Willison
619daa6ff2 .chain().details() debug method
https://github.com/simonw/llm/issues/937#issuecomment-2870465951
2025-05-13 17:19:30 -07:00
Simon Willison
7dbf0b8586 Got a tool call to run through OpenAI
Refs https://github.com/simonw/llm/issues/937#issuecomment-2870434157
2025-05-13 17:19:30 -07:00
Simon Willison
c0ef4f4da1 Enforce chain limit of 5
Refs https://github.com/simonw/llm/issues/937#issuecomment-2870390330
2025-05-13 17:19:30 -07:00
Simon Willison
3b37854c26 Initial Conversation.chain() and ChainResponse
Refs https://github.com/simonw/llm/issues/937#issuecomment-2870365809
2025-05-13 17:19:30 -07:00
Simon Willison
c990578934 ToolCall.tool_call_id property, refs #937 2025-05-13 17:19:30 -07:00
Simon Willison
290c311ce1 prompt.tools and prompt.tool_results no longer optional
They will always be at least an empty list
2025-05-13 17:19:30 -07:00
Simon Willison
7e574e59b7 Prompt.tool_results property
Refs https://github.com/simonw/llm/issues/937#issuecomment-2869124983
2025-05-13 17:19:30 -07:00
Simon Willison
6ad5e7936f ToolResult dataclass
Refs https://github.com/simonw/llm/issues/937#issuecomment-2869123620
2025-05-13 17:19:30 -07:00
Simon Willison
8b57c2b226 Dropped Tool.output_schema
Refs https://github.com/simonw/llm/issues/935#issuecomment-2869120546
2025-05-13 17:19:30 -07:00
Simon Willison
8c2393f909 Stash function in tool.implementation
Refs https://github.com/simonw/llm/issues/935#issuecomment-2869084490
2025-05-13 17:19:30 -07:00
Simon Willison
5aac6b76f0 response.tool_calls() methods
Refs https://github.com/simonw/llm/issues/936#issuecomment-2869082672
2025-05-13 17:19:30 -07:00
Simon Willison
7bc2f78156 Capture tool calls from OpenAI streaming sync responses
Refs https://github.com/simonw/llm/issues/988#issuecomment-2869079084
2025-05-13 17:19:30 -07:00
Simon Willison
7b450c8215 Response.add_tool_call() method and ToolCall class
Refs https://github.com/simonw/llm/issues/936#issuecomment-2869064678
2025-05-13 17:19:30 -07:00
Simon Willison
84ab4cd409 supports_tools Model property, Tool.function(..., name=) option
Refs https://github.com/simonw/llm/issues/935#issuecomment-2869042481
2025-05-13 17:19:30 -07:00
Simon Willison
fc76048b37 Pass tools around a bit
Refs https://github.com/simonw/llm/issues/935#issuecomment-2869032532
2025-05-13 17:19:30 -07:00