llm-anthropic #24:使用新的 URL 参数发送附件
Anthropic 今天发布了一项生活质量改善报告。亚历克斯·阿尔伯特:
我们添加了在 Anthropic API 中指定面向公众的 URL 作为图像/文档块的源的功能
在此之前,任何时候您想要将图像发送到 Claude API 时,都需要对其进行 Base64 编码,然后将该数据包含在 JSON 中。这变得相当庞大,特别是在对话场景中,在每个后续提示中都需要传递相同的图像数据。
我为llm-anthropic实现了这个,并在版本 0.15.1 中发布了它(这里是 提交) – 我使用了补丁版本号凸块,因为这实际上是一种性能优化,不提供任何新功能,以前 LLM 可以很好地接受 URL 并下载,然后在幕后对它们进行 Base64 处理。
在测试过程中,我从 Claude 3.7 Sonnet 中得到了非常令人印象深刻的结果。我在国会图书馆找到了 1900 年的报纸页面(“伍斯特间谍”),并将 PDF 的 URL 输入到 Sonnet 中,如下所示:
llm -m claude-3.7-sonnet \ -a 'https://tile.loc.gov/storage-services/service/ndnp/mb/batch_mb_gaia_ver02/data/sn86086481/0051717161A/1900012901/0296.pdf' \ 'transcribe all text from this image, formatted as markdown'
我没有检查每句话,但它似乎做得很好,成本为 16 美分。
作为另一个实验,我尝试根据我今天早上发布的模式功能中的示例people
模板运行它:
llm -m claude-3.7-sonnet \ -a 'https://tile.loc.gov/storage-services/service/ndnp/mb/batch_mb_gaia_ver02/data/sn86086481/0051717161A/1900012901/0296.pdf' \ -t people
这只给了我两个结果– 所以我尝试了另一种方法,通过同一模板循环 OCR 文本,使用llm logs --cid
和记录的对话 ID 和-r
从日志中提取原始响应:
llm logs --cid 01jn7h45x2dafa34zk30z7ayfy -r | \ llm -t people -m claude-3.7-sonnet
…效果非常好!结果一开始是这样的:
{ “项目” : [ { “姓名” : “ WR 阿伯克龙比上尉” , “组织” : “美国陆军” , "role" : "铜河探险队指挥官" , "learn" : "报道了阿拉斯加科珀河沿岸的恐怖事件,包括饥饿、坏血病和精神疾病,影响了 70% 的人。他的任务是规划一条跨阿拉斯加的军事路线并评估资源。 " , "article_headline" : "非常痛苦" , “文章日期” : “ 1900-01-28 ” }, { “姓名” : “爱德华·吉列” , 「组织」 : 「铜河探险」 , "role" : "探险队成员" , "learned" : "为阿伯克龙比关于在库珀河谷建立铁路路线的可行性的报告贡献了一章,并将其与西雅图到斯卡圭的路线进行了比较。 " , "article_headline" : "非常痛苦" , “文章日期” : “ 1900-01-28 ” }
标签: LLM 、人类、生成人工智能、项目、人工智能、 LLMS
原文: https://simonwillison.net/2025/Mar/1/llm-anthropic/#atom-everything