Repolode
ahyatt

ahyatt/llm

OpenAI、Claude、Gemini、ローカルのOllamaなど、複数のLLMプロバイダーをelispコードから共通のインターフェースで利用できるEmacs Lispライブラリです。

スター
394
フォーク
44
未解決の Issue
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などのパッケージで利用されています。

主な機能

  • 01OpenAI、Claude、Gemini、Ollama、DeepSeekなど、複数プロバイダーで使える統一API
  • 02同期・非同期・ストリーミング形式のチャット応答
  • 03LLMが指定した引数でelisp関数を呼び出せるツール利用
  • 04チャットでの画像などのメディア入力
  • 05セマンティック類似検索用のテキスト埋め込み
  • 06JSON Schemaで制約した出力

ユースケース

  • 特定のベンダーにユーザーを縛らず、EmacsパッケージにAIチャットやテキスト変換機能を追加する
  • 同じコードで、Ollamaやllama.cppを使って無料のローカルモデルを実行する
  • Emacsのワークフロー内でコミットメッセージや要約を生成する
  • 埋め込みを使ってノートのセマンティック検索を構築する

クイックスタート

  1. 1

    MELPAからllmパッケージをインストールします

  2. 2

    プロバイダーモジュールをrequireし、たとえばキーを使ってOpenAIなどのプロバイダーを設定します

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

使う前に知っておきたいこと

  • OpenAI、Claude、Geminiなどの有料クラウドプロバイダーを使うにはAPIキーが必要です。Ollamaなど、ローカルで実行するサーバーを利用することもできます。
  • GPT4AllやAzure OpenAIなど、一部のプロバイダーは機能に制限があります。たとえば、埋め込みやツールの使用に対応していない場合があります。

収録されている特集

トピック

よくある質問

llm とは?
OpenAI、Claude、Gemini、ローカルのOllamaなど、複数のLLMプロバイダーをelispコードから共通のインターフェースで利用できるEmacs Lispライブラリです。 llmパッケージを使うと、Emacsアプリケーションから単一の抽象化レイヤーを通じて大規模言語モデルを呼び出せます。エンドユーザーは、有料のクラウドAPIでもローカルで動かすモデルでも、好みのプロバイダーを選べます。make-llm-openai、make-llm-claude、make-llm-gemini、make-llm-ollamaなどのコンストラクターでプロバイダーを作成し、クライアントコードはすべてのプロバイダーで同じように動作する汎用関数を使います。
llm は無料で使えますか?ライセンスは?
llm は GPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
llm は今もメンテナンスされていますか?
活発にメンテナンス中。llm の最終コミットは 2026年11月5日 です。
llm は何に使えますか?
特定のベンダーにユーザーを縛らず、EmacsパッケージにAIチャットやテキスト変換機能を追加する 同じコードで、Ollamaやllama.cppを使って無料のローカルモデルを実行する Emacsのワークフロー内でコミットメッセージや要約を生成する 埋め込みを使ってノートのセマンティック検索を構築する
llm のインストール方法は?
MELPAからllmパッケージをインストールします プロバイダーモジュールをrequireし、たとえばキーを使ってOpenAIなどのプロバイダーを設定します: (require 'llm-openai) (make-llm-openai :key my-openai-key)
llm はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/ahyatt/llm

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト