Repolode
ahyatt

ahyatt/llm

Библиотека на Emacs Lisp, которая предоставляет elisp-коду единый интерфейс к множеству LLM-провайдеров, включая OpenAI, Claude, Gemini и локальную Ollama.

Звёзды
394
Форки
44
Открытые issues
10
Последний коммит
позавчера

Что это?

Пакет llm позволяет приложениям Emacs обращаться к большим языковым моделям через единый слой абстракции, а пользователи могут сами выбирать провайдера — платный облачный API или локально запущенную модель. Провайдеров создают с помощью конструкторов, например make-llm-openai, make-llm-claude, make-llm-gemini и make-llm-ollama, а клиентский код взаимодействует с универсальными функциями, которые работают одинаково для всех провайдеров.

Библиотека поддерживает синхронный и асинхронный чат, потоковую передачу ответов, мультимодальный ввод, например изображения, вызов инструментов, при котором LLM запускает elisp-функции с выбранными ею аргументами, а также эмбеддинги для семантического поиска. Кроме того, в ней есть средства для построения промптов, генерации ответов по JSON Schema, подсчёта токенов и принятия решений. Если провайдер не поддерживает какую-либо возможность, библиотека выдаёт сигнал not-implemented; перед её использованием клиент может проверить llm-capabilities.

Библиотека предназначена для авторов пакетов Emacs, которые хотят, чтобы их инструменты работали с любой моделью. Её используют такие пакеты, как ellama, magit-gptcommit и ekg.

Ключевые возможности

  • 01Единый API для OpenAI, Claude, Gemini, Ollama, DeepSeek и других провайдеров
  • 02Синхронные и асинхронные ответы в чате, а также потоковая передача ответов
  • 03Вызов инструментов: LLM может запускать elisp-функции с заданными ею аргументами
  • 04Ввод изображений и других медиа в чат
  • 05Текстовые эмбеддинги для семантического поиска по сходству
  • 06Ответы, ограниченные схемой JSON

Сценарии использования

  • Добавление в пакет Emacs функций AI-чата или преобразования текста без привязки пользователей к одному поставщику
  • Запуск бесплатной локальной модели через Ollama или llama.cpp с использованием того же кода
  • Генерация сообщений коммитов или сводок прямо в рабочих процессах Emacs
  • Построение семантического поиска по заметкам с помощью эмбеддингов

Быстрый старт

  1. 1

    Установите пакет llm из MELPA

  2. 2

    Подключите модуль провайдера с помощью require и настройте провайдера, например OpenAI, указав свой ключ

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

Что важно знать

  • Для платных облачных провайдеров, таких как OpenAI, Claude и Gemini, требуется API-ключ. Также можно использовать локально запущенный сервер, например Ollama.
  • У некоторых провайдеров доступны не все функции. Например, GPT4All и Azure OpenAI не всегда поддерживают эмбеддинги и использование инструментов.

В подборках

Темы

Частые вопросы

Что такое llm?
Библиотека на Emacs Lisp, которая предоставляет elisp-коду единый интерфейс к множеству LLM-провайдеров, включая OpenAI, Claude, Gemini и локальную Ollama. Пакет llm позволяет приложениям Emacs обращаться к большим языковым моделям через единый слой абстракции, а пользователи могут сами выбирать провайдера — платный облачный API или локально запущенную модель. Провайдеров создают с помощью конструкторов, например make-llm-openai, make-llm-claude, make-llm-gemini и make-llm-ollama, а клиентский код взаимодействует с универсальными функциями, которые работают одинаково для всех провайдеров.
llm можно использовать бесплатно? Какая у него лицензия?
llm распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
llm всё ещё поддерживается?
Активно поддерживается. Последний коммит в llm — 5 нояб. 2026 г..
Для чего можно использовать llm?
Добавление в пакет Emacs функций AI-чата или преобразования текста без привязки пользователей к одному поставщику Запуск бесплатной локальной модели через Ollama или llama.cpp с использованием того же кода Генерация сообщений коммитов или сводок прямо в рабочих процессах Emacs Построение семантического поиска по заметкам с помощью эмбеддингов
Как установить llm?
Установите пакет llm из MELPA Подключите модуль провайдера с помощью require и настройте провайдера, например OpenAI, указав свой ключ: (require 'llm-openai) (make-llm-openai :key my-openai-key)
Где скачать llm?
Исходный код и инструкции по установке — на GitHub: https://github.com/ahyatt/llm

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Пакет для Emacs, который позволяет работать с локальными и облачными LLM в чате, редактировать текст, решать задачи с кодом и запускать циклы агента, не выходя из редактора.

96466Emacs LispGPL-3.0Активно поддерживаетсяОбновлён в прошлом месяце