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に自動的に保存。
  • 構造化出力: スキーマを使用してテキストや画像から構造化コンテンツを抽出可能。
  • 拡張性: 新しいモデル、ツール、埋め込みモデルを追加するための堅牢なプラグインアーキテクチャ。
  • マルチモーダル機能: 画像、音声、ビデオに対してプロンプトを実行可能。
  • ツール使用: モデルがターミナルで直接ツールを実行する機能を付与。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト