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
Simon Willison
51e2c714d1
WIP Tool definition class
...
Refs https://github.com/simonw/llm/issues/935#issuecomment-2869002227
2025-05-13 17:19:30 -07:00
Simon Willison
8e68c5e2d9
o4-mini, closes #976
2025-05-04 16:04:28 -07:00
Kevin Burke
5d0a2bba59
llm/default_plugins: add o3 model ( #945 )
...
* llm/default_plugins: add o3 model
This is the newest model released by OpenAI and is available through
the API.
* Ran cog
---------
Co-authored-by: Simon Willison <swillison@gmail.com >
2025-05-04 16:01:55 -07:00
Sukhbinder Singh
8c7d33ee52
Fixes --continue bug and adds --database argument to llm chat
...
* Fix database bug in continue conversation and adds --database to llm chat
* Move the --database to proper place and update help.
Closes #933
2025-05-04 15:57:13 -07:00
Simon Willison
e02863c1ca
Fragment plugins can now optionally return attachments ( #974 )
...
Closes #972
2025-05-04 14:50:27 -07:00
Simon Willison
768a1789a2
llm fragments list should order fragments by date
...
Closes #973
2025-05-04 12:46:27 -07:00
Abizer Lokhandwala
0b37123a38
Add GPT-4.1 model family to default OpenAI plugin ( #965 )
...
* openai: add gpt-4.1 models
* Refactor and run cog
---------
Co-authored-by: Simon Willison <swillison@gmail.com >
2025-05-04 10:27:12 -07:00
Benedikt Willi
7dcfa31143
Add '!edit' command to modify prompts in chat sessions using default editor ( #969 )
...
* Add '!edit' command to modify prompts in chat sessions
2025-05-04 10:19:48 -07:00
Simon Willison
16770611ca
Fixed bug with model default options and aliases, closes #968
2025-05-04 09:30:44 -07:00
Simon Willison
c9f64096c9
llm fragments loaders, closes #941
2025-04-20 07:56:27 -07:00
Simon Willison
e78e1fceb2
LLM_MODEL and LLM_EMBEDDING_MODEL environment vars, closes #932
2025-04-19 20:41:24 -07:00
Simon Willison
4279df23a4
Allow -t and --system to be used together, refs #916
2025-04-13 20:27:41 -07:00
Simon Willison
e9b002d997
py.typed marker file
...
Closes #887
2025-04-10 17:19:36 -07:00
guspix
0cc26b3d4f
Allow escaping a dollar sign in templates by adding another dollar sign ( #876 )
...
* Allow escaping a dollar sign in templates by adding another dollar sign
* Docs for escaping $$ in template, refs #876 , #904
Closes #904
---------
Co-authored-by: Simon Willison <swillison@gmail.com >
2025-04-08 20:33:39 -07:00
Steve Morin
4894b13414
llm models --options now shows keys and environment variables
...
Closes #903
2025-04-08 20:15:56 -07:00
Simon Willison
454eadddff
On Windows check for c:... path existence before executing plugins
...
Closes #901
2025-04-08 19:57:29 -07:00
Simon Willison
56d7f2f13a
llm prompt -t filepath.yaml support, closes #897
2025-04-08 13:36:48 -07:00
Simon Willison
0fbbe6a054
llm logs backup command, closes #879
2025-04-07 21:45:52 -07:00
Simon Willison
631835ef71
If template has no $input variable prompt is still concatenated, closes #878
2025-04-07 07:31:28 -07:00
Simon Willison
388a4ea9a2
Attachment and attachment type support for templates, closes #826
2025-04-07 07:20:49 -07:00
Simon Willison
d0255a1eda
llm fragments --aliases option, closes #891
2025-04-06 22:30:27 -07:00
Simon Willison
b011ed8352
Multpile llm logs -f are now ANDed together, closes #889
2025-04-06 22:22:30 -07:00
Simon Willison
a571a4e948
register_fragment_loaders() hook ( #886 )
...
* Docs and shape of register_fragment_loaders hook, refs #863
* Update docs for fragment loaders returning a list of FragmentString
* Support multiple fragments with same content, closes #888
* Call the pm.hook.register_fragment_loaders hook
* Test for register_fragment_loaders hook
* Rename FragmentString to Fragment
Closes #863
2025-04-06 17:03:34 -07:00
Simon Willison
3de33be74f
Support multiple fragments with same content, closes #888
2025-04-06 16:26:57 -07:00
Simon Willison
ac49075129
llm logs -e/--expand option, closes #881
2025-04-06 00:25:28 -07:00
Simon Willison
b7f54028e2
Better help for --at option
2025-04-05 17:29:10 -07:00
Simon Willison
f740a5cbbd
Fragments ( #859 )
...
* WIP fragments: schema plus reading but not yet writing, refs #617
* Unique index on fragments.alias, refs #617
* Fragments are now persisted, added basic CLI commands
* Fragment aliases work now, refs #617
* Improved help for -f/--fragment
* Support fragment hash as well
* Documentation for fragments
* Better non-JSON display of llm fragments list
* llm fragments -q search option
* _truncate_string is now truncate_string
* Use condense_json to avoid duplicate data in JSON in DB, refs #617
* Follow up to 3 redirects for fragments
* Python API docs for fragments= and system_fragments=
* Fragment aliases cannot contain a : - this is to ensure we can add custom fragment loaders later on, refs https://github.com/simonw/llm/pull/859#issuecomment-2761534692
* Use template fragments when running prompts
* llm fragments show command plus llm fragments group tests
* Tests for fragments family of commands
* Test for --save with fragments
* Add fragments tables to docs/logging.md
* Slightly better llm fragments --help
* Handle fragments in past conversations correctly
* Hint at llm prompt --help in llm --help, closes #868
* llm logs -f filter plus show fragments in llm logs --json
* Include prompt and system fragments in llm logs -s
* llm logs markdown fragment output and tests, refs #617
2025-04-05 17:22:37 -07:00
Simon Willison
dda24010a3
Removed rogue garg=[], refs #880
2025-04-05 11:33:34 -07:00
Simon Willison
cc94111892
Skip invalid templates in llm templates list, closes #880
2025-04-05 11:32:35 -07:00
Simon Willison
70e0799821
Hint at llm prompt --help in llm --help, closes #868
2025-03-29 21:00:41 -07:00
Simon Willison
f641b89882
llm similar -p/--plain option, closes #853
2025-03-28 00:36:08 -07:00
Simon Willison
5b2c611c82
llm prompt -d/--database option, closes #858
2025-03-28 00:20:31 -07:00
Simon Willison
7e7ccdc19a
Hide -p/--path in favor of standard -d/--database, closes #857
...
Spotted while working on #853
2025-03-28 00:11:01 -07:00