ahyatt/llm
A package abstracting llm capabilities for emacs.
解决的问题
该库为 Emacs Lisp(elisp)代码与各种大语言模型(LLM)交互提供标准化接口。通过允许开发者编写兼容多个 LLM 提供商(包括付费 API 和本地安装)的应用程序,而无需为每个模型编写特定于提供者的代码,从而解决了碎片化问题。
工作原理
该库将常见的 LLM 功能抽象为通用函数。开发者基于这些通用函数编写代码,用户则配置一个「提供者」(如 OpenAI、Gemini、Claude 或 Ollama)来处理实际的 API 调用。支持功能包括:
- 聊天:同步、异步和流式响应。
- 多模态输入:支持图像和其他媒体输入。
- 工具使用:允许 LLM 调用带有特定参数的 elisp 函数。
- 嵌入:将文本转换为语义向量,用于搜索系统。
- 提示构建:从多个数据源构建提示。
适用人群
- Emacs 开发者:希望创建 AI 驱动的包(如文本转换、提交消息生成或笔记应用)的人。
- Emacs 用户:希望灵活切换不同 LLM 后端(如从付费的 OpenAI 账户切换到本地的 Ollama 实例)而无需更改已安装包的人。
主要亮点
- 广泛的提供者支持:支持 OpenAI、OpenRouter、Azure OpenAI、GitHub Models、Gemini、Vertex AI、Claude、Ollama、Deepseek 和 GPT4All 等集成。
- 灵活的执行方式:支持后台(异步)和实时(流式)响应,保持编辑器的响应性。
- 能力检测:提供
llm-capabilities以检查特定模型是否支持工具使用或推理等功能。 - 本地优先选项:对 Ollama、llama.cpp 和 GPT4All 等本地 LLM 运行器提供强力支持。
相关
- 项目
- 项目
- 项目
- 项目
- 项目