章节 01
导读 / 主楼:LLM CLI 工具:让命令行成为大语言模型的统一入口
Simon Willison 开发的 llm 是一个开源命令行工具,让用户能够从终端直接与各种大语言模型交互。它支持 OpenAI、Anthropic、本地模型等多种后端,提供简洁统一的接口,并具备提示词模板、对话历史、模型切换等实用功能。
正文
Simon Willison 开发的 llm 是一个开源命令行工具,让用户能够从终端直接与各种大语言模型交互。它支持 OpenAI、Anthropic、本地模型等多种后端,提供简洁统一的接口,并具备提示词模板、对话历史、模型切换等实用功能。
章节 01
Simon Willison 开发的 llm 是一个开源命令行工具,让用户能够从终端直接与各种大语言模型交互。它支持 OpenAI、Anthropic、本地模型等多种后端,提供简洁统一的接口,并具备提示词模板、对话历史、模型切换等实用功能。
章节 02
随着大语言模型(LLM)的爆发式发展,开发者们每天都要在不同的平台、API 和界面之间切换:ChatGPT 的网页版、Claude 的控制台、本地的 Ollama 服务……这种碎片化的体验不仅效率低下,还难以自动化和集成到现有的工作流中。
命令行作为开发者最熟悉的环境,天然适合成为 LLM 的统一入口。Simon Willison 开发的 llm 工具正是为了解决这一问题而生。它让开发者能够在熟悉的终端环境中,以一致的方式调用各种大语言模型,无论是云端 API 还是本地部署的模型。
章节 03
llm 是一个开源的 Python 命令行工具,由 Datasette 和 Django 的创建者 Simon Willison 开发。它的核心设计理念是统一接口——无论底层是 OpenAI 的 GPT-4、Anthropic 的 Claude、Google 的 Gemini,还是本地运行的 Llama 模型,用户都使用相同的命令格式与之交互。
这个项目的诞生源于 Willison 个人的工作需求。作为一位活跃的开发者和技术写作者,他需要在日常工作中频繁调用 LLM 来完成各种任务:代码审查、文档生成、数据转换、快速原型等。现有的解决方案要么过于复杂,要么局限于特定模型,因此他决定打造一个简单、灵活、可扩展的工具。
章节 04
llm 的命令设计遵循 Unix 哲学:做一件事,并做好它。最基本的用法只需一行命令:
llm "解释什么是递归"
或者通过管道传递输入:
cat code.py | llm "找出这段代码中的潜在问题"
这种设计让 llm 可以无缝集成到 shell 脚本、Makefile、Git hooks 等现有工具链中。
章节 05
llm 的真正强大之处在于其插件架构。通过安装不同的插件,用户可以连接到:
切换模型只需指定模型名称或别名,无需修改调用方式:
llm -m gpt-4 "总结这篇文章"
llm -m claude-3-opus "总结这篇文章"
llm -m llama3 "总结这篇文章"
章节 06
对于重复性任务,llm 提供了模板功能。用户可以预先定义常用的提示词模板,然后通过简短的命令调用:
llm -t explain-code code.py
llm -t review-pr < diff.txt
模板支持变量插值,可以根据需要动态填充内容。这使得团队可以建立标准化的 LLM 工作流,确保提示词的一致性和质量。
章节 07
llm 支持多轮对话,通过 --continue 参数可以在之前的对话基础上继续交流。所有对话历史都被保存,用户可以随时查看、恢复或导出之前的会话。
此外,llm 还提供了日志功能,自动记录所有交互,方便审计和复盘。这对于需要追踪 AI 辅助决策过程的场景尤为重要。
章节 08
安装 llm 非常简单,使用 pip 即可:
pip install llm
安装完成后,需要配置 API 密钥。llm 支持从环境变量或配置文件读取密钥,遵循安全最佳实践:
llm keys set openai
llm keys set anthropic
对于本地模型,可以安装 llm-llama-cpp 或 llm-ollama 等插件,无需 API 密钥即可使用。