ellama  by s-kostyaev

Emacs tool for interacting with LLMs

created 1 year ago
827 stars

Top 43.8% on sourcepulse

GitHubView on GitHub
Project Summary

Ellama is an Emacs package for interacting with Large Language Models (LLMs), designed for Emacs users who want to leverage AI capabilities directly within their editor. It provides a comprehensive interface for tasks like translation, summarization, code review, and text generation, with a focus on seamless integration and user experience.

How It Works

Ellama acts as a client for LLM providers, with a default integration for ollama. It supports streaming output for real-time responses and offers extensive customization through Emacs Lisp. Users can configure specific LLMs for different tasks (chat, summarization, coding), manage context, and define custom keybindings or use its transient menu system. The package also includes advanced features like "Abstraction of Thought" for improved reasoning and blueprinting for structured prompt management.

Quick Start & Requirements

  • Install via Emacs package managers (MELPA, GNU ELPA): M-x package-install ellama
  • Requires ollama to be installed and a model pulled (e.g., ollama pull qwen2.5:3b).
  • See official documentation for detailed configuration.

Highlighted Details

  • Natively supports streaming LLM output within Emacs.
  • Extensive configuration options for various LLM providers and task-specific models.
  • Advanced context management for providing background information to LLMs.
  • Blueprint system for creating and managing reusable prompt templates.
  • Supports specialized reasoning techniques like "Abstraction of Thought".

Maintenance & Community

  • Developed by s-kostyaev.
  • Acknowledges contributions from Jeffrey Morgan (ollama), zweifisch (ollama.el), David-Kunz (gen.nvim), and Andrew Hyatt (llm library).
  • Part of GNU ELPA, indicating adherence to GNU standards.

Licensing & Compatibility

  • Licensed under the GNU Free Documentation License (GFDL) v1.3.
  • GFDL is a copyleft license, requiring derivative works to be shared under the same terms. Compatibility with closed-source linking may be restricted.

Limitations & Caveats

  • Primarily designed for Emacs users.
  • Relies on external LLM backends like ollama, requiring separate installation and model management.
  • GFDL license may have implications for commercial use or integration into proprietary software.
Health Check
Last commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
2
Star History
65 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.