Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

LLM 0.27,带注释的发行说明:GPT-5 和改进的工具调用

Posted on 2025-08-12

我今天发布了LLM 0.27 版本,增加了对 OpenAI 全新 GPT-5 系列模型的支持,并对LLM 0.26 中引入的工具调用功能进行了一系列改进。以下是带注释的发行说明。

GPT-5

  • 新型号: gpt-5 、 gpt-5-mini和gpt-5-nano 。 #1229

我本来希望能早点把这些发布出来,但自上次发布以来,LLM 已经积累了相当多的其他变化,我想以 GPT-5 为借口把所有这些都打包并发布出来。

这些模型的工作原理与其他 OpenAI 模型大致相同,但它们有一个新的reasoning_effort选项,即minimal 。你可以这样尝试:

设置“最小”几乎完全消除了模型的“思考”时间,使其行为更像 GPT-4o。 llm -m gpt-5 'A letter advocating for cozy boxes for pelicans in Half Moon Bay harbor' -o reasoning_effort minimal

这是它写给我的信,成本为 20 输入,706 输出 = 0.007085 美元,即 0.7085 美分。

您可以将默认模型设置为 GPT-5-mini(因为它更便宜一些),如下所示:

模板中的工具llm models default gpt-5-mini

  • LLM模板现在可以包含工具列表。这些工具可以是来自插件或任意 Python 函数块的命名工具,请参阅模板中的工具。 #1009

我认为这是新版本中最重要的功能。

我在 LLM 0.26 中添加了 LLM 的工具调用功能。您可以通过 Python API 调用它们,也可以通过命令行调用它们,如下所示:

这是llm -T llm_version -T llm_time 'Tell the time, then show the version'

运行该命令后, llm logs -c的输出记录 -c。

此示例表明您必须使用-T/--tool选项一次或多次明确列出您想要向模型公开的所有工具。

在 LLM 0.27 中,您现在可以将这些工具集合保存到模板中。现在让我们尝试一下:

现在llm -T llm_version -T llm_time -m gpt-5 --save mytools

mytools是一个捆绑了这两个工具的模板,并将默认模型设置为 GPT-5。我们可以像这样运行它:

我们来做点更有趣的事吧。我的博客有一个llm -t mytools 'Time then version'

我可以针对Datasette 镜像运行查询。我将使用llm-tools-datasette插件将其转换为工具驱动的模板。此插件使用一个“工具箱”,它看起来有点像一个类。相关描述请见此处。

 llm install llm-tools-datasette # Now create that template llm --tool 'Datasette("https://datasette.simonwillison.net/simonwillisonblog")' \ -m gpt-5 -s 'Use Datasette tools to answer questions' --save blog现在我可以向数据库询问这样的问题: llm install llm-tools-datasette # Now create that template llm --tool 'Datasette("https://datasette.simonwillison.net/simonwillisonblog")' \ -m gpt-5 -s 'Use Datasette tools to answer questions' --save blog

这llm -t blog 'top ten tags by number of entries

--td选项代表--tools-debug – 这意味着我们可以看到所有正在运行的工具调用。

这是上述的输出:

 Top 10 tags by number of entries (excluding drafts): - quora — 1003 - projects — 265 - datasette — 238 - python — 213 - ai — 200 - llms — 200 - generative-ai — 197 - weeknotes — 193 - web-development — 166 - startups — 157此处有包含工具痕迹的完整记录Top 10 tags by number of entries (excluding drafts): - quora — 1003 - projects — 265 - datasette — 238 - python — 213 - ai — 200 - llms — 200 - generative-ai — 197 - weeknotes — 193 - web-development — 166 - startups — 157

。

我对存储配置工具的能力感到非常兴奋

  • 对于支持图像输入等功能的模型,工具现在可以返回附件。 #1014

我想构建一个工具,可以将 SVG 渲染成图像,然后返回该图像,以便模型能够看到它所绘制的内容。原因如下。

  • Toolbox类新增方法: .add_tool() 、 .prepare()和.prepare_async() ,详情请参阅动态工具箱。 #1111

我添加这些是因为人们对 Datasette 的 MCP 插件很感兴趣。MCP 的部分挑战在于,用户需要提供服务器的 URL,但我们需要检查该服务器,并动态添加我们在那里发现的工具。新的.add_tool()方法可以做到这一点,而.prepare()和.prepare_async()方法为我们提供了一种可靠的方法,可以在类构造函数之外运行一些发现代码,从而允许它在必要时进行异步调用。

  • 新增model.conversation(before_call=x, after_call=y)属性,用于注册在工具调用前后运行的回调函数。详情请参阅工具调试钩子。 #1088
  • 现在,引发llm.CancelToolCall只会取消当前工具调用,并将错误传回模型并允许其继续。 #1148

这些钩子对于在 Python API 层实现更复杂的工具调用非常有用。除了调试和日志记录之外,它们还允许 Python 代码拦截工具调用,并根据其实际操作取消或延迟调用。

  • 一些模型提供程序可以从同一个已配置的 URL 提供不同的模型 – 例如llm-llama-server 。这些提供程序的插件现在可以使用response.set_resolved_model(model_id)方法将已解析的模型 ID 记录到 LLM 日志中。 #1117

这解决了我一段时间以来的一个问题:我的一些插件会为后台由多个不同模型处理的请求记录相同的模型 ID,从而降低了我的日志的价值。现在,如果提示的模型 ID 与请求的模型 ID 不同,新机制允许插件记录更准确的模型 ID。

  • llm 日志的新选项-l/--latest llm logs -q searchterm用于按日期排序搜索日志(最近的在前),而不是默认的相关性搜索。 #1177

我的个人日志数据库现在已经增长到超过 8,000 条,对其进行全文搜索查询经常会返回去年的结果,而这些结果对我来说已经不再相关。能够找到与“pelican svg”匹配的最新提示就更加有用了。

其余内容均为错误修复和文档改进:

错误修复和文档

  • register_embedding_models钩子现在已记录。 #1049
  • 显示llm templates show invalid-template-name 。 #1053
  • 在llm chat中更优雅地处理无效的工具名称。 #1104
  • 在插件目录中添加工具插件部分。 #1110
  • 如果传递的类不是Toolbox的子类,则在register(Klass)时会出错。 #1114
  • 为所有llm CLI 命令的--help添加-h 。 #1134
  • 将缺失的dataclasses添加到高级模型插件文档中。 #1137
  • 修复了llm logs -T llm_version "version" --async错误地只记录了一个日志条目(而它应该记录两个)的错误。 #1150
  • extra-openai-models.yaml中的所有额外 OpenAI 模型键现在都已记录。 #1228

标签:项目、人工智能、 Datasette 、带注释的发布说明、生成式人工智能、法学硕士、法学硕士、法学硕士工具使用、 GPT-5

原文: https://simonwillison.net/2025/Aug/11/llm-027/#atom-everything

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Big Technology
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • eighty twenty
  • Elad Gil
  • Ellie Huxtable
  • Ethan Dalool
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • HeardThat Blog
  • Henrique Dias
  • Herman Martinus
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Li Haoyi
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Maggie Appleton
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mind Matters
  • Mostly metrics
  • Naval Ravikant
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Rohit Patel
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Steph Ango
  • Stephen Wolfram
  • Steve Blank
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • Wes Kao
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme