simonw/llm
Access large language models from the command-line
解決する課題
LLMは、多種多様な大規模言語モデル(LLM)と対話するための統一されたコマンドラインインターフェース(CLI)とPythonライブラリを提供します。これにより、リモートモデル(OpenAI、Claude、Geminiなど)やローカルモデル(Ollamaなどを介して実行されるもの)に対して、複数の異なるAPIや個別のツールを使用する必要がなくなり、プロンプト、キー、応答を一箇所で管理できます。
仕組み
このツールは、さまざまなLLMプロバイダーに対するラッパーとして機能します。プラグインシステムを使用して異なるモデルのサポートを拡張し、特定のAPIやローカルランナー用のプラグインをインストールできます。APIキーを安全に管理し、プロンプトと応答をローカルのSQLiteデータベースに保存してログを記録できます。また、スキーマによる構造化データ抽出、ツール実行、埋め込み生成などの高度な機能もサポートしています。
対象ユーザー
開発者、データサイエンティスト、パワーユーザー向けです。ターミナルから直接LLMと対話したり、シェルスクリプトでLLMタスクを自動化したり、ボイラープレートAPIコードを書かずにPythonアプリケーションにLLM機能を統合したい方に適しています。
主な特長
- マルチモデル対応: OpenAI、Anthropic、Google、Mistral、およびOllamaやその他のOpenAI互換エンドポイントを介したローカルモデルに対応。
- ローカルログ記録: プロンプトと応答をSQLiteに自動的に保存。
- 構造化出力: スキーマを使用してテキストや画像から構造化コンテンツを抽出可能。
- 拡張性: 新しいモデル、ツール、埋め込みモデルを追加するための堅牢なプラグインアーキテクチャ。
- マルチモーダル機能: 画像、音声、ビデオに対してプロンプトを実行可能。
- ツール使用: モデルがターミナルで直接ツールを実行する機能を付与。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト