Commit graph

962 commits

Author SHA1 Message Date
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
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
Sergio Garcia
98249710f9
Fix typo (#1002) 2025-05-12 19:55:32 -07:00
Simon Willison
7f49cc254b
FUNDING.yml 2025-05-09 20:24:55 -07:00
Simon Willison
cb1ea231dc
Example docstrings for fragment loaders
!stable-docs
2025-05-08 19:05:50 -07:00
Simon Willison
f07655715e
llm-video-frames
!stable-docs

Refs https://github.com/simonw/llm-video-frames/issues/2
2025-05-04 20:47:14 -07:00
Simon Willison
84f65e93e6 Better link 2025-05-04 20:30:22 -07:00
Simon Willison
755662ee77 Fix link in changelog 2025-05-04 20:27:46 -07:00
Simon Willison
8df839383f Release 0.25
Refs #876, #887, #903, #904, #907, #908, #916, #918, #925, #929, #932, #933, #941, #945, #949, #950, #957, #965, #968, #969, #972, #973, #974, #975, #976
2025-05-04 20:23: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
Samuel Dion-Girardeau
00e5ee6b5a
Add llm-fragments-pypi to plugin directory (#929)
As the name suggests, this plugin gets PyPI packages as fragments.
Namely the project metadata and description.

See README for more usage examples:
https://github.com/samueldg/llm-fragments-pypi?tab=readme-ov-file#usage
2025-05-04 15:34:52 -07:00
Dan Guido
16a58f231b
Add model_name parameter to OpenAI extra models documentation (#950)
Explain difference between `model_id` and `model_name`. Refs #925.
2025-05-04 14:56:28 -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
Rahim Nathwani
07ccfbcee5
Improved docs for extra-openai-models.yaml (#957)
- Mention mandatory model_name field 
- Document support_schema option
2025-05-04 10:30:37 -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
9a39af82cd Tip about lazy loading dependencies, closes #949
!stable-docs
2025-04-23 10:55:13 -07:00
Simon Willison
963d85325d
Files not file 2025-04-23 07:52:17 -07:00
Simon Willison
fa34d7d452 Match example output to reality
Refs https://github.com/simonw/llm-fragments-github/issues/4

Refs #941
2025-04-20 08:01:58 -07:00