simonw/llm
Access large language models from the command-line
解決する課題
LLMは、多種多様な大型言語モデル(LLM)と対話するための統一されたコマンドラインインターフェース(CLI)およびPythonライブラリを提供します。これにより、リモートモデル(OpenAI、Claude、Geminiなど)とローカルモデル(Ollama経由で実行されるものなど)に対して、複数の異なるAPIや個別のツールを使用する必要がなくなり、ユーザーはプロンプト、キー、およびレスポンスを一箇所で管理できるようになります。
仕組み
このツールは、さまざまなLLMプロバイダーのラッパーとして機能します。ユーザーはプラグインをインストールして異なるモデルへのサポートを追加したり、組み込みのキーストアを介してAPIキーを管理したり、ターミナルから直接プロンプトを実行したりできます。SQLiteを使用してプロンプトとレスポンスをログに記録し、対話の永続的な履歴を提供します。また、スキーマを使用した構造化データの抽出、ツールの実行、および埋め込み(embeddings)の生成と保存などの高度な機能もサポートしています。
対象ユーザー
ターミナルから複数のAIモデルと対話したい開発者、データサイエンティスト、パワーユーザー、またはシェルスクリプトを介してLLMタスクを自動化したい方、あるいはボイラープレートとなるAPIコードを書かずにPythonアプリケーションにLLM機能を統合したい方に適しています。
ハイライト
- マルチモデル対応: プラグインを介して、OpenAI、Anthropic、Google、Mistral、およびローカルモデルに対応しています。
- llm chat: 継続的な会話のためのインタラクティブなチャットモード。
- SQLiteロギング: プロンプトとレスポンスを自動的に保存し、後で取得可能にします。
- 構造化抽出: スキーマを使用して、テキストや画像から構造化されたコンテンツを抽出します。
- 埋め込みサポート: 類似性検索のための埋め込みを生成・保存するツール。
- 拡張性: プラグインシステムにより、新しいモデル、ツール、テンプレートローダーの追加が可能です。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト