OpenAI、Claude、Ollama、DeepSeekなどのLLMをMCPサーバーに接続できるクロスプラットフォーム対応AIチャットクライアント。
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
MELPAからllmパッケージをインストールします
- 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 の数値は毎日更新されます。
関連プロジェクト
リモートおよびローカルにインストールした大規模言語モデルにプロンプトやチャットを実行できる、CLIツール兼Pythonライブラリ。
Spring AIとSpring BootでLLMや生成AIの機能を構築する方法を示す、Javaアプリケーションのサンプル集です。
Emacsを離れずに、ローカルやクラウドのLLMでチャット、テキスト編集、コード作業、エージェントループを実行できるEmacsパッケージ。