SuperAPI AI 工具集

llm

LLM 是一个命令行工具和 Python 库,用于与大型语言模型交互,既支持通过远程 API 调用(如 OpenAI、Anthropic Claude、Google Gemini、Qwen、Gemma、Kimi、DeepSeek、Mistral 等),也支持安装并运行在本机上的模型。可通过 pip、Homebrew、pipx 或 uv 安装。主要能力包括:在命令行运行提示词、将提示词与响应存入 SQLite、生成与存储嵌入(embeddings)、从文本和图像中提取结构化内容、赋予模型执行工具(tools)的能力等。支持插件机制,可扩展本地模型(如 Ollama)、新嵌入模型、模板加载器、片段加载器等,并可通过 llm chat 启动交互式对话。

访问官网

工具介绍

LLM 是一个命令行工具和 Python 库,用于与大型语言模型交互,支持通过远程 API 调用模型,也支持在本机安装并运行模型。它可对接 OpenAI、Anthropic Claude、Google Gemini、Qwen、Gemma、Kimi、DeepSeek、Mistral 以及数十种其他大型语言模型。

用途

LLM 面向希望在命令行或 Python 程序中直接使用大语言模型的开发者与用户,覆盖远程 API 模型和本地运行模型两类场景。

主要能力

  • 从命令行运行提示词。
  • 将提示词与响应存储到 SQLite。
  • 生成并存储嵌入(embeddings)。
  • 从文本和图像中提取结构化内容。
  • 授予模型执行工具(tools)的能力。
  • 支持 JSON 输出、模式(schemas)、片段(fragments)、继续对话、补全提示等。
  • 可通过 llm chat 启动交互式聊天。
  • 支持模型别名、默认选项配置。
  • 支持通过插件扩展:本地模型、远程 API、工具、片段与模板加载器、嵌入模型、额外命令等。
  • 提供 Python API,支持基本提示执行、系统提示、附件、工具、模式、片段、模型选项、API 密钥传递、插件模型、访问底层 JSON、token 使用、流式响应、结构化消息与流式事件、异步模型、对话(含工具使用)、模型列表等。
  • 支持将日志写入 SQLite,并可通过 Datasette 浏览日志、搜索、过滤(按 ID、模型、片段、工具)、备份数据库,以及查询消息存储。

使用方式

安装:使用 pip 或 Homebrew 或 pipx 或 uv。例如通过 pip 安装,或通过 Homebrew 安装(见警告说明)。也可使用 uvx 在不安装 LLM 的情况下运行。

运行提示词:可以针对任意兼容 OpenAI Chat Completions 的端点(如 LM Studio)运行提示词或开始聊天。使用 uvx 时无需先安装 LLM。若端点需要认证,添加 --key your-api-key。更多选项参见“Run against an endpoint without configuring it”。

若已有 OpenAI API 密钥,可直接运行。针对 Gemini 或 Anthropic,需使用对应插件。也可安装插件访问可在本地设备运行的模型,例如使用 Ollama。

启动交互式聊天:使用 llm chat。

插件安装:支持安装插件,列出已安装插件,使用插件子集运行。插件目录可包含本地模型、远程 API、工具、片段与模板加载器、嵌入模型、额外命令等。插件钩子包括 register_commands(cli)、register_models(register, model_aliases)、register_embedding_models(register)、register_tools(register)、register_template_loaders(register)、register_fragment_loaders(register)。

开发模型插件:包括初始结构、安装试用、构建 Markov 链、执行 Markov 链、加入插件、理解 execute()、提示词与响应记录到数据库、添加选项、分发插件(GitHub 仓库、发布到 PyPI、添加元数据)、故障处理。高级模型插件涉及惰性加载昂贵依赖、接受 API 密钥的模型、异步模型、不支持对话的模型、支持模式、支持工具、支持服务端工具、多模态模型附件、结构化消息与流式事件、使用 json_replacements 压缩日志负载、在 build_messages 中消费 prompt.messages、在后续请求中恢复不透明元数据、追踪 token 使用、追踪解析后的模型名称、LLM_RAISE_ERRORS。插件工具函数包括 llm.get_key()、llm.user_dir()、llm.ModelError、Response.fake()。

Python API:支持基本提示执行、系统提示、附件、工具、模式、片段、模型选项、传递 API 密钥、插件模型、访问底层 JSON、token 使用、流式响应、结构化消息与流式事件、异步模型(AsyncResponse,工具函数可同步或异步,异步模型的工具使用)、对话(含工具使用)、列出模型、响应完成后运行代码。其他函数包括 set_alias(alias, model_id)、remove_alias(alias)、set_default_model(alias)、get_default_model()、set_default_embedding_model(alias) 和 get_default_embedding_model()。

嵌入(Embeddings):命令行嵌入包括 llm embed、llm embed-multi、llm similar、llm embed-models、llm collections list、llm collections delete。也可从 Python 使用嵌入、处理集合、检索相似项、查看 SQL 模式、编写插件添加新嵌入模型(EmbeddingModel、嵌入二进制内容、嵌入存储格式)。

模板(Templates):支持 --save 入门、使用模板、列出可用模板、以 YAML 文件作为模板、系统提示、片段、选项、工具、模式、附加模板变量、指定默认参数、配置代码提取、为模板设置默认模型、来自插件的模板加载器。

片段(Fragments):在提示词中使用片段、在聊天中使用片段、浏览片段、为片段设置别名、在日志中查看片段、使用来自插件的片段、列出可用片段前缀。

模型别名:列出别名、添加新别名、删除别名、查看别名文件。

配置:设置自定义默认模型、设置自定义目录位置、开启或关闭 SQLite 日志记录。

日志到 SQLite:查看日志(-s/--short 模式)、对话日志、搜索日志、按特定 ID 之后过滤、按模型过滤、按使用特定片段的提示词过滤、按使用特定工具的提示词过滤、浏览使用模式收集的数据、使用 Datasette 浏览日志、备份数据库。消息存储涉及线程、轮次、消息与部分,有完整示例,内容寻址作为契约,分叉与共享历史,按引用存储,原始提供商负载,逐表说明,从 Python 记录日志,SQL 模式。

适用场景

  • 在终端中快速调用大语言模型进行提示词实验。
  • 需要将提示词、响应、嵌入持久化到 SQLite 并进行检索与分析的场景。
  • 需要从文本或图像提取结构化数据的任务。
  • 需要为模型提供工具调用能力的场景。
  • 需要在本地运行模型(如通过 Ollama)或对接兼容 OpenAI 的本地端点(如 LM Studio)的场景。
  • 需要通过插件扩展模型、工具、模板、片段、嵌入等能力的开发场景。

限制

资料未提供 LLM 自身的收费、价格或付费方案信息。具体支持哪些模型、插件与功能的完整列表,以及各功能的具体操作细节,需参考官方文档与发布说明。资料未提供平台兼容性、性能或效果方面的具体说明。