Repolode
ahyatt

ahyatt/llm

一个 Emacs Lisp 库,为 elisp 代码提供统一接口,可对接 OpenAI、Claude、Gemini、本地 Ollama 等多种大模型。

Star
394
Fork
44
未关闭 Issue
10
最近提交
前天

这是什么?

llm 是一个 Emacs 库,让 elisp 应用通过统一接口调用大语言模型,终端用户可以自由选择付费云端 API 或本地运行的模型。通过 make-llm-openai、make-llm-claude、make-llm-gemini、make-llm-ollama 等构造函数创建 provider,上层代码只需调用通用函数即可。

该库支持同步、异步和流式对话,支持图片等多媒体输入,支持工具调用(由 LLM 选择 elisp 函数并提供参数),也支持用于语义检索的文本向量化。此外还提供提示词构建、JSON Schema 结构化输出、token 计数以及若干决策辅助函数。某个 provider 不支持的功能会抛出 not-implemented 信号,调用方可先检查 llm-capabilities。

它面向希望让自己的工具兼容任意模型的 Emacs 包开发者,已被 ellama、magit-gptcommit、ekg 等项目使用。

核心功能

  • 01统一接口对接 OpenAI、Claude、Gemini、Ollama、DeepSeek 等多家 provider
  • 02支持同步、异步和流式对话响应
  • 03工具调用:LLM 可选择并调用 elisp 函数
  • 04支持图片等多媒体输入
  • 05提供文本向量化,用于语义相似度检索
  • 06支持按 JSON Schema 约束输出结构

适用场景

  • 为 Emacs 插件加入 AI 对话或文本处理功能,同时不绑定单一供应商
  • 让 Emacs 用户通过 Ollama 或 llama.cpp 使用免费本地模型,代码无需改动
  • 在 Emacs 工作流中生成提交信息或文本摘要
  • 基于向量化结果为笔记构建语义搜索

快速上手

  1. 1

    从 MELPA 安装 llm 包

  2. 2

    加载提供商模块并配置提供商,例如使用你的 OpenAI 密钥

    (require 'llm-openai) (make-llm-openai :key my-openai-key)

使用前须知

  • 使用 OpenAI、Claude、Gemini 等付费云服务需要 API 密钥,或需要本地运行 Ollama 等服务。
  • 部分提供商功能有限,例如 GPT4All 不支持嵌入功能,Azure OpenAI 也不支持工具调用。

收录于专题

标签

常见问题

llm 是什么?
一个 Emacs Lisp 库,为 elisp 代码提供统一接口,可对接 OpenAI、Claude、Gemini、本地 Ollama 等多种大模型。 llm 是一个 Emacs 库,让 elisp 应用通过统一接口调用大语言模型,终端用户可以自由选择付费云端 API 或本地运行的模型。通过 make-llm-openai、make-llm-claude、make-llm-gemini、make-llm-ollama 等构造函数创建 provider,上层代码只需调用通用函数即可。
llm 可以免费使用吗?用的什么许可证?
llm 以 GPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
llm 还在维护吗?
活跃维护中。llm 最近一次提交是在 2026年11月5日。
llm 适合用来做什么?
为 Emacs 插件加入 AI 对话或文本处理功能,同时不绑定单一供应商 让 Emacs 用户通过 Ollama 或 llama.cpp 使用免费本地模型,代码无需改动 在 Emacs 工作流中生成提交信息或文本摘要 基于向量化结果为笔记构建语义搜索
llm 怎么安装和运行?
从 MELPA 安装 llm 包 加载提供商模块并配置提供商,例如使用你的 OpenAI 密钥: (require 'llm-openai) (make-llm-openai :key my-openai-key)
在哪里获取 llm?
源代码和安装说明在 GitHub 上:https://github.com/ahyatt/llm

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目